В общем, у вас может быть только один метод подсветки синтаксиса в одном месте. Поэтому, чтобы использовать синтаксис типа Си в качестве примера, если вы определяете область, которая начинается с открывающей фигурной скобки '{' и заканчивается закрывающей фигурной скобкой '}', подсветка синтаксиса для этой области будет такой же.
contains =
позволяет настроить другие группы подсветки синтаксиса, которые будут содержаться во внешней группе. Чтобы следовать предыдущему примеру, вы можете захотеть выделить int
, даже если он находится во внешней области. Тогда у вас может быть что-то вроде:
syn keyword Keyword int
syn region BraceBlock start='{' end='}' contains=Keyword
Довольно часто возникает необходимость добавлять элементы позже в список содержащихся ключевых слов. Есть несколько способов сделать это. Во-первых, вы можете использовать contains = ALL
или contains = ALLBUT, Error
, чтобы позволить чему-либо находиться в регионе. Во-вторых,