2016-09-01 2 views
0

Je suis en train d'écrire un plugin IntelliJ, qui devrait reconnaître le code du moteur rythm dans les fichiers .html. est Rythm un moteur de template une syntaxe commence par @Plugin Rythm Engine pour IntelliJ

Je l'ai déjà fait le tutoriel plugin langue personnalisée à partir du JetBrains doc.

Jusqu'à présent, Syntax Highlighting fonctionnait partiellement pour le rythme. Si je voudrais copier et coller le code ci-dessous dans un fichier .rythm tout serait bien reconnu. Mais alors le HTML ne serait pas reconnu.

J'ai essayé l'injection de langue à partir du plugin IntelliLang mais maintenant il ne reconnaît le code rythmique qu'entre les balises HTML.

Dans cet exemple, @ i18n et @quelque chose seraient reconnus comme rythm. Mais @rythmCode n'est toujours pas mis en surbrillance.

Des idées comment je peux le faire fonctionner même si @rythmCode est en dehors des balises 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">` 

modifier:

Enfin, il fonctionne. Maintenant, je veux implémenter un formateur. Comment puis-je implémenter un formateur HTML pour la partie HTML et un formateur Rythm pour la partie Rythm?

éditer 2: Le formatage HTML fonctionne. Maintenant, j'ai besoin d'un peu d'aide pour le formatage du rythme. Je pense que quelque chose ne va pas avec mon fichier .bnf.

+0

Alors, avez-vous mettre en œuvre votre plugin IntelliJ Idea? Si oui, est-il possible de le voir quelque part (comme code source ou compilé)? –

+0

Bien sûr, vous pouvez trouver le code source sur GitHub: https://github.com/scireum-incubator/rythm_plugin – MrWhite

Répondre

3

Comme nous avons manqué aussi un support moteur modèle Rythm dans IntelliJ nous avons travaillé sur un plugin qui supporte maintenant:

  • coloration syntaxique
  • accolade matcher
  • complétion de code
  • des mots-clés rythm de base (par exemple @import, ...)
  • et la mise en forme HTML (autoformatage dans IntelliJ ne sera plus détruire les modèles)

Son jet n'est pas disponible dans le repo du plugin Jetbrains (mais le sera dans un proche avenir) mais vous pouvez simplement télécharger le pot et installer le plugin à partir du disque.

également sa open source: Rythm Engine Detector R.E.D GitHub