Editando o arquivo htmldjango.vim

1

Eu gosto do destaque da sintaxe do htmldjango.vim, exceto por algumas coisas.

1) Ele destaca todas as variáveis (o que começa com {{ou {% e termina com}} ou%}) branco e fornece uma fonte vermelha. Eu quero todas as variáveis para apenas ele amarelo.

2) Colore todas as tags de abertura (< e >) amarelo e todas as tags de finalização (< / e >) em vermelho. Eu quero que os dois sejam apenas azuis.

3) No < cabeça > tag, ele destaca todos os recuos com branco por algum motivo. Eu não quero isso.

4) sublinha todos os nomes dos links. (exemplo: < a href = 'link' > linkName < / a >) Eu também não quero isso.

Como você pode ver, quero fazer pequenas alterações. Eu tentei abrir o htmldjango.vim e editá-lo, mas não tenho idéia de onde ele define a cor das tags. htmldjango.vim diz isso

syn cluster djangoBlocks add=djangoTagBlock,djangoVarBlock,djangoComment,djangoComBlock
syn region djangoTagBlock start="{%" end="%}" contains=djangoStatement,djangoFilter,djangoArgument,djangoTagError display containedin=ALLBUT,@djangoBlocks
syn region djangoVarBlock start="{{" end="}}" contains=djangoFilter,djangoArgument,djangoVarError display containedin=ALLBUT,@djangoBlocks
syn region djangoComment start="{%\s*comment\s*%}" end="{%\s*endcomment\s*%}" contains=djangoTodo containedin=ALLBUT,@djangoBlocks
syn region djangoComBlock start="{#" end="#}" contains=djangoTodo containedin=ALLBUT,@djangoBlocks

Eu estou supondo que este é o lugar onde as tags são definidas. Mas como eu mudo o que as tags são coloridas e quais não? Eu até tentei abrir html.vim e ler isso e parece que mesmo em html.vim ele não define as cores reais (eu não consegui encontrar o nome de nenhuma cor ou código hexadecimal de nenhuma cor nem em html.vim ou htmldjango.vim). Onde está o arquivo que define as cores das tags / variáveis em htmldjango.vim?

    
por user216485 11.01.2014 / 21:42

1 resposta

1

Primeiro, não faça alterações nos arquivos de sintaxe originais ! Você vai se arrepender disso quando atualizar seu Vim.

Se você precisa fazer adições / adaptações, o Vim tem um mecanismo para isso. Basta colocar os comandos :syntax adicionais em ~/.vim/after/syntax/htmldjango.vim (observe o uso do diretório after ), e ele será incluído automaticamente pelo Vim.

Se você não precisar analisar qualquer sintaxe adicional, apenas altere as cores, isso é feito pelos comandos :hi / :HtmlHiLink . Como htmldjango.vim é apenas uma extensão de html.vim , esses são encontrados no último.

Para alterar as cores, você precisa descobrir qual grupo de sintaxe causa o realce. :syn list mostra todos os grupos ativos, mas é mais fácil quando você instala os SyntaxAttr.vim - Mostrar os atributos de destaque da sintaxe de caractere sob o cursor . Quando você tem o nome do grupo de sintaxes ofensivas, você pode redefinir o realce, por exemplo:

Esta é a definição original:

HtmlHiLink htmlTag                     Function
HtmlHiLink htmlEndTag                  Identifier

Aparentemente, seu esquema de cores (outra abstração) pinta Function amarelo e Identifier vermelho. Para sobrescrever isto apenas para HTML (Django), você escolheria outro grupo da saída do comando plain :hi , escolha por ex. Special e depois redefinir via isso:

hi link htmlTag Special
hi link htmlEndTag Special

Você pode colocá-los no ~/.vim/after/syntax/htmldjango.vim mencionado ou também no ~/.vimrc .

Para remover todo o destaque de um grupo, use :hi link htmlGroupHere NONE .

    
por 11.01.2014 / 22:01