feat(lsp): hide backticks in LSP docstrings

Also clear `markdownError`: don't want to highlight invalid markdown
syntax in LSP docstrings.

fix #16114
This commit is contained in:
Justin M. Keyes 2022-07-15 06:14:33 -07:00
parent b9f15caf5c
commit e9edee229d

View File

@ -1,23 +1,34 @@
" Vim syntax file
" Language: lsp_markdown
" Maintainer: Michael Lingelbach <m.j.lbach@gmail.com
" URL: http://neovim.io
" Remark: Uses markdown syntax file
" Language: Markdown-like LSP docstrings
" Maintainer: https://github.com/neovim/neovim
" URL: http://neovim.io
" Remark: Uses markdown syntax file
" always source the system included markdown instead of any other installed
" markdown.vim syntax files
" Source the default Nvim markdown syntax, not other random ones.
execute 'source' expand('<sfile>:p:h') .. '/markdown.vim'
syn cluster mkdNonListItem add=mkdEscape,mkdNbsp
" Don't highlight invalid markdown syntax in LSP docstrings.
syn clear markdownError
syn clear markdownEscape
syntax region markdownEscape matchgroup=markdownEscape start=/\\\ze[\\\x60*{}\[\]()#+\-,.!_>~|"$%&'\/:;<=?@^ ]/ end=/./ containedin=ALL keepend oneline concealends
" conceal html entities
" Conceal backticks (which delimit code fragments).
" We ignore g:markdown_syntax_conceal here.
syn region markdownCode matchgroup=markdownCodeDelimiter start="`" end="`" keepend contains=markdownLineStart concealends
syn region markdownCode matchgroup=markdownCodeDelimiter start="`` \=" end=" \=``" keepend contains=markdownLineStart concealends
syn region markdownCode matchgroup=markdownCodeDelimiter start="^\s*````*.*$" end="^\s*````*\ze\s*$" keepend concealends
" Highlight code fragments.
hi def link markdownCode Special
" Conceal HTML entities.
syntax match mkdNbsp /&nbsp;/ conceal cchar=
syntax match mkdLt /&lt;/ conceal cchar=<
syntax match mkdGt /&gt;/ conceal cchar=>
syntax match mkdAmp /&amp;/ conceal cchar=&
syntax match mkdQuot /&quot;/ conceal cchar="
hi def link mkdEscape special
hi def link mkdEscape Special