Кто-нибудь знает подсветку синтаксиса Objective-J в vi?

Я рассматривал новую Objective-J/Cappuccino javascript framework из 280North. Они предоставляют плагины для SubEthaEdit и TextMate для обработки подсветки синтаксиса, но я в основном использую vi. Кто-нибудь знает способ получить подсветку синтаксиса Objective-J в vi или хороший способ конвертировать любой формат, используемый другими двумя редакторами?

Ответ 1

Пакет Objective-J Tools (http://cappuccino.org/download), а источник github теперь включает модуль выделения vim.

Ответ 2

источник на github теперь включает vim выделите модуль.

Я нашел, что делать то, что предлагается здесь, недостаточно:

  • загрузите файл, как предлагает Франциско

  • unzip, cd Tools/ dir

  • запустите оболочку, sh install-tools

  • скопируйте файл objj.vim в каталог vim, cp Tools/Editors/objj.vim /usr/share/vim/vim71/syntax/

Проблема

Я не нашел подсветки синтаксиса для файлов ".j" . Таким образом, проблема здесь не в распознавании расширений файлов. Если вы используете gvim, поскольку я есть, также нет элемента меню.

Добавить объект Object-J в gvim

Добавить элемент меню в gvim для Синтаксиса- > Не-MO- > Цель J:

  • sudo vim /usr/share/vim/vim71/synmenu.vim

добавьте следующую строку.

  • an 50.70.465 &Syntax.Me-NO.Objective\ J :cal SetSyn("objj")<CR> ниже objective-C.

сохранить и выйти

  • :wq!

затем перезагрузите файл .j в gvim. Если вы затем перейдете:

  • Синтаксис- > Не-MO- > Цель J

выделение выделенного объекта Objective-J должно происходить.

Автообъектив Objective-J?

Но как насчет автоматической подсветки при загрузке файла? Кажется, что нет ассоциаций файлов. Итак:

  • sudo vim /usr/share/vim/vim7.1/filetype.vim

В файле вы найдете список ассоциаций типов файлов. Если вам нужна идея, где добавить строку, найдите "setf ocaml" в файлеtyty.vim. Добавьте строку ниже (в алфавитном порядке):

  • "" Objective J au BufNewFile,BufRead *.j setf objj

Сохраните результат. Теперь вы можете загрузить файл с расширением ".j" , а подсветка синтаксиса для файлов Objective-J.

Результат

Теперь вы должны получить автоматическое распознавание файлов Objective-J по типу файла ".j" и способ установить этот тип файла в gvim. Вероятно, это должно быть добавлено Брэмом или тем, кто делает официальный выпуск vim, но на данный момент этот хак работает для меня. (Ubuntu 8.10, Vim 7.1)

Ответ 3

Вот еще один способ добавить выделение Objective J с автоматическим обнаружением файлов на (Mac) Vim, и он намного чище и короче версии bootloads (он не добавит меню в MacVim, но мне он совсем не нужен):

  • Загрузите файл objj.vim, о котором упоминал Франциско.
  • Поместите его в ~/.vim/syntax/ (при необходимости создайте папку)
  • Добавьте строку au BufNewFile,BufRead *.j setf objj в ~/.vim/filetype.vim
  • Не забудьте включить обнаружение файла в конфигурационном файле ~/.vimrc: filetype plugin on

Ответ 4

Если регулярная подсветка синтаксиса javascript достаточно хороша, вы можете сопоставить это .j файлам, добавив что-то вроде этого в ваш .vimrc файл:

   augroup objective-j
   au! BufRead,BufNewFile *.j set filetype=objective-j
   au! Syntax objective-j source /usr/share/vim/vim71/syntax/javascript.vim
   augroup END

Я не пробовал этот точный код, но сделал что-то подобное при сопоставлении синтаксиса С# с файлами .vala на моей машине Linux. (ПРИМЕЧАНИЕ. Файл javascript.vim может быть расположен где-то в другом месте на вашем компьютере.) Конечно, вы можете создать файл объектно-j.vim на основе этого определения синтаксиса javascript.vim, а не использовать его как есть.