Estou usando o VOoM (provavelmente não é necessário saber muito sobre isso para poder responder à minha pergunta, estou apenas fornecendo essas informações para o contexto) e consegui escrever algumas regras de destaque de sintaxe personalizadas para conteúdo específico .
Primeiro, estou usando uma modeline para dizer ao vim que um determinado arquivo é um esboço do VOoM, tenho isso na parte inferior desses arquivos:
/* vim: set syntax=myvoom : */
Segundo, eu tenho um arquivo /home/user/.vim/after/syntax/myvoom.vim , aqui está um trecho:
syn match voomTag "^tags:.*"
hi voomTag ctermfg=White ctermbg=Red guifg=White guibg=Red
Em alguns nós de estrutura de tópicos, tenho linhas como:
tags: foo, bar, baz
para facilitar a pesquisa, a regra de destaque da sintaxe acima apenas exibe essas linhas com um primeiro plano / plano de fundo personalizado.
Isso funciona como esperado com o esquema de cores padrão ( : colorscheme no vim retorna 'padrão').
Quando quero experimentar um esquema de cores personalizado ( mustang, por exemplo) e alterá-lo fazendo : colorscheme mustang , o destaque da sintaxe para minhas linhas de tag é perdido.
Eu gostaria de entender por que isso acontece.
Além disso, eu gostaria de aprender como sincronizar automaticamente essas regras de sintaxe personalizadas (que são gerais, não específicas a um determinado esquema de cores) quando o esquema de cores é alterado. Preciso verificar isso explicitamente de alguma forma, no arquivo myvoom.vim? Como procurar qual esquema de cores está ativo e ter regras de destaque de sintaxe personalizadas para diferentes esquemas de cores ou existe uma abordagem melhor?