In Vim verwende ich die Standard-Faltmarkierungen {{{
, }}}
mit einer Benennungskonvention für die Folds (z.B. {{{ Sammlung
). Einige benannte Folds definieren einen Kommentar (z.B. {{{ Dokumentation
) und ich möchte, dass diese entsprechend hervorgehoben werden. Alle Folds enden mit demselben }}}
Markierer.
Ich habe etwas Erfolg mit dem folgenden:
syn region cComment start="{{{ Dokumentation" end="}}}"
contains=@cCommentGroup,cCommentStartError,cSpaceError,@Spell fold
aber das Problem ist, dass kommentierte Folds auch generische Sammlung
Folds enthalten können, wie im folgenden Beispiel:
{{{ Dokumentation
{{{ Sammlung
// einiger Text
}}}
{{{ Sammlung
// einiger Text
}}}
}}}
In diesem Fall endet der Kommentar, wenn das erste }}}
erreicht wird, sodass der zweite Sammlung
Fold nicht als Kommentar hervorgehoben wird.
Die contains
Option scheint nicht relevant zu sein, da dadurch enthaltene Folds ihre Standardhervorhebung haben.
Ich möchte, dass jeder Fold innerhalb eines Kommentar-Folds die Kommentarsyntax erbt, ohne ihre Standard-Syntax außerhalb eines Kommentar-Folds zu beeinflussen.
Ist das in Vim möglich, wenn alle Folds die gleichen Endmarkierungen haben?