texinfo.vim (1584B)
1 " Vim syntax file 2 " Language: Texinfo (documentation format) 3 " Maintainer: Robert Dodier <robert.dodier@gmail.com> 4 " Latest Revision: 2021-12-15 5 6 if exists("b:current_syntax") 7 finish 8 endif 9 10 let s:cpo_save = &cpo 11 set cpo&vim 12 13 syn match texinfoControlSequence display '\(@end [a-zA-Z@]\+\|@[a-zA-Z@]\+\)' 14 15 syn match texinfoComment display '^\s*\(@comment\|@c\)\>.*$' 16 17 syn region texinfoCode matchgroup=texinfoControlSequence start="@code{" end="}" contains=ALL 18 syn region texinfoVerb matchgroup=texinfoControlSequence start="@verb{" end="}" contains=ALL 19 20 syn region texinfoArgument matchgroup=texinfoBrace start="{" end="}" contains=ALLBUT 21 22 syn region texinfoExample matchgroup=texinfoControlSequence start="^@example\s*$" end="^@end example\s*$" contains=ALL 23 24 syn region texinfoVerbatim matchgroup=texinfoControlSequence start="^@verbatim\s*$" end="^@end verbatim\s*$" 25 26 syn region texinfoMenu matchgroup=texinfoControlSequence start="^@menu\s*$" end="^@end menu\s*$" 27 28 if exists("g:texinfo_delimiters") 29 syn match texinfoDelimiter display '[][{}]' 30 endif 31 32 hi def link texinfoDelimiter Delimiter 33 hi def link texinfoComment Comment 34 hi def link texinfoControlSequence Identifier 35 hi def link texinfoBrace Operator 36 hi def link texinfoArgument Special 37 hi def link texinfoExample String 38 hi def link texinfoVerbatim String 39 hi def link texinfoVerb String 40 hi def link texinfoCode String 41 hi def link texinfoMenu String 42 43 let b:current_syntax = "texinfo" 44 45 let &cpo = s:cpo_save 46 unlet s:cpo_save