Плагин 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

Другие вопросы по тегам