Usando o Vim 7.4 no Windows no ConEmu (embora eu tenha visto a mesma coisa em outras plataformas / configurações), percebo que o destaque da sintaxe corresponde ao início e ao final de asteriscos duplos como sub-regiões itálicas na região em negrito que eles indicam. Esta é uma tristeza:
Depois de pesquisar, acho que encontrei a fonte desse problema (de $VIMRUNTIME/syntax/markdown.vim
):
syn region markdownItalic start="\S\@<=\*\|\*\S\@=" end="\S\@<=\*\|\*\S\@=" keepend contains=markdownLineStart
syn region markdownItalic start="\S\@<=_\|_\S\@=" end="\S\@<=_\|_\S\@=" keepend contains=markdownLineStart
syn region markdownBold start="\S\@<=\*\*\|\*\*\S\@=" end="\S\@<=\*\*\|\*\*\S\@=" keepend contains=markdownLineStart,markdownItalic
syn region markdownBold start="\S\@<=__\|__\S\@=" end="\S\@<=__\|__\S\@=" keepend contains=markdownLineStart,markdownItalic
syn region markdownBoldItalic start="\S\@<=\*\*\*\|\*\*\*\S\@=" end="\S\@<=\*\*\*\|\*\*\*\S\@=" keepend contains=markdownLineStart
syn region markdownBoldItalic start="\S\@<=___\|___\S\@=" end="\S\@<=___\|___\S\@=" keepend contains=markdownLineStart
E mais abaixo:
hi def link markdownItalic htmlItalic
hi def link markdownBold htmlBold
hi def link markdownBoldItalic htmlBoldItalic
Como você pode ver, o negrito aceita itálico como uma sub-região. O problema é se eu remover markdownItalic
do contains=
, isto:
não funciona mais corretamente:
mesmo que tenha corrigido o outro problema. Também estou tentando substituir \S
nas regexes por itálico, [^*]
mas isso também não funcionou. Além disso, a instalação do plugin Markdown do Plastic Boy não o corrigiu.
Alguma idéia de como contornar esse caso irritante?