Кто-либо знает об Объективной-J подсветке синтаксиса в vi?

NullPointerException s - исключения, возникающие при попытке использовать ссылку, которая указывает на отсутствие местоположения в памяти (null), как если бы она ссылалась на объект. Вызов метода по нулевой ссылке или попытка получить доступ к полю нулевой ссылки вызовет функцию NullPointerException. Они наиболее распространены, но другие способы перечислены на странице NullPointerException javadoc.

Вероятно, самый быстрый пример кода, который я мог бы придумать для иллюстрации NullPointerException, be:

public class Example {

    public static void main(String[] args) {
        Object obj = null;
        obj.hashCode();
    }

}

В первой строке внутри main я явно устанавливаю ссылку Object obj равной null. Это означает, что у меня есть ссылка, но она не указывает на какой-либо объект. После этого я пытаюсь обработать ссылку так, как если бы она указывала на объект, вызывая метод на нем. Это приводит к NullPointerException, потому что нет кода для выполнения в местоположении, на которое указывает ссылка.

(Это техничность, но я думаю, что она упоминает: ссылка, которая указывает на null, равна 't то же, что и указатель C, указывающий на недопустимую ячейку памяти. Нулевой указатель буквально не указывает на в любом месте , который отличается от указаний на местоположение, которое оказывается недопустимым.)

10
задан Ned Batchelder 12 November 2008 в 14:29
поделиться

3 ответа

Объективный-J пакет Инструментов (http://cappuccino.org/download) и источник на GitHub теперь включает модуль выделения энергии.

7
ответ дан 3 December 2019 в 17:22
поделиться

источник на GitHub теперь включает модуль выделения энергии.

Я нашел просто выполнение, что предлагается, вот недостаточно:

  • загрузите файл, как Francisco предполагает

  • разархивируйте, cd Tools/ dir

  • выполните оболочку, sh install-tools

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

Проблема

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

Добавьте Цель-J к gvim меню

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

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

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

  • an 50.70.465 &Syntax.Me-NO.Objective\ J :cal SetSyn("objj")<CR> ниже объективной-C записи.

сохраните и выйдите

  • :wq!

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

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

выделение для Вашего выбранного Объективного-J файла должно произойти.

Объективное-J автовыделение?

Но что относительно того, чтобы автовыделиться, когда Вы загружаете файл? Кажется, нет никаких ассоциаций файлов. Так:

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

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

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

Сохраните результат. Необходимо теперь смочь загрузить файл ".j" дополнительной и подсветкой синтаксиса для Объективных-J работ файлов.

Результат

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

10
ответ дан 3 December 2019 в 17:22
поделиться

Если регулярное выделение синтаксиса 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

Я не попробовал этот точный код, но сделал что-то подобное при отображении синтаксиса C# на .vala файлы на моей машине Linux. (ОТМЕТЬТЕ: javascript.vim файл мог бы быть расположен где-то в другом месте на Вашем компьютере.) Вы могли, конечно, сделать объективный-j.vim файл на основе этого javascript.vim определением синтаксиса вместо того, чтобы использовать его как есть.

1
ответ дан 3 December 2019 в 17:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: