2015-03-07 3 views
0

Для DSL, который я разработал, я хотел, чтобы Geany поддерживал его, так как он встраивал языки, такие как java и C#. Я создал filetypes.myLang.conf и добавил поля конфигурации, как в руководстве. Для зарегистрированных [настроек] я добавил: lexer_filetype = C Теперь все кажется прекрасным. Мой язык входит в список в Geany, и синтаксис подсвечивается на основе ключевых слов, определенных в primary и вторичных полей в файле конфигурации. Мой вопрос: должен ли я добавить файл lexer для моего языка или установить его так, как я сделал, это нормально. Если ответ «да», может кто-нибудь объяснить мне, как это делается. Также, что это за значение этого поля?Имея подсветку синтаксиса поддержки Geany для моего DSL

ответ

1

Там нет реального ответа, как это зависит от вас и вашего определения языка является ли нормален или нет синтаксиса C;)

Опции настройка, которая уже существующий лексер используется для типов файлов. Итак, какая магия для выделения и распознавания, например. команд и опций.

Если вы действительно хотите создать лексер с нуля или, может быть, измените уже существующий, вы можете начать читать hacking -документацию. Также я бы порекомендовал проверить Scintilla, поскольку есть некоторые lexer Geany, которые не поставляются, а также новые лексеры принимаются только тогда, когда они также идут вверх по течению (в Сцинтиллу)