Подсветка синтаксиса Geany для моего DSL

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


person msn    schedule 07.03.2015    source источник


Ответы (1)


Настоящего ответа нет, так как это зависит от вас и вашего определения языка, подходит ли синтаксис C или нет;)

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

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

person frlan    schedule 08.03.2015