Я пытаюсь написать новый режим emacs для нового шаблонного языка, подобного C, который я должен использовать для некоторых академических исследований.
Я хочу, чтобы код был окрашен и с отступом, как в c-режиме, со следующими исключениями:
- «%» используется не как оператор, а как первый символ в некоторых определенных ключевых словах (например: «%p», «%action» и т. д.).
- Строки кода не заканчиваются точкой с запятой.
Можно ли создать производный режим (из c-mode) и настроить его так, чтобы он игнорировал первоначальные цели «%» и «;»? Можно ли заставить функцию «автоматического отступа после нажатия RET» работать без «;»?
Существуют ли похожие режимы для похожих языков (с скобками '{}', но без точек с запятой), которые я мог бы попробовать исправить?
Должен ли я попытаться написать основной режим с нуля?
Я подумал об исправлении R-режима с сайта http://ess.r-project.org/, но этот режим не поддерживает комментарии вида "/* комментарий */".
Самая важная функция, которую я ищу, — это отступ в скобках, то есть отступ кода внутри блока «{}» после нажатия RET (и без дополнительного отступа после строк, которые не заканчиваются на «;»). Частичные решения тоже помогут.