O Vim está verificando em arquivos XML onde eu não quero, e somente lá

1

Estou tentando usar a verificação ortográfica interna do Vim em alguns documentos XML. Isso acontece apenas com a sintaxe XML carregada, conforme mostrado no seguinte exemplo minimalista (que reproduz o que também vejo em grandes documentos XML):

spellchecking text but not xml

Note que, dado dois buffers com exatamente o mesmo conteúdo, quando Filetype é text, a verificação ortográfica funciona; quando é xml, isso não. spell está definido em ambos os buffers.

No entanto, dada essa visão das três principais linhas de um grande documento XML, você pode ver que a verificação ortográfica está certamente em:

spellchecking working on attributes

mas é apenas verificar atributos.

O incômodo é que nenhuma das coisas que está realmente encontrando estão erradas, e não está encontrando nenhum dos numerosos erros ortográficos no documento. Eu gostaria que, no mínimo, encontrasse os erros de ortografia no corpo do documento, e ser capaz de desativar a verificação dos atributos seria uma boa opção.

Eu procurei por @NoSpell no xml.vim arquivo, mas que não retorna nenhum sucesso.

Kazark
fonte

Respostas:

1

Esta pergunta do StackOverflow contém uma resposta parcial, que ativou a verificação ortográfica no corpo principal do documento. Eu coloquei isso na parte dos meus autocommands que inicializa meus arquivos XML:

set spell
syntax spell toplevel
let &spellfile=$HOME . "/.xml." . &encoding . ".add"

O primeiro comando garante que a ortografia esteja ativada. A segunda é a correção parcial; o terceiro define um arquivo como /home/usr/.xml.utf-8.add como um arquivo para salvar palavras adicionadas ao dicionário de ortografia para arquivos XML UTF-8.

Porque eu fiz este arquivo específico para arquivos XML, se eu não tenho medo de fazer isso xsl representará um erro ortográfico real em outro lugar no documento, eu poderia acrescentar isso ao dicionário, etc; e assim poderia ser uma resposta completa.

No entanto, encontrei uma maneira melhor de desativar a verificação ortográfica nos atributos: alterando a @Spell associado a atributos em xml.vim para @NoSpell (estas linhas estão perto do topo do arquivo):

syn region  xmlString contained start=+"+ end=+"+ contains=xmlEntity,@NoSpell display
syn region  xmlString contained start=+'+ end=+'+ contains=xmlEntity,@NoSpell display

Juntos, esses dois conjuntos de comandos fornecem uma solução completa.

fixed

Kazark
fonte