Vim Syntax Dateien ... versuchen zu verstehen "enthält"

8

Ich versuche, eine neue vim-Syntaxdatei für ein benutzerdefiniertes Format, das ich verwende, zu patchen. Das meiste davon kann ich verstehen, aber das Stichwort "enthält" bereitet mir Probleme.

Gibt es hier jemanden, der mir erklären könnte, was es tut (ich habe die Hilfe gelesen - und es nicht ganz verstanden), als würde er es einem Baum erklären.

>     
Rook 30.11.2009, 10:30
quelle

1 Antwort

21

Im Allgemeinen können Sie nur eine Syntaxhervorhebungsmethode an einer Stelle haben. Wenn Sie zum Beispiel C-ähnliche Syntaxen verwenden, ist die Syntaxhervorhebung für diese Region dieselbe, wenn Sie eine Region definieren, die in einer öffnenden Klammer '{' beginnt und auf einer schließenden Klammer '} endet.

Mit

contains= können Sie andere Syntaxhervorhebungsgruppen konfigurieren, die in einer äußeren Gruppe enthalten sein sollen. Um dem vorherigen Beispiel zu folgen, möchten Sie möglicherweise int hervorheben, auch wenn es sich in der äußeren Region befindet. Sie könnten dann etwas wie:

haben %Vor%

Es ist durchaus üblich, Elemente später zur Liste der enthaltenen Schlüsselwörter hinzuzufügen. Es gibt ein paar Möglichkeiten, dies zu tun. Erstens können Sie contains=ALL oder contains=ALLBUT,Error verwenden, um alles in einer Region zuzulassen. Zweitens können Sie containedin verwenden, um etwas in den Inhalt einer anderen Region zu schieben:

%Vor%

Drittens können Sie alles definieren, was in dieser Gruppe als "enthalten" gilt:

%Vor%

Schließlich können Sie Cluster verwenden, die es sehr einfach machen, zu entscheiden, was wo geht:

%Vor%

Ohne genau zu wissen, was Sie verstehen wollen, bin ich mir nicht sicher, was ich sonst noch sagen soll - was versuchen Sie zu erreichen und was verursacht Ihnen Probleme?

    
DrAl 30.11.2009, 11:03
quelle

Tags und Links