summaryrefslogtreecommitdiff
path: root/runtime/syntax/help.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/help.vim')
-rw-r--r--runtime/syntax/help.vim187
1 files changed, 187 insertions, 0 deletions
diff --git a/runtime/syntax/help.vim b/runtime/syntax/help.vim
new file mode 100644
index 000000000..0e7a550d3
--- /dev/null
+++ b/runtime/syntax/help.vim
@@ -0,0 +1,187 @@
+" Vim syntax file
+" Language: Vim help file
+" Maintainer: Bram Moolenaar (Bram@vim.org)
+" Last Change: 2004 May 17
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+ syntax clear
+elseif exists("b:current_syntax")
+ finish
+endif
+
+syn match helpHeadline "^[A-Z ]\+[ ]\+\*"me=e-1
+syn match helpSectionDelim "^=\{3,}.*===$"
+syn match helpSectionDelim "^-\{3,}.*--$"
+syn region helpExample matchgroup=helpIgnore start=" >$" start="^>$" end="^[^ \t]"me=e-1 end="^<"
+if has("ebcdic")
+ syn match helpHyperTextJump "\\\@<!|[^"*|]\+|"
+ syn match helpHyperTextEntry "\*[^"*|]\+\*\s"he=e-1
+ syn match helpHyperTextEntry "\*[^"*|]\+\*$"
+else
+ syn match helpHyperTextJump "\\\@<!|[#-)!+-~]\+|"
+ syn match helpHyperTextEntry "\*[#-)!+-~]\+\*\s"he=e-1
+ syn match helpHyperTextEntry "\*[#-)!+-~]\+\*$"
+endif
+syn match helpNormal "|.*====*|"
+syn match helpNormal ":|vim:|" " for :help modeline
+syn match helpVim "Vim version [0-9.a-z]\+"
+syn match helpVim "VIM REFERENCE.*"
+syn match helpOption "'[a-z]\{2,\}'"
+syn match helpOption "'t_..'"
+syn match helpHeader "\s*\zs.\{-}\ze\s\=\~$" nextgroup=helpIgnore
+syn match helpIgnore "." contained
+syn keyword helpNote note Note NOTE note: Note: NOTE: Notes Notes:
+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 "{[-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]"
+syn match helpSpecial "CTRL-."
+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].*"
+
+
+" Additionally load a language-specific syntax file "help_ab.vim".
+let i = match(expand("%"), '\.\a\ax$')
+if i > 0
+ exe "runtime syntax/help_" . strpart(expand("%"), i + 1, 2) . ".vim"
+endif
+
+syn sync minlines=40
+
+
+" Define the default highlighting.
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if version >= 508 || !exists("did_help_syntax_inits")
+ if version < 508
+ let did_help_syntax_inits = 1
+ command -nargs=+ HiLink hi link <args>
+ else
+ command -nargs=+ HiLink hi def link <args>
+ endif
+
+ HiLink helpExampleStart helpIgnore
+ HiLink helpIgnore Ignore
+ HiLink helpHyperTextJump Subtitle
+ HiLink helpHyperTextEntry String
+ HiLink helpHeadline Statement
+ HiLink helpHeader PreProc
+ HiLink helpSectionDelim PreProc
+ HiLink helpVim Identifier
+ HiLink helpExample Comment
+ HiLink helpOption Type
+ HiLink helpNotVi Special
+ HiLink helpSpecial Special
+ HiLink helpNote Todo
+ HiLink Subtitle Identifier
+
+ HiLink helpComment Comment
+ HiLink helpConstant Constant
+ HiLink helpString String
+ HiLink helpCharacter Character
+ HiLink helpNumber Number
+ HiLink helpBoolean Boolean
+ HiLink helpFloat Float
+ HiLink helpIdentifier Identifier
+ HiLink helpFunction Function
+ HiLink helpStatement Statement
+ HiLink helpConditional Conditional
+ HiLink helpRepeat Repeat
+ HiLink helpLabel Label
+ HiLink helpOperator Operator
+ HiLink helpKeyword Keyword
+ HiLink helpException Exception
+ HiLink helpPreProc PreProc
+ HiLink helpInclude Include
+ HiLink helpDefine Define
+ HiLink helpMacro Macro
+ HiLink helpPreCondit PreCondit
+ HiLink helpType Type
+ HiLink helpStorageClass StorageClass
+ HiLink helpStructure Structure
+ HiLink helpTypedef Typedef
+ HiLink helpSpecialChar SpecialChar
+ HiLink helpTag Tag
+ HiLink helpDelimiter Delimiter
+ HiLink helpSpecialComment SpecialComment
+ HiLink helpDebug Debug
+ HiLink helpUnderlined Underlined
+ HiLink helpError Error
+ HiLink helpTodo Todo
+
+ delcommand HiLink
+endif
+
+let b:current_syntax = "help"
+
+" vim: ts=8 sw=2