Os itens de sintaxe nos quais o Vim destacará erros de ortografia são definidos usando os clusters @Spell
e @NoSpell
. Consulte :help spell-syntax
(e o restante dos arquivos :help spell
e :help syntax
) para obter detalhes completos.
A solução rápida e suja para obter o resultado desejado é criar um novo arquivo no diretório de configuração do Vim: .vim/after/syntax/html.vim
com o conteúdo:
syn region htmlString contained start=+"+ end=+"+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,@Spell
syn region htmlString contained start=+'+ end=+'+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,@Spell
Essas linhas definem o destaque da sintaxe dos atributos HTML e foram copiadas do arquivo html.vim incluído nos arquivos de sintaxe padrão do Vim. Em seguida, adicionei o @Spell
cluster ao contains
campo para ativar a verificação ortográfica em cada item de sintaxe.
Para aplicar isso apenas aos atributos "title" e "data- *", é necessário ajustar a expressão regular usada para corresponder os itens e editar um pouco mais extensamente a maneira como o destaque HTML funciona. Aqui está uma solução que funciona apenas para os atributos "title":
syn region htmlStringSpell contained start=+title=["']+hs=s+6 end=+["']+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,@Spell containedin=htmlTag,ScriptTag
hi def link htmlStringSpell String
NB
- A expressão regular agora inclui o nome do
title
atributo e um deslocamento para que essa parte do item de sintaxe não seja incluída no destaque. (Veja :help syn-pattern-offset
)
- O item de sintaxe agora tem seu próprio nome e, portanto, precisa (i) ser
containedin
todos os itens de sintaxe em que htmlStrings estão contidos por meio de suas respectivas contains
configurações. (ii) ter seu próprio destaque aplicado.
De
/usr/share/vim/vim74/syntax/html.vim
:Para adicionar suporte ortográfico, precisamos adicionar a
@Spell
palavra - chave (consulte:help spell-syntax
) da seguinte forma:Você precisa colocar isso
~/.vim/after/syntax/html.vim
para que ele substitua as regras de sintaxe padrão.Dica de bônus:
a primeira linha é para atributos em cadeias de caracteres duplas (
attr="value"
), e a segunda se for para cadeias de caracteres simples (attr='value'
). Você também pode substituir apenas um deles, para poder escolher se tem verificação ortográfica.fonte