【问题标题】:Rythm Engine plugin for IntelliJIntelliJ 的节奏引擎插件
【发布时间】:2016-09-01 10:48:18
【问题描述】:

我正在编写一个 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 文件有问题。

【问题讨论】:

  • 那么,您是否实现了您的 IntelliJ Idea 插件?如果是这样,是否有可能在某处看到它(作为源代码或编译后的)?
  • 好的,你可以在GitHub上找到源代码:github.com/scireum-incubator/rythm_plugin

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


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多