Ocasionalmente, quero substituir a sintaxe padrão, destacando cores e estilos com minhas próprias preferências.
Eu imagino que a maneira mais apropriada de fazer isso seria criar meu próprio esquema de cores. No entanto, tenho algumas perguntas.
Se eu quiser definir um destaque para um grupo de sintaxe específico em um idioma específico, ele pertence ao meu esquema de cores ou seria melhor colocá-lo
after/syntax/[filetype].vim
?highlight jsAssignExpIdent cterm=bold gui=bold
Parece um pouco estranho colocar regras obscuras específicas de idioma no esquema de cores, pois elas serão carregadas em qualquer idioma em que estou trabalhando, mas parece ainda pior colocar regras de destaque no arquivo de sintaxe.
Às vezes, crio novas regras de sintaxe para um idioma específico, em
after/syntax/[filetype].vim
. Caso outros usuários desejem empregar essas extensões, seria apropriado fornecer regras de destaque padrão que apontam para grupos de destaque padrão comuns? Se outro usuário deseja substituir essa cor de destaque, como eles devem fazer isso?::::: after/syntax/asm.vim ::::: syn match asmHexNumber /\(0x\|\$\)[0-9A-Fa-f]\+/ highlight default link asmHexNumber Number
fonte
highlight link ...
comandos em um arquivo de sintaxe, os comandos substituirão as configurações do esquema de cores toda vez que um arquivo com esse tipo de arquivo for carregado. Talvez eu deva fazer apenashighlight link ...
depois de verificar se não existe uma regra de destaque para esse nome?highlight link
no esquema de cores pode ser substituído posteriormente por umhighlight link
em um arquivo de sintaxe. Para evitar isso, argumentos reais (ctermbg, guifg, ...) podem ser usados em vez de um link.highlight link ...
no seu script de sintaxe e permitir que seus usuários o substituam, se quiserem.highlight link ...
seu esquema de cores, o arquivo de sintaxe poderia redefini-lo posteriormente com o seu própriohighlight link ...
. Vejo agora que bons arquivos de sintaxe evitam isso usandohighlight default link ...
. Provavelmente isso deve ser uma correção para aasmHexNumber
regra na minha pergunta.