" Vim syntax file " Language: Vim help file " Maintainer: Bram Moolenaar (Bram@vim.org) " Last Change: 2006 Mar 29 " Quit when a (custom) syntax file was already loaded if exists("b:current_syntax") finish endif syn match helpHeadline "^[-A-Z ]\+[ \t]\+\*"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 helpSpecial "\"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].*" 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 syn sync minlines=40 " Define the default highlighting. " Only used when an item doesn't have highlighting yet hi def link helpExampleStart helpIgnore hi def link helpIgnore Ignore hi def link helpHyperTextJump Subtitle 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 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 Subtitle Identifier 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 let b:current_syntax = "help" " vim: ts=8 sw=2