Плагин Rythm Engine для IntelliJ
Я пишу плагин IntelliJ, который должен распознавать код движка ритма в файлах.html. Rythm - это шаблонизатор, синтаксис которого начинается с @
Я уже сделал учебное пособие по пользовательскому языку из документа JetBrains.
Пока что у меня есть синтаксическая подсветка, частично работающая на ритм. Если бы я скопировал и вставил приведенный ниже код в файл.rythm, все было бы хорошо узнаваемо. Но тогда HTML не будет распознан.
Я пробовал внедрение языка из плагина IntelliLang, но теперь он распознает ритм-код только между тегами HTML.
В этом примере @i18n и @something будут распознаваться как ритм. Но @rythmCode все еще не выделен.
Любые идеи, как я могу заставить его работать, даже если @rythmCode находится вне тегов HTML?
@rythmCode {
<li>
<a href="/xxx">@i18n("xxx")</a>
</li>
<li>
<a href="/xxx/@something.getSomething()">@something.getSomething():@something.getSomething()</a>
</li>
}
@rythmCode() {
<div class="row">
<div class="col-md-6 word-wrap">
@something.getSomething(): @something.getSomething()
</div>
<div class="col-md-6 align-right">`
редактировать:
Наконец-то это работает. Теперь я хочу реализовать форматтер. Как реализовать средство форматирования HTML для части HTML и средство форматирования Rythm для части Rythm?
редактировать 2: HTML форматер работает. Теперь мне нужно немного помочь с форматированием Rythm. Я думаю, что-то не так с моим файлом.bnf.
1 ответ
Поскольку мы также пропустили поддержку движка шаблонов Rythm в IntelliJ, мы работали над плагином, который теперь поддерживает:
- подсветка синтаксиса
- скобка соответствия
- завершение кода для основных ключевых слов ритма (например, @import,...)
- и форматирование HTML (автоформатирование в IntelliJ больше не будет уничтожать шаблоны)
Его нет в наличии в репозитории плагинов Jetbrains (но будет в ближайшем будущем), но вы можете просто скачать jar и установить плагин с диска.
Также его с открытым исходным кодом: Rythm Engine Detector RED GitHub