Я не знаком с Perl и тем, как CSS вписывается в код, но если вы используете heredocs, вот хорошая статья, которая имеет дело с аналогичной проблемой: http://blogs.perl.org/users/ovid/2011/06/syntax-highlight-your-sql-heredocs-in-vim.html
Автор пытается выделить SQL внутри heredocs, помеченных SQL
разделителем. В вашем случае вы можете поместить что-то вроде этого в .vim/after/ftplugin/perl.vim
:
syntax on
unlet b:current_syntax
syntax include @CSS syntax/css.vim
syntax region cssSnip matchgroup=Snip start=+<<['"]CSS['"].*;\s*$+ end=+^\s*CSS$+ contains=@CSS
hi link Snip SpecialComment
CSS будет выделен, если вы напишите его так:
my $css = <<"CSS";
a {
background-color: blue;
}
CSS
Если вы хотите вместо этого использовать комментарии в качестве разделителей, вы можете взломать приведенный выше фрагмент, в частности шаблоны start
и end
. Например, это:
syntax region cssSnip matchgroup=Snip start=+^\s*# -- CSS --\s*$+ end=+^\s*# -- END CSS --\s*$+ contains=@CSS
Получает подсветку в определенных комментариях, например:
# -- CSS --
a {
background-color: blue;
}
# -- END CSS --