mirror of
https://github.com/neovim/neovim.git
synced 2024-12-20 11:15:14 -07:00
f46ae13685
Problem: default diff highlighting is too noisy
Solution: Link diff highlighting groups to new
Added/Removed/Changed, revert previous change
(Romain Lafourcade)
Remove diff* links added in vim/vim#13776 and doc added in commit b1392be
The links added in vim/vim#13776 are way too noisy for the contexts in which
the `diff` syntax is applied (git commits, patches, etc.).
This commit:
- removes those links
- adds new default highlighting groups Added, Changed and
Removed
- links the diff highlighting groups to those new defaults
- removes the doc changes
- adjusts the syntax_completion test for those newly added group
names
Note: Changes to the default color schemes will be handled separately,
by adding links to those newly created Added/Removed/Changed
highlighting groups.
related: vim/vim#13776
closes vim/vim#13825
124371c5a1
Co-authored-by: Romain Lafourcade <romain.lafourcade@razorfish.fr>
225 lines
8.2 KiB
VimL
225 lines
8.2 KiB
VimL
" Vim syntax file
|
|
" Language: Vim help file
|
|
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
|
" Last Change: 2023 Aug 10
|
|
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
|
|
|
" Quit when a (custom) syntax file was already loaded
|
|
if exists("b:current_syntax")
|
|
finish
|
|
endif
|
|
|
|
let s:cpo_save = &cpo
|
|
set cpo&vim
|
|
|
|
syn match helpHeadline "^[A-Z.][-A-Z0-9 .,()_']*?\=\ze\(\s\+\*\|$\)"
|
|
syn match helpSectionDelim "^===.*===$"
|
|
syn match helpSectionDelim "^---.*--$"
|
|
" Neovim: support language annotation in codeblocks
|
|
if has("conceal")
|
|
syn region helpExample matchgroup=helpIgnore start=" >[a-z0-9]*$" start="^>[a-z0-9]*$" end="^[^ \t]"me=e-1 end="^<" concealends
|
|
else
|
|
syn region helpExample matchgroup=helpIgnore start=" >[a-z0-9]*$" start="^>[a-z0-9]*$" end="^[^ \t]"me=e-1 end="^<"
|
|
endif
|
|
syn match helpHyperTextJump "\\\@<!|[#-)!+-~]\+|" contains=helpBar
|
|
syn match helpHyperTextEntry "\*[#-)!+-~]\+\*\s"he=e-1 contains=helpStar
|
|
syn match helpHyperTextEntry "\*[#-)!+-~]\+\*$" contains=helpStar
|
|
if has("conceal")
|
|
syn match helpBar contained "|" conceal
|
|
syn match helpBacktick contained "`" conceal
|
|
syn match helpStar contained "\*" conceal
|
|
else
|
|
syn match helpBar contained "|"
|
|
syn match helpBacktick contained "`"
|
|
syn match helpStar contained "\*"
|
|
endif
|
|
syn match helpNormal "|.*====*|"
|
|
syn match helpNormal "|||"
|
|
syn match helpNormal ":|vim:|" " for :help modeline
|
|
syn match helpVim "\<Vim version [0-9][0-9.a-z]*"
|
|
syn match helpVim "VIM REFERENCE.*"
|
|
syn match helpVim "NVIM REFERENCE.*"
|
|
syn match helpOption "'[a-z]\{2,\}'"
|
|
syn match helpOption "'t_..'"
|
|
syn match helpNormal "'ab'"
|
|
syn match helpCommand "`[^` \t]\+`"hs=s+1,he=e-1 contains=helpBacktick
|
|
syn match helpCommand "\(^\|[^a-z"[]\)\zs`[^`]\+`\ze\([^a-z\t."']\|$\)"hs=s+1,he=e-1 contains=helpBacktick
|
|
syn match helpHeader "\s*\zs.\{-}\ze\s\=\~$" nextgroup=helpIgnore
|
|
syn match helpGraphic ".* \ze`$" nextgroup=helpIgnore
|
|
if has("conceal")
|
|
syn match helpIgnore "." contained conceal
|
|
else
|
|
syn match helpIgnore "." contained
|
|
endif
|
|
syn keyword helpNote note Note NOTE note: Note: NOTE: Notes Notes:
|
|
syn keyword helpWarning WARNING WARNING: Warning:
|
|
syn keyword helpDeprecated DEPRECATED DEPRECATED: Deprecated:
|
|
syn match helpSpecial "\<N\>"
|
|
syn match helpSpecial "\<N\.$"me=e-1
|
|
syn match helpSpecial "\<N\.\s"me=e-2
|
|
syn match helpSpecial "(N\>"ms=s+1
|
|
|
|
syn match helpSpecial "\[N]"
|
|
" avoid highlighting N N in help.txt
|
|
syn match helpSpecial "N N"he=s+1
|
|
syn match helpSpecial "Nth"me=e-2
|
|
syn match helpSpecial "N-1"me=e-2
|
|
syn match helpSpecial "{[-_a-zA-Z0-9'"*+/:%#=[\]<>.,]\+}"
|
|
syn match helpSpecial "\s\[[-a-z^A-Z0-9_]\{2,}]"ms=s+1
|
|
syn match helpSpecial "<[-a-zA-Z0-9_]\+>"
|
|
syn match helpSpecial "<[SCM]-.>"
|
|
syn match helpNormal "<---*>"
|
|
syn match helpSpecial "\[range]"
|
|
syn match helpSpecial "\[line]"
|
|
syn match helpSpecial "\[count]"
|
|
syn match helpSpecial "\[offset]"
|
|
syn match helpSpecial "\[cmd]"
|
|
syn match helpSpecial "\[num]"
|
|
syn match helpSpecial "\[+num]"
|
|
syn match helpSpecial "\[-num]"
|
|
syn match helpSpecial "\[+cmd]"
|
|
syn match helpSpecial "\[++opt]"
|
|
syn match helpSpecial "\[arg]"
|
|
syn match helpSpecial "\[arguments]"
|
|
syn match helpSpecial "\[ident]"
|
|
syn match helpSpecial "\[addr]"
|
|
syn match helpSpecial "\[group]"
|
|
" Don't highlight [converted] and others that do not have a tag
|
|
syn match helpNormal "\[\(readonly\|fifo\|socket\|converted\|crypted\)]"
|
|
|
|
syn match helpSpecial "CTRL-."
|
|
syn match helpSpecial "CTRL-SHIFT-."
|
|
syn match helpSpecial "CTRL-Break"
|
|
syn match helpSpecial "CTRL-PageUp"
|
|
syn match helpSpecial "CTRL-PageDown"
|
|
syn match helpSpecial "CTRL-Insert"
|
|
syn match helpSpecial "CTRL-Del"
|
|
syn match helpSpecial "CTRL-{char}"
|
|
syn match helpSpecial "META-."
|
|
syn match helpSpecial "ALT-."
|
|
|
|
" Highlight group items in their own color.
|
|
syn match helpComment "\t[* ]Comment\t\+[a-z].*"
|
|
syn match helpConstant "\t[* ]Constant\t\+[a-z].*"
|
|
syn match helpString "\t[* ]String\t\+[a-z].*"
|
|
syn match helpCharacter "\t[* ]Character\t\+[a-z].*"
|
|
syn match helpNumber "\t[* ]Number\t\+[a-z].*"
|
|
syn match helpBoolean "\t[* ]Boolean\t\+[a-z].*"
|
|
syn match helpFloat "\t[* ]Float\t\+[a-z].*"
|
|
syn match helpIdentifier "\t[* ]Identifier\t\+[a-z].*"
|
|
syn match helpFunction "\t[* ]Function\t\+[a-z].*"
|
|
syn match helpStatement "\t[* ]Statement\t\+[a-z].*"
|
|
syn match helpConditional "\t[* ]Conditional\t\+[a-z].*"
|
|
syn match helpRepeat "\t[* ]Repeat\t\+[a-z].*"
|
|
syn match helpLabel "\t[* ]Label\t\+[a-z].*"
|
|
syn match helpOperator "\t[* ]Operator\t\+["a-z].*"
|
|
syn match helpKeyword "\t[* ]Keyword\t\+[a-z].*"
|
|
syn match helpException "\t[* ]Exception\t\+[a-z].*"
|
|
syn match helpPreProc "\t[* ]PreProc\t\+[a-z].*"
|
|
syn match helpInclude "\t[* ]Include\t\+[a-z].*"
|
|
syn match helpDefine "\t[* ]Define\t\+[a-z].*"
|
|
syn match helpMacro "\t[* ]Macro\t\+[a-z].*"
|
|
syn match helpPreCondit "\t[* ]PreCondit\t\+[a-z].*"
|
|
syn match helpType "\t[* ]Type\t\+[a-z].*"
|
|
syn match helpStorageClass "\t[* ]StorageClass\t\+[a-z].*"
|
|
syn match helpStructure "\t[* ]Structure\t\+[a-z].*"
|
|
syn match helpTypedef "\t[* ]Typedef\t\+[Aa-z].*"
|
|
syn match helpSpecial "\t[* ]Special\t\+[a-z].*"
|
|
syn match helpSpecialChar "\t[* ]SpecialChar\t\+[a-z].*"
|
|
syn match helpTag "\t[* ]Tag\t\+[a-z].*"
|
|
syn match helpDelimiter "\t[* ]Delimiter\t\+[a-z].*"
|
|
syn match helpSpecialComment "\t[* ]SpecialComment\t\+[a-z].*"
|
|
syn match helpDebug "\t[* ]Debug\t\+[a-z].*"
|
|
syn match helpUnderlined "\t[* ]Underlined\t\+[a-z].*"
|
|
syn match helpError "\t[* ]Error\t\+[a-z].*"
|
|
syn match helpTodo "\t[* ]Todo\t\+[a-z].*"
|
|
|
|
syn match helpURL `\v<(((https?|ftp|gopher)://|(mailto|file|news):)[^' <>"]+|(www|web|w3)[a-z0-9_-]*\.[a-z0-9._-]+\.[^' <>"]+)[a-zA-Z0-9/]`
|
|
|
|
syn match helpDiffAdded "\t[* ]Added\t\+[a-z].*"
|
|
syn match helpDiffChanged "\t[* ]Changed\t\+[a-z].*"
|
|
syn match helpDiffRemoved "\t[* ]Removed\t\+[a-z].*"
|
|
|
|
" Additionally load a language-specific syntax file "help_ab.vim".
|
|
let s:i = match(expand("%"), '\.\a\ax$')
|
|
if s:i > 0
|
|
exe "runtime syntax/help_" . strpart(expand("%"), s:i + 1, 2) . ".vim"
|
|
endif
|
|
|
|
" Italian
|
|
if v:lang =~ '\<IT\>' || v:lang =~ '_IT\>' || v:lang =~? "italian"
|
|
syn keyword helpNote nota Nota NOTA nota: Nota: NOTA: notare Notare NOTARE notare: Notare: NOTARE:
|
|
syn match helpSpecial "Nma"me=e-2
|
|
syn match helpSpecial "Nme"me=e-2
|
|
syn match helpSpecial "Nmi"me=e-2
|
|
syn match helpSpecial "Nmo"me=e-2
|
|
syn match helpSpecial "\[interv.]"
|
|
endif
|
|
|
|
syn sync minlines=40
|
|
|
|
|
|
" Define the default highlighting.
|
|
" Only used when an item doesn't have highlighting yet
|
|
hi def link helpIgnore Ignore
|
|
hi def link helpHyperTextJump Identifier
|
|
hi def link helpBar Ignore
|
|
hi def link helpBacktick Ignore
|
|
hi def link helpStar Ignore
|
|
hi def link helpHyperTextEntry String
|
|
hi def link helpHeadline Statement
|
|
hi def link helpHeader PreProc
|
|
hi def link helpSectionDelim PreProc
|
|
hi def link helpVim Identifier
|
|
hi def link helpCommand Comment
|
|
hi def link helpExample Comment
|
|
hi def link helpOption Type
|
|
hi def link helpSpecial Special
|
|
hi def link helpNote Todo
|
|
hi def link helpWarning Todo
|
|
hi def link helpDeprecated Todo
|
|
|
|
hi def link helpComment Comment
|
|
hi def link helpConstant Constant
|
|
hi def link helpString String
|
|
hi def link helpCharacter Character
|
|
hi def link helpNumber Number
|
|
hi def link helpBoolean Boolean
|
|
hi def link helpFloat Float
|
|
hi def link helpIdentifier Identifier
|
|
hi def link helpFunction Function
|
|
hi def link helpStatement Statement
|
|
hi def link helpConditional Conditional
|
|
hi def link helpRepeat Repeat
|
|
hi def link helpLabel Label
|
|
hi def link helpOperator Operator
|
|
hi def link helpKeyword Keyword
|
|
hi def link helpException Exception
|
|
hi def link helpPreProc PreProc
|
|
hi def link helpInclude Include
|
|
hi def link helpDefine Define
|
|
hi def link helpMacro Macro
|
|
hi def link helpPreCondit PreCondit
|
|
hi def link helpType Type
|
|
hi def link helpStorageClass StorageClass
|
|
hi def link helpStructure Structure
|
|
hi def link helpTypedef Typedef
|
|
hi def link helpSpecialChar SpecialChar
|
|
hi def link helpTag Tag
|
|
hi def link helpDelimiter Delimiter
|
|
hi def link helpSpecialComment SpecialComment
|
|
hi def link helpDebug Debug
|
|
hi def link helpUnderlined Underlined
|
|
hi def link helpError Error
|
|
hi def link helpTodo Todo
|
|
hi def link helpURL String
|
|
hi def link helpDiffAdded Added
|
|
hi def link helpDiffChanged Changed
|
|
hi def link helpDiffRemoved Removed
|
|
|
|
let b:current_syntax = "help"
|
|
|
|
let &cpo = s:cpo_save
|
|
unlet s:cpo_save
|
|
" vim: ts=8 sw=2
|