IntelliJ的Rythm Engine插件

时间:2016-09-01 10:48:18

标签: intellij-idea template-engine intellij-plugin rythm

我正在编写一个IntelliJ插件,它应该识别.html文件中的rythm引擎代码。 Rythm是一个模板引擎,语法以@

开头

我已经完成了JetBrains doc的自定义语言插件教程。

到目前为止,我的语法突出显示部分为rythm工作。 如果我将下面的代码复制并粘贴到.rythm文件中,那么一切都会得到很好的认可。但是HTML不会被识别出来。

我尝试从IntelliLang插件中进行语言注入,但现在它只识别HTML标记之间的节奏代码。

在这个例子中,@ i18n和@something将被识别为rythm。但@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 个答案:

答案 0 :(得分:3)

由于我们还错过了IntelliJ中的Rythm模板引擎支持,我们开发了一个现在支持的插件:

  • 语法高亮显示
  • 大括号匹配
  • 基本节奏关键字的代码完成(例如@import,...)
  • 和HTML格式化(IntelliJ中的自动格式化将不再销毁模板)

它在Jetbrains插件仓库中没有喷射(但将在不久的将来),但你可以下载jar并从磁盘安装插件。

也是它的开源:Rythm Engine Detector R.E.D GitHub