Как выделить мой собственный синтаксис в Emacs? - PullRequest
0 голосов
/ 25 июня 2018

Я занимаюсь разработкой своего собственного предметно-ориентированного языка (DSL) и расширение имени файла .xyz.

Emacs не знает, как выделить синтаксис в .xyz файлах, поэтому я включаю typescript-mode или json-mode. Но доступный режим подсветки синтаксиса не достаточно хорош для меня, поэтому я подумываю о написании собственной подсветки синтаксиса для редактора Emacs. Любые советы по этой задаче? Любая рекомендация инструментария?

В качестве альтернативы я был бы рад любому доступному режиму, в котором выделяются общие ключевые слова, такие как class, string, list, переменные до знака = и после знака @, фигурные скобки {}, скобки [], вопросительный знак ? и восклицательный знак !. Какие-нибудь существующие языки имеют похожий синтаксис?

Я не дальтоник и не требователен к цветам. Любая подсветка синтаксиса, которая выделяет синтаксис выше, может решить мою проблему.

1 Ответ

0 голосов
/ 25 июня 2018

Если вас устраивает простая подсветка синтаксиса только для ключевых слов и комментариев, для этого есть помощник по имени define-generic-mode, который описан в руководстве elisp.

Некоторые примеры его использования можно найти в generic-x.el, распространяемом с Emacs.

Но подсветка имен переменных не охватывается этим. Для этого вам нужно иметь возможность анализировать DSL с помощью semantic / bovine, поскольку интерпретация конкретной строки как имени переменной зависит от контекста, а не только от простого сопоставления с регулярным выражением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...