Маркер комментария внутри строки - PullRequest
0 голосов
/ 01 февраля 2011

У свиньи и т. Д. / * Начинается комментарий блока. Если я помещу это в строку регулярного выражения 'blah / blah / *', emacs думает, что это блочный комментарий, а подсветка синтаксиса идет в ад. Я не знаком с elisp, но уверен, что это проблема скрипта, который предоставляет аннотации для pig.

Как я могу это исправить?

Ответы [ 2 ]

2 голосов
/ 01 февраля 2011

phils указали на лучший спроектированный основной режим в комментариях к вопросу, но так как вы все еще любопытны: используемая версия режима pig не имеет правильной таблицы синтаксиса.Самый надежный способ для emacs распознавать комментарии и строки - это использовать таблицу синтаксиса для сопоставления символов с началом / концом комментариев и строк.Версия, которую вы используете, пытается сделать это с помощью font-lock.

0 голосов
/ 01 февраля 2011

Вы должны сбежать от э и *. Все символы, которые используются движком регулярных выражений, должны быть экранированы.

Если вы хотите сопоставить «\», вам может потребоваться написать «\\» при интерактивном использовании replace-regexp и «\\\\», если вы используете его как функцию lisp.

(в этом комментарии я даже должен был избежать побегов, поэтому в последней последовательности экранировок есть 8 побегов)

...