В Vim я использую стандартные маркеры сгиба {{{
, }}}
с соглашением об именовании сгибов (например, {{{ collection
). Некоторые именованные сгибы определяют комментарий (например, {{{ documentation
), и я хотел бы, чтобы они были выделены как таковые. Все складки оканчиваются одинаковым маркером }}}
.
У меня есть некоторый успех со следующим:
syn region cComment start="{{{ documentation" end="}}}"
contains=@cCommentGroup,cCommentStartError,cSpaceError,@Spell fold
но проблема в том, что закомментированные сгибы могут также содержать общие collection
сгибы, как в следующем примере:
{{{ documentation
{{{ collection
// some text
}}}
{{{ collection
// some text
}}}
}}}}
В этом случае комментирование прекращается при достижении первого }}}
, поэтому второй collection
сгиб не выделяется как комментарий.
Параметр contains
не выглядит актуальным, так как это делает стандартные складки имеющими стандартную подсветку.
Мне бы хотелось, чтобы любой сгиб внутри сгиба комментариев наследовал синтаксис комментария, не затрагивая их синтаксис по умолчанию вне сгиба комментария.
Возможно ли это в Vim, учитывая, что все сгибы имеют одинаковые конечные маркеры?