2016-09-01 17 views
0

私は、IntelliJプラグインを作成しています。これは、.htmlファイルのrythmエンジンコードを認識する必要があります。 Rythmはテンプレートエンジンで、構文は@Rythm Engine Plugin for IntelliJ

となっています。すでにJetBrainsのドキュメントからカスタム言語のプラグインチュートリアルを行っています。

これまでのところ、Syntax Highlightingは部分的に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ファイルで何か問題があると思う。

+0

だから、あなたはあなたのIntelliJアイデアプラグインを実装したのですか?もしそうなら、それはどこか(ソースコードとして、またはコンパイルされて)見ることができますか? –

+0

もちろん、GitHubでソースコードを見つけることができます:https://github.com/scireum-incubator/rythm_plugin – MrWhite

答えて

3

我々はまた、我々は今、サポートしているプラ​​グインで働いていたのIntelliJでリズムテンプレートエンジンのサポート逃したとして:基本的なリズムのキーワード(例えば@importため

  • ブレースマッチング
  • コード補完を強調

    • 構文を、 ...)
    • と書式設定HTML(IntelliJのでオートフォーマットは、もはやテンプレートを破壊しません)

    Jetbrainsのプラグインレポではジェットは使えませんが(近い将来になります)、jarをダウンロードしてディスクからプラグインをインストールするだけです。

    また、オープンソース:Rythm Engine Detector R.E.D GitHub