Syntax Hervorhebung Werkzeug / Sprache, die mit mehreren Editoren arbeitet

8

Gibt es ein Tool, mit dem ich Syntax-Highlighting für eine bestimmte Sprache festlegen und dann Syntax-Highlighting-Dateien für einige der gebräuchlicheren Editoren generieren kann?

Ich frage, weil ich eine domänenspezifische Sprache entwickle, und ich möchte Syntax-Highlighting-Unterstützung für diese Sprache bereitstellen. Ich möchte jedoch keine separaten Syntax-Hervorhebungsdateien für jeden Editor (Vim, Notepad ++, Visual Studio usw.) schreiben.

Diese Art der Übersetzung scheint möglich, da die Kernkonzepte für die Syntaxhervorhebung generell unabhängig davon sind, welchen Editor Sie verwenden. Ich weiß nur nicht, ob so etwas schon existiert.

    
simplyletgo 22.01.2012, 20:27
quelle

2 Antworten

2

Sehr viele Redakteure verwenden Scintilla ( Ссылка ) für Quellcode-Bearbeitung und Syntax-Hervorhebung: zum Beispiel Notepad ++ auf Windows, gedit in Gnome, Code :: Blöcke. Sie können daher in Erwägung ziehen, Scintilla eine Syntaxdefinition hinzuzufügen. Soweit ich verstehe dies eine Angelegenheit ist eine XML-Definition eines Lexer für Ihre Sprache zu schreiben (siehe zum Beispiel: diese Seite für Code :: Blocks)

    
user1001031 25.01.2012 09:42
quelle
1

Ich weiß nichts dergleichen, aber meiner Meinung nach wäre es ziemlich einfach zu produzieren. Zum Beispiel kann man ein XML-basiertes Universalformat (in Form eines DTD / XSL-Schemas) erstellen und editorspezifische XSLT-Transformationen verwenden. Dann würde jeder Ersteller des Editors (oder jemand anderes) eine XSLT-Datei für seinen Editor erstellen. Und für jede neue Sprache würde ein XML erstellt werden.

Das größte Problem besteht darin, eine Sprache anzugeben, die mindestens diese Kriterien erfüllt:

  • Vollständigkeit: Es sollte alle möglichen Funktionen der Syntaxhervorhebungskonfiguration enthalten.
  • Benutzerfreundlichkeit: Es sollte nicht zu kompliziert für einfache Sprachen sein.
  • Offenheit und Standardisierung: Es sollte beliebt sein, um nützlich zu sein. Um populär zu sein, sollte es offen und standardisiert sein.
Marek Kurdej 24.01.2012 17:52
quelle