mirror of
https://github.com/macvim-dev/macvim.git
synced 2025-12-23 12:14:37 +01:00
Add "MACVIM REFERENCE" to syntax rule to reflect the new header to make it look less weird. Also remove the "last changed date" header since I rarely update it and it's not particularly useful given how in MacVim the runtime is always bundled anyway. Also, when investigating using Neovim's treesitter vim docs generating tool for MacVim (to generate a web version of the documentation), found a few typos / formatting issues. Fix them here.
231 lines
8.5 KiB
VimL
231 lines
8.5 KiB
VimL
" Vim syntax file
|
|
" Language: Vim help file
|
|
" Maintainer: Bram Moolenaar (Bram@vim.org)
|
|
" Last Change: 2022 Nov 13
|
|
|
|
" 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 "^---.*--$"
|
|
if has("conceal")
|
|
syn region helpExample matchgroup=helpIgnore start=" >$" start="^>$" end="^[^ \t]"me=e-1 end="^<" concealends
|
|
else
|
|
syn region helpExample matchgroup=helpIgnore start=" >$" start="^>$" end="^[^ \t]"me=e-1 end="^<"
|
|
endif
|
|
if has("ebcdic")
|
|
syn match helpHyperTextJump "\\\@<!|[^"*|]\+|" contains=helpBar
|
|
syn match helpHyperTextEntry "\*[^"*|]\+\*\s"he=e-1 contains=helpStar
|
|
syn match helpHyperTextEntry "\*[^"*|]\+\*$" contains=helpStar
|
|
else
|
|
syn match helpHyperTextJump "\\\@<!|[#-)!+-~]\+|" contains=helpBar
|
|
syn match helpHyperTextEntry "\*[#-)!+-~]\+\*\s"he=e-1 contains=helpStar
|
|
syn match helpHyperTextEntry "\*[#-)!+-~]\+\*$" contains=helpStar
|
|
endif
|
|
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 "MACVIM 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 helpNormal "vim9\[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 region helpNotVi start="{Vi[: ]" start="{not" start="{only" end="}" contains=helpLeadBlank,helpHyperTextJump
|
|
syn match helpLeadBlank "^\s\+" contained
|
|
|
|
" 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/]`
|
|
|
|
" 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.]"
|
|
syn region helpNotVi start="{non" start="{solo" start="{disponibile" end="}" contains=helpLeadBlank,helpHyperTextJump
|
|
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 helpNotVi Special
|
|
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
|
|
|
|
if has('textprop') && expand('%:p') =~ '[/\\]doc[/\\]syntax.txt'
|
|
" highlight groups with their respective color
|
|
import 'dist/vimhelp.vim'
|
|
call vimhelp.HighlightGroups()
|
|
endif
|
|
|
|
let b:current_syntax = "help"
|
|
|
|
let &cpo = s:cpo_save
|
|
unlet s:cpo_save
|
|
" vim: ts=8 sw=2
|