Как скомпилировать CoffeeScript точно в срок в vim? - PullRequest
2 голосов
/ 07 февраля 2012

Я могу легко всплить окно vim на две части (слева и справа).

Как настроить vim для:

  • редактировать CoffeeScript в левом окне
  • просмотреть скомпилированный результат JavaScript в правом окне
  • просмотреть сообщение об ошибке в строке состояния

Когда я печатаю в левом окне, правое окно и строка состояния должны обновить JIT.

Например:

========================================================================
alert "hello"                | alert("hello");
alert "world                 | alert;
                             |
========================================================================
missing ", starting on line 2

Так же, как http://coffeescript.org/ -> Try CoffeeScript.

Ответы [ 2 ]

2 голосов
/ 07 февраля 2012

Я не просто использую vim для этого, я использую комбинацию экрана GNU, подсветки источника GNU и просмотра GNU.Тем не менее, вам нужно иметь версию экрана с патчем разделения по вертикали.

После запуска screen я нажму Ctrl + A Ctrl + C чтобы создать вторую оболочку, затем используйте Ctrl + A Shift + \ для создания вертикального разделения, затем Ctrl + A Tab дляпоменяйте местами новое разделение и Ctrl + A Ctrl + A , чтобы переключить разделение на новую оболочку.В этой оболочке я запускаю:

$ mkdir compiled
$ coffee -w -c -o compiled/ *.coffee &

Это будет запускать coffee в режиме наблюдения, который просматривает исходный файл (* .coffee) или папку на предмет изменений и автоматически перекомпилирует измененные файлы * .coffee ипомещает полученные файлы .js в папку compiled.

Теперь я запусту $ watch --color -n 1 colorize compiled/main.js, чтобы отобразить содержимое интересующего меня скомпилированного файла, включив цветной вывод ANSI.

Этот файл сценария, который я назвал colorize, является просто оболочкой вокруг source-highlight, которая автоматически определяет язык исходного файла и применяет соответствующую подсветку синтаксиса.

Затем я использую Ctrl + A Ctrl + Tab , чтобы вернуться к первому разбиению, запустить vim main.coffee и начать редактирование.

Когда я редактирую файл coffeescript, отображаются скомпилированные измененияс правой стороны.

Ошибки немного сложнее, так как они выплевываются из фона coffee -w задания.Они появятся, но иногда команда watch перезаписывает ошибки, а иногда ошибки портят экран.Когда это происходит, быстрое Ctrl + L , чтобы сообщить bash о перерисовке экрана, исправляет ситуацию.

Надеюсь, что это поможет.

0 голосов
/ 27 июня 2012

vimrc config

set autoread

aug coffee
    au!
    au BufNewFile,BufRead *.coffee      setf coffee.python
    au FileType coffee.python           setl makeprg=coffee\ -c\ %
    au FileType coffee.python           setl errorformat=Error:\ In\ %f\\,\ %m\ on\ line\ %l,
                                                       \Error:\ In\ %f\\,\ Parse\ error\ on\ line\ %l:\ %m,
                                                       \SyntaxError:\ In\ %f\\,\ %m,
                                                       \%-G%.%#
    au BufWritePost *.coffee            silent! make! | copen | redraw!
aug END

Примечание. Если вам нравится JIT, попробуйте CursorHold вместо BufWritePost .

открыть файл

$ vim -O code.{coffee,js}

выполнить команду ex

:w
...