Ich versuche, eine Syntaxdatei zu erstellen, und möchte einige Schlüsselwortgruppen für eine unterschiedliche farbliche Hervorhebung erstellen (z. B. würden reservierte Wörter, Operatoren usw. unterschiedliche Farben haben). Ich kann dies mit einer der beiden folgenden Optionen erreichen:
Option 1
syn keyword MyLangOperators operator1 operator2 operator3
syn keyword MyLangOperators operator4 operator5 operator6
syn keyword MyLangReserved reserved1 reserved2 reserved3
syn keyword MyLangReserved reserved4 reserved5 reserved6
Das ist nicht weiter schlimm, aber wenn ich versuche, sie in alphabetischer Reihenfolge zu halten, wird es sehr unübersichtlich, sobald die Zahl der Reservierten/Betreiber usw. ansteigt. Vor allem, wenn man irgendwo in der Mitte neue hinzufügen muss.
Option 2
syn keyword MyLangOperators operator1
syn keyword MyLangOperators operator2
syn keyword MyLangOperators operator3
syn keyword MyLangOperators operator4
syn keyword MyLangOperators operator5
syn keyword MyLangOperators operator6
syn keyword MyLangReserved reserved1
syn keyword MyLangReserved reserved2
syn keyword MyLangReserved reserved3
syn keyword MyLangReserved reserved4
syn keyword MyLangReserved reserved5
syn keyword MyLangReserved reserved6
Diese Option erleichtert das spätere Hinzufügen von Reservierungen/Operatoren, da sie leicht in alphabetischer Reihenfolge zu halten sind. Allerdings wird in jeder Zeile viel Text wiederholt (z. B. syn-Schlüsselwort [groupname]).
Gibt es eine Möglichkeit, den Befehl über mehrere Zeilen zu verteilen? Vielleicht so etwas wie dies:
syn keyword MyLangOperators ~
operator1 ~
operator2 ~
operator3 ~
operator4 ~
operator5 ~
operator6
syn keyword MyLangReserved ~
reserved1 ~
reserved2 ~
reserved3 ~
reserved4 ~
reserved5 ~
reserved6
In diesem Fall wäre die Tilde (~) ein Signal an den Vim-Editor, dass der Befehl in der nächsten Zeile weitergeht.
Gibt es so etwas, oder muss ich mich mit Option 1 oder 2 begnügen (am ehesten würde ich mich für 2 entscheiden)?