2016-09-01 3 views
0

Ich schreibe eine IntelliJ Plugin, das Rythmus Maschinencode in HTML-Dateien erkennen soll. Rythm ist eine Vorlage-Engine und die Syntax beginnt mit @Rythm-Engine Plugin für IntelliJ

Ich habe bereits die benutzerdefinierte Sprache Plugin-Tutorial aus dem JetBrains doc gemacht.

weit Also habe ich Syntax Hervorhebungen für Rythmus teilweise arbeiten. Wenn ich den Code unten in einer .rythm Datei kopieren und einfügen würde, wäre alles gut erkannt. Aber dann würde HTML nicht erkannt werden.

habe ich versucht, die Sprache Injektion aus dem IntelliLang Plugin aber jetzt erkennt er den Rythmus Code nur zwischen HTML-Tags.

In diesem Beispiel @ i18n und @something würde als Rythmus zu erkennen. Aber @rythmCode ist immer noch unmarkiert.

Irgendwelche Ideen, wie ich es kann arbeiten, auch wenn @rythmCode außerhalb von HTML-Tags ist?

@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">` 

edit:

Schließlich funktioniert es. Jetzt möchte ich einen Formatierer implementieren. Wie kann ich einen HTML-Formatierer für den HTML-Teil und einen Rythm-Formatierer für den Rythm-Teil implementieren?

bearbeiten 2: HTML-Formatierungsarbeiten. Jetzt brauche ich ein wenig Hilfe bei der Rythm-Formatierung. Ich denke, mit meiner .bnf-Datei stimmt etwas nicht.

+0

Also, haben Sie implementieren Ihre IntelliJ Idea-Plugin? Wenn ja, ist es möglich, sie irgendwo zu sehen (als Quellcode oder kompiliert)? –

+0

Sicher, Sie können den Quellcode auf GitHub finden: https://github.com/scireum-incubator/rythm_plugin – MrWhite

Antwort

3

Wie wir auch Rythm Template-Engine Unterstützung in IntelliJ verpasst wir auf einem Plugin gearbeitet, die jetzt unterstützt:

  • Syntax-Hervorhebung
  • Klammer Matcher
  • Code-Vervollständigung für grundlegenden Rythmus Schlüsselwörter (zB @import, ...)
  • und HTML-Formatierung (automatische Formatierung in IntelliJ nicht mehr Vorlagen zerstören)

Es ist nicht verfügbar im Jetbrains Plugin Repo (aber in naher Zukunft), aber Sie können einfach das JAR herunterladen und das Plugin von der Festplatte installieren.

auch seine Open-Source: Rythm Engine Detector R.E.D GitHub

Verwandte Themen