0

我正在编写一个 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 格式化程序有效。现在我需要一点关于节奏格式的帮助。我认为我的 .bnf 文件有问题。

4

1 回答 1

3

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

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

它在 Jetbrains 插件 repo 中不可用(但将在不久的将来),但您可以下载 jar 并从磁盘安装插件。

也是它的开源:Rythm Engine Detector RED GitHub

于 2017-02-03T10:28:25.567 回答