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.
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)
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:
Tags und Links language-agnostic syntax-highlighting dsl