2016-09-01 4 views
0

Я пишу плагин IntelliJ, который должен распознавать код двигателя ритма в .html-файлах. Rythm - это механизм шаблонов, синтаксис начинается с @Плагин Rythm Engine для IntelliJ

Я уже сделал учебник по языковым плагинам из документа 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?

Редактировать 2: HTML форматирование работает. Теперь мне нужно немного помочь с форматированием ритмов. Я думаю, что что-то не так с моим .bnf-файлом.

+0

Итак, вы реализовать IntelliJ Idea плагин? Если да, можно ли это увидеть где-нибудь (как исходный код или скомпилированный)? –

+0

Конечно, вы можете найти исходный код на GitHub: https://github.com/scireum-incubator/rythm_plugin – MrWhite

ответ

3

Как мы пропустили RYTHM поддержку шаблона двигатель в IntelliJ мы работали над плагин, который теперь поддерживает:

  • подсветка синтаксис
  • скобка согласовань завершение
  • кода для основных ключевых слов ритма (например @import, ...)
  • и HTML форматирование (автоформатирование в IntelliJ больше не будут разрушать шаблоны)

Это не реактивный самолет, доступный в реплике плагинов Jetbrains (но будет в ближайшем будущем), но вы можете просто загрузить банку и установить плагин с диска.

Кроме того, его с открытым исходным кодом: Rythm Engine Detector R.E.D GitHub