mirror of
				https://github.com/vim/vim.git
				synced 2025-10-31 09:57:14 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			410 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			410 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " Vim syntax file
 | |
| " Language:	Texinfo (macro package for TeX)
 | |
| " Maintainer:	Sandor Kopanyi <sandor.kopanyi@mailbox.hu>
 | |
| " URL:		<->
 | |
| " Last Change:	2004 Jun 23
 | |
| "
 | |
| " the file follows the Texinfo manual structure; this file is based
 | |
| " on manual for Texinfo version 4.0, 28 September 1999
 | |
| " since @ can have special meanings, everything is 'match'-ed and 'region'-ed
 | |
| " (including @ in 'iskeyword' option has unexpected effects)
 | |
| 
 | |
| " Remove any old syntax stuff hanging around, if needed
 | |
| if version < 600
 | |
|   syn clear
 | |
| elseif exists("b:current_syntax")
 | |
|   finish
 | |
| endif
 | |
| 
 | |
| if !exists("main_syntax")
 | |
|   let main_syntax = 'texinfo'
 | |
| endif
 | |
| 
 | |
| "in Texinfo can be real big things, like tables; sync for that
 | |
| syn sync lines=200
 | |
| 
 | |
| "some general stuff
 | |
| "syn match texinfoError     "\S" contained TODO
 | |
| syn match texinfoIdent	    "\k\+"		  contained "IDENTifier
 | |
| syn match texinfoAssignment "\k\+\s*=\s*\k\+\s*$" contained "assigment statement ( var = val )
 | |
| syn match texinfoSinglePar  "\k\+\s*$"		  contained "single parameter (used for several @-commands)
 | |
| syn match texinfoIndexPar   "\k\k\s*$"		  contained "param. used for different *index commands (+ @documentlanguage command)
 | |
| 
 | |
| 
 | |
| "marking words and phrases (chap. 9 in Texinfo manual)
 | |
| "(almost) everything appears as 'contained' too; is for tables (@table)
 | |
| 
 | |
| "this chapter is at the beginning of this file to avoid overwritings
 | |
| 
 | |
| syn match texinfoSpecialChar				    "@acronym"		contained
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@acronym{" end="}" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| syn match texinfoSpecialChar				    "@b"		contained
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@b{"	end="}" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| syn match texinfoSpecialChar				    "@cite"		contained
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@cite{"	end="}" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| syn match texinfoSpecialChar				    "@code"		contained
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@code{"	end="}" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| syn match texinfoSpecialChar				    "@command"		contained
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@command{" end="}" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| syn match texinfoSpecialChar				    "@dfn"		contained
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@dfn{"	end="}" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| syn match texinfoSpecialChar				    "@email"		contained
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@email{"	end="}" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| syn match texinfoSpecialChar				    "@emph"		contained
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@emph{"	end="}" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| syn match texinfoSpecialChar				    "@env"		contained
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@env{"	end="}" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| syn match texinfoSpecialChar				    "@file"		contained
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@file{"	end="}" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| syn match texinfoSpecialChar				    "@i"		contained
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@i{"	end="}" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| syn match texinfoSpecialChar				    "@kbd"		contained
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@kbd{"	end="}" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| syn match texinfoSpecialChar				    "@key"		contained
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@key{"	end="}" contains=texinfoSpecialChar
 | |
| syn match texinfoSpecialChar				    "@option"		contained
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@option{"	end="}" contains=texinfoSpecialChar
 | |
| syn match texinfoSpecialChar				    "@r"		contained
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@r{"	end="}" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| syn match texinfoSpecialChar				    "@samp"		contained
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@samp{"	end="}" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| syn match texinfoSpecialChar				    "@sc"		contained
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@sc{"	end="}" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| syn match texinfoSpecialChar				    "@strong"		contained
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@strong{"	end="}" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| syn match texinfoSpecialChar				    "@t"		contained
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@t{"	end="}" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| syn match texinfoSpecialChar				    "@url"		contained
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@url{"	end="}" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| syn match texinfoSpecialChar				    "@var"		contained
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@var{"	end="}" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| syn match texinfoAtCmd "^@kbdinputstyle" nextgroup=texinfoSinglePar skipwhite
 | |
| 
 | |
| 
 | |
| "overview of Texinfo (chap. 1 in Texinfo manual)
 | |
| syn match texinfoComment  "@c .*"
 | |
| syn match texinfoComment  "@c$"
 | |
| syn match texinfoComment  "@comment .*"
 | |
| syn region texinfoMltlnAtCmd matchgroup=texinfoComment start="^@ignore\s*$" end="^@end ignore\s*$" contains=ALL
 | |
| 
 | |
| 
 | |
| "beginning a Texinfo file (chap. 3 in Texinfo manual)
 | |
| syn region texinfoPrmAtCmd     matchgroup=texinfoAtCmd start="@center "		 skip="\\$" end="$"		       contains=texinfoSpecialChar,texinfoBrcPrmAtCmd oneline
 | |
| syn region texinfoMltlnDMAtCmd matchgroup=texinfoAtCmd start="^@detailmenu\s*$"		    end="^@end detailmenu\s*$" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| syn region texinfoPrmAtCmd     matchgroup=texinfoAtCmd start="^@setfilename "    skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| syn region texinfoPrmAtCmd     matchgroup=texinfoAtCmd start="^@settitle "       skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| syn region texinfoPrmAtCmd     matchgroup=texinfoAtCmd start="^@shorttitlepage " skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| syn region texinfoPrmAtCmd     matchgroup=texinfoAtCmd start="^@title "		 skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| syn region texinfoBrcPrmAtCmd  matchgroup=texinfoAtCmd start="@titlefont{"		    end="}" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| syn region texinfoMltlnAtCmd   matchgroup=texinfoAtCmd start="^@titlepage\s*$"		    end="^@end titlepage\s*$" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd,texinfoMltlnDMAtCmd,texinfoAtCmd,texinfoPrmAtCmd,texinfoMltlnAtCmd
 | |
| syn region texinfoPrmAtCmd     matchgroup=texinfoAtCmd start="^@vskip "		 skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| syn match texinfoAtCmd "^@exampleindent"     nextgroup=texinfoSinglePar skipwhite
 | |
| syn match texinfoAtCmd "^@headings"	     nextgroup=texinfoSinglePar skipwhite
 | |
| syn match texinfoAtCmd "^\\input"	     nextgroup=texinfoSinglePar skipwhite
 | |
| syn match texinfoAtCmd "^@paragraphindent"   nextgroup=texinfoSinglePar skipwhite
 | |
| syn match texinfoAtCmd "^@setchapternewpage" nextgroup=texinfoSinglePar skipwhite
 | |
| 
 | |
| 
 | |
| "ending a Texinfo file (chap. 4 in Texinfo manual)
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="@author " skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| "all below @bye should be comment TODO
 | |
| syn match texinfoAtCmd "^@bye\s*$"
 | |
| syn match texinfoAtCmd "^@contents\s*$"
 | |
| syn match texinfoAtCmd "^@printindex" nextgroup=texinfoIndexPar skipwhite
 | |
| syn match texinfoAtCmd "^@setcontentsaftertitlepage\s*$"
 | |
| syn match texinfoAtCmd "^@setshortcontentsaftertitlepage\s*$"
 | |
| syn match texinfoAtCmd "^@shortcontents\s*$"
 | |
| syn match texinfoAtCmd "^@summarycontents\s*$"
 | |
| 
 | |
| 
 | |
| "chapter structuring (chap. 5 in Texinfo manual)
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@appendix"		 skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@appendixsec"	 skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@appendixsection"	 skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@appendixsubsec"	 skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@appendixsubsubsec"	 skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@centerchap"		 skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@chapheading"	 skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@chapter"		 skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@heading"		 skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@majorheading"	 skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@section"		 skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@subheading "	 skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@subsection"		 skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@subsubheading"	 skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@subsubsection"	 skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@subtitle"		 skip="\\$" end="$" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd oneline
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@unnumbered"		 skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@unnumberedsec"	 skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@unnumberedsubsec"	 skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@unnumberedsubsubsec" skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| syn match  texinfoAtCmd "^@lowersections\s*$"
 | |
| syn match  texinfoAtCmd "^@raisesections\s*$"
 | |
| 
 | |
| 
 | |
| "nodes (chap. 6 in Texinfo manual)
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@anchor{"		  end="}"
 | |
| syn region texinfoPrmAtCmd    matchgroup=texinfoAtCmd start="^@top"    skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| syn region texinfoPrmAtCmd    matchgroup=texinfoAtCmd start="^@node"   skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| 
 | |
| 
 | |
| "menus (chap. 7 in Texinfo manual)
 | |
| syn region texinfoMltlnAtCmd matchgroup=texinfoAtCmd start="^@menu\s*$" end="^@end menu\s*$" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd,texinfoMltlnDMAtCmd
 | |
| 
 | |
| 
 | |
| "cross references (chap. 8 in Texinfo manual)
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@inforef{" end="}" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@pxref{"   end="}" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@ref{"     end="}" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@uref{"    end="}" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@xref{"    end="}" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| 
 | |
| 
 | |
| "marking words and phrases (chap. 9 in Texinfo manual)
 | |
| "(almost) everything appears as 'contained' too; is for tables (@table)
 | |
| 
 | |
| "this chapter is at the beginning of this file to avoid overwritings
 | |
| 
 | |
| 
 | |
| "quotations and examples (chap. 10 in Texinfo manual)
 | |
| syn region texinfoMltlnAtCmd matchgroup=texinfoAtCmd start="^@cartouche\s*$"	    end="^@end cartouche\s*$"	    contains=ALL
 | |
| syn region texinfoMltlnAtCmd matchgroup=texinfoAtCmd start="^@display\s*$"	    end="^@end display\s*$"	    contains=ALL
 | |
| syn region texinfoMltlnAtCmd matchgroup=texinfoAtCmd start="^@example\s*$"	    end="^@end example\s*$"	    contains=ALL
 | |
| syn region texinfoMltlnAtCmd matchgroup=texinfoAtCmd start="^@flushleft\s*$"	    end="^@end flushleft\s*$"	    contains=ALL
 | |
| syn region texinfoMltlnAtCmd matchgroup=texinfoAtCmd start="^@flushright\s*$"	    end="^@end flushright\s*$"	    contains=ALL
 | |
| syn region texinfoMltlnAtCmd matchgroup=texinfoAtCmd start="^@format\s*$"	    end="^@end format\s*$"	    contains=ALL
 | |
| syn region texinfoMltlnAtCmd matchgroup=texinfoAtCmd start="^@lisp\s*$"		    end="^@end lisp\s*$"	    contains=ALL
 | |
| syn region texinfoMltlnAtCmd matchgroup=texinfoAtCmd start="^@quotation\s*$"	    end="^@end quotation\s*$"	    contains=ALL
 | |
| syn region texinfoMltlnAtCmd matchgroup=texinfoAtCmd start="^@smalldisplay\s*$"     end="^@end smalldisplay\s*$"    contains=ALL
 | |
| syn region texinfoMltlnAtCmd matchgroup=texinfoAtCmd start="^@smallexample\s*$"     end="^@end smallexample\s*$"    contains=ALL
 | |
| syn region texinfoMltlnAtCmd matchgroup=texinfoAtCmd start="^@smallformat\s*$"	    end="^@end smallformat\s*$"     contains=ALL
 | |
| syn region texinfoMltlnAtCmd matchgroup=texinfoAtCmd start="^@smalllisp\s*$"	    end="^@end smalllisp\s*$"	    contains=ALL
 | |
| syn region texinfoPrmAtCmd   matchgroup=texinfoAtCmd start="^@exdent"	 skip="\\$" end="$"			    contains=texinfoSpecialChar oneline
 | |
| syn match texinfoAtCmd "^@noindent\s*$"
 | |
| syn match texinfoAtCmd "^@smallbook\s*$"
 | |
| 
 | |
| 
 | |
| "lists and tables (chap. 11 in Texinfo manual)
 | |
| syn match texinfoAtCmd "@asis"		   contained
 | |
| syn match texinfoAtCmd "@columnfractions"  contained
 | |
| syn match texinfoAtCmd "@item"		   contained
 | |
| syn match texinfoAtCmd "@itemx"		   contained
 | |
| syn match texinfoAtCmd "@tab"		   contained
 | |
| syn region texinfoMltlnAtCmd  matchgroup=texinfoAtCmd start="^@enumerate"  end="^@end enumerate\s*$"  contains=ALL
 | |
| syn region texinfoMltlnAtCmd  matchgroup=texinfoAtCmd start="^@ftable"     end="^@end ftable\s*$"     contains=ALL
 | |
| syn region texinfoMltlnNAtCmd matchgroup=texinfoAtCmd start="^@itemize"    end="^@end itemize\s*$"    contains=ALL
 | |
| syn region texinfoMltlnNAtCmd matchgroup=texinfoAtCmd start="^@multitable" end="^@end multitable\s*$" contains=ALL
 | |
| syn region texinfoMltlnNAtCmd matchgroup=texinfoAtCmd start="^@table"      end="^@end table\s*$"      contains=ALL
 | |
| syn region texinfoMltlnAtCmd  matchgroup=texinfoAtCmd start="^@vtable"     end="^@end vtable\s*$"     contains=ALL
 | |
| 
 | |
| 
 | |
| "indices (chap. 12 in Texinfo manual)
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@\(c\|f\|k\|p\|t\|v\)index"   skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@..index"			 skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| "@defcodeindex and @defindex is defined after chap. 15's @def* commands (otherwise those ones will overwrite these ones)
 | |
| syn match texinfoSIPar "\k\k\s*\k\k\s*$" contained
 | |
| syn match texinfoAtCmd "^@syncodeindex" nextgroup=texinfoSIPar skipwhite
 | |
| syn match texinfoAtCmd "^@synindex"     nextgroup=texinfoSIPar skipwhite
 | |
| 
 | |
| "special insertions (chap. 13 in Texinfo manual)
 | |
| syn match texinfoSpecialChar "@\(!\|?\|@\|\s\)"
 | |
| syn match texinfoSpecialChar "@{"
 | |
| syn match texinfoSpecialChar "@}"
 | |
| "accents
 | |
| syn match texinfoSpecialChar "@=."
 | |
| syn match texinfoSpecialChar "@\('\|\"\|\^\|`\)[aeiouyAEIOUY]"
 | |
| syn match texinfoSpecialChar "@\~[aeinouyAEINOUY]"
 | |
| syn match texinfoSpecialChar "@dotaccent{.}"
 | |
| syn match texinfoSpecialChar "@H{.}"
 | |
| syn match texinfoSpecialChar "@,{[cC]}"
 | |
| syn match texinfoSpecialChar "@AA{}"
 | |
| syn match texinfoSpecialChar "@aa{}"
 | |
| syn match texinfoSpecialChar "@L{}"
 | |
| syn match texinfoSpecialChar "@l{}"
 | |
| syn match texinfoSpecialChar "@O{}"
 | |
| syn match texinfoSpecialChar "@o{}"
 | |
| syn match texinfoSpecialChar "@ringaccent{.}"
 | |
| syn match texinfoSpecialChar "@tieaccent{..}"
 | |
| syn match texinfoSpecialChar "@u{.}"
 | |
| syn match texinfoSpecialChar "@ubaraccent{.}"
 | |
| syn match texinfoSpecialChar "@udotaccent{.}"
 | |
| syn match texinfoSpecialChar "@v{.}"
 | |
| "ligatures
 | |
| syn match texinfoSpecialChar "@AE{}"
 | |
| syn match texinfoSpecialChar "@ae{}"
 | |
| syn match texinfoSpecialChar "@copyright{}"
 | |
| syn match texinfoSpecialChar "@bullet" contained "for tables and lists
 | |
| syn match texinfoSpecialChar "@bullet{}"
 | |
| syn match texinfoSpecialChar "@dotless{i}"
 | |
| syn match texinfoSpecialChar "@dotless{j}"
 | |
| syn match texinfoSpecialChar "@dots{}"
 | |
| syn match texinfoSpecialChar "@enddots{}"
 | |
| syn match texinfoSpecialChar "@equiv" contained "for tables and lists
 | |
| syn match texinfoSpecialChar "@equiv{}"
 | |
| syn match texinfoSpecialChar "@error{}"
 | |
| syn match texinfoSpecialChar "@exclamdown{}"
 | |
| syn match texinfoSpecialChar "@expansion{}"
 | |
| syn match texinfoSpecialChar "@minus" contained "for tables and lists
 | |
| syn match texinfoSpecialChar "@minus{}"
 | |
| syn match texinfoSpecialChar "@OE{}"
 | |
| syn match texinfoSpecialChar "@oe{}"
 | |
| syn match texinfoSpecialChar "@point" contained "for tables and lists
 | |
| syn match texinfoSpecialChar "@point{}"
 | |
| syn match texinfoSpecialChar "@pounds{}"
 | |
| syn match texinfoSpecialChar "@print{}"
 | |
| syn match texinfoSpecialChar "@questiondown{}"
 | |
| syn match texinfoSpecialChar "@result" contained "for tables and lists
 | |
| syn match texinfoSpecialChar "@result{}"
 | |
| syn match texinfoSpecialChar "@ss{}"
 | |
| syn match texinfoSpecialChar "@TeX{}"
 | |
| "other
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@dmn{"      end="}"
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@footnote{" end="}" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@image{"    end="}"
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@math{"     end="}"
 | |
| syn match texinfoAtCmd "@footnotestyle" nextgroup=texinfoSinglePar skipwhite
 | |
| 
 | |
| 
 | |
| "making and preventing breaks (chap. 14 in Texinfo manual)
 | |
| syn match texinfoSpecialChar  "@\(\*\|-\|\.\)"
 | |
| syn match texinfoAtCmd	      "^@need"	   nextgroup=texinfoSinglePar skipwhite
 | |
| syn match texinfoAtCmd	      "^@page\s*$"
 | |
| syn match texinfoAtCmd	      "^@sp"	   nextgroup=texinfoSinglePar skipwhite
 | |
| syn region texinfoMltlnAtCmd  matchgroup=texinfoAtCmd start="^@group\s*$"   end="^@end group\s*$" contains=ALL
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@hyphenation{" end="}"
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@w{"	    end="}"		  contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| 
 | |
| 
 | |
| "definition commands (chap. 15 in Texinfo manual)
 | |
| syn match texinfoMltlnAtCmdFLine "^@def\k\+" contained
 | |
| syn region texinfoMltlnAtCmd matchgroup=texinfoAtCmd start="^@def\k\+" end="^@end def\k\+$"      contains=ALL
 | |
| 
 | |
| "next 2 commands are from chap. 12; must be defined after @def* commands above to overwrite them
 | |
| syn match texinfoAtCmd "@defcodeindex" nextgroup=texinfoIndexPar skipwhite
 | |
| syn match texinfoAtCmd "@defindex" nextgroup=texinfoIndexPar skipwhite
 | |
| 
 | |
| 
 | |
| "conditionally visible text (chap. 16 in Texinfo manual)
 | |
| syn match texinfoAtCmd "^@clear" nextgroup=texinfoSinglePar skipwhite
 | |
| syn region texinfoMltln2AtCmd matchgroup=texinfoAtCmd start="^@html\s*$"	end="^@end html\s*$"
 | |
| syn region texinfoMltlnAtCmd  matchgroup=texinfoAtCmd start="^@ifclear"		end="^@end ifclear\s*$"   contains=ALL
 | |
| syn region texinfoMltlnAtCmd  matchgroup=texinfoAtCmd start="^@ifhtml"		end="^@end ifhtml\s*$"	  contains=ALL
 | |
| syn region texinfoMltlnAtCmd  matchgroup=texinfoAtCmd start="^@ifinfo"		end="^@end ifinfo\s*$"	  contains=ALL
 | |
| syn region texinfoMltlnAtCmd  matchgroup=texinfoAtCmd start="^@ifnothtml"	end="^@end ifnothtml\s*$" contains=ALL
 | |
| syn region texinfoMltlnAtCmd  matchgroup=texinfoAtCmd start="^@ifnotinfo"	end="^@end ifnotinfo\s*$" contains=ALL
 | |
| syn region texinfoMltlnAtCmd  matchgroup=texinfoAtCmd start="^@ifnottex"	end="^@end ifnottex\s*$"  contains=ALL
 | |
| syn region texinfoMltlnAtCmd  matchgroup=texinfoAtCmd start="^@ifset"		end="^@end ifset\s*$"	  contains=ALL
 | |
| syn region texinfoMltlnAtCmd  matchgroup=texinfoAtCmd start="^@iftex"		end="^@end iftex\s*$"	  contains=ALL
 | |
| syn region texinfoPrmAtCmd    matchgroup=texinfoAtCmd start="^@set " skip="\\$" end="$" contains=texinfoSpecialChar oneline
 | |
| syn region texinfoTexCmd			      start="\$\$"		end="\$\$" contained
 | |
| syn region texinfoMltlnAtCmd  matchgroup=texinfoAtCmd start="^@tex"		end="^@end tex\s*$"	  contains=texinfoTexCmd
 | |
| syn region texinfoBrcPrmAtCmd matchgroup=texinfoAtCmd start="@value{"		end="}" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| 
 | |
| 
 | |
| "internationalization (chap. 17 in Texinfo manual)
 | |
| syn match texinfoAtCmd "@documentencoding" nextgroup=texinfoSinglePar skipwhite
 | |
| syn match texinfoAtCmd "@documentlanguage" nextgroup=texinfoIndexPar skipwhite
 | |
| 
 | |
| 
 | |
| "defining new texinfo commands (chap. 18 in Texinfo manual)
 | |
| syn match texinfoAtCmd	"@alias"		      nextgroup=texinfoAssignment skipwhite
 | |
| syn match texinfoDIEPar "\S*\s*,\s*\S*\s*,\s*\S*\s*$" contained
 | |
| syn match texinfoAtCmd	"@definfoenclose"	      nextgroup=texinfoDIEPar	  skipwhite
 | |
| syn region texinfoMltlnAtCmd matchgroup=texinfoAtCmd start="^@macro" end="^@end macro\s*$" contains=ALL
 | |
| 
 | |
| 
 | |
| "formatting hardcopy (chap. 19 in Texinfo manual)
 | |
| syn match texinfoAtCmd "^@afourlatex\s*$"
 | |
| syn match texinfoAtCmd "^@afourpaper\s*$"
 | |
| syn match texinfoAtCmd "^@afourwide\s*$"
 | |
| syn match texinfoAtCmd "^@finalout\s*$"
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@pagesizes" end="$" oneline
 | |
| 
 | |
| 
 | |
| "creating and installing Info Files (chap. 20 in Texinfo manual)
 | |
| syn region texinfoPrmAtCmd   matchgroup=texinfoAtCmd start="^@dircategory"  skip="\\$" end="$" oneline
 | |
| syn region texinfoMltlnAtCmd matchgroup=texinfoAtCmd start="^@direntry\s*$"	       end="^@end direntry\s*$" contains=texinfoSpecialChar
 | |
| syn match  texinfoAtCmd "^@novalidate\s*$"
 | |
| 
 | |
| 
 | |
| "include files (appendix E in Texinfo manual)
 | |
| syn match texinfoAtCmd "^@include" nextgroup=texinfoSinglePar skipwhite
 | |
| 
 | |
| 
 | |
| "page headings (appendix F in Texinfo manual)
 | |
| syn match texinfoHFSpecialChar "@|"		  contained
 | |
| syn match texinfoThisAtCmd     "@thischapter"	  contained
 | |
| syn match texinfoThisAtCmd     "@thischaptername" contained
 | |
| syn match texinfoThisAtCmd     "@thisfile"	  contained
 | |
| syn match texinfoThisAtCmd     "@thispage"	  contained
 | |
| syn match texinfoThisAtCmd     "@thistitle"	  contained
 | |
| syn match texinfoThisAtCmd     "@today{}"	  contained
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@evenfooting"  skip="\\$" end="$" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd,texinfoThisAtCmd,texinfoHFSpecialChar oneline
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@evenheading"  skip="\\$" end="$" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd,texinfoThisAtCmd,texinfoHFSpecialChar oneline
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@everyfooting" skip="\\$" end="$" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd,texinfoThisAtCmd,texinfoHFSpecialChar oneline
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@everyheading" skip="\\$" end="$" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd,texinfoThisAtCmd,texinfoHFSpecialChar oneline
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@oddfooting"   skip="\\$" end="$" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd,texinfoThisAtCmd,texinfoHFSpecialChar oneline
 | |
| syn region texinfoPrmAtCmd matchgroup=texinfoAtCmd start="^@oddheading"   skip="\\$" end="$" contains=texinfoSpecialChar,texinfoBrcPrmAtCmd,texinfoThisAtCmd,texinfoHFSpecialChar oneline
 | |
| 
 | |
| 
 | |
| "refilling paragraphs (appendix H in Texinfo manual)
 | |
| syn match  texinfoAtCmd "@refill"
 | |
| 
 | |
| 
 | |
| syn cluster texinfoAll contains=ALLBUT,texinfoThisAtCmd,texinfoHFSpecialChar
 | |
| syn cluster texinfoReducedAll contains=texinfoSpecialChar,texinfoBrcPrmAtCmd
 | |
| "==============================================================================
 | |
| " 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_texinfo_syn_inits")
 | |
| 
 | |
|   if version < 508
 | |
|     let did_texinfo_syn_inits = 1
 | |
|     command -nargs=+ HiLink hi link <args>
 | |
|   else
 | |
|     command -nargs=+ HiLink hi def link <args>
 | |
|   endif
 | |
| 
 | |
|   HiLink texinfoSpecialChar	Special
 | |
|   HiLink texinfoHFSpecialChar	Special
 | |
| 
 | |
|   HiLink texinfoError		Error
 | |
|   HiLink texinfoIdent		Identifier
 | |
|   HiLink texinfoAssignment	Identifier
 | |
|   HiLink texinfoSinglePar	Identifier
 | |
|   HiLink texinfoIndexPar	Identifier
 | |
|   HiLink texinfoSIPar		Identifier
 | |
|   HiLink texinfoDIEPar		Identifier
 | |
|   HiLink texinfoTexCmd		PreProc
 | |
| 
 | |
| 
 | |
|   HiLink texinfoAtCmd		Statement	"@-command
 | |
|   HiLink texinfoPrmAtCmd	String		"@-command in one line with unknown nr. of parameters
 | |
| 						"is String because is found as a region and is 'matchgroup'-ed
 | |
| 						"to texinfoAtCmd
 | |
|   HiLink texinfoBrcPrmAtCmd	String		"@-command with parameter(s) in braces ({})
 | |
| 						"is String because is found as a region and is 'matchgroup'-ed to texinfoAtCmd
 | |
|   HiLink texinfoMltlnAtCmdFLine  texinfoAtCmd	"repeated embedded First lines in @-commands
 | |
|   HiLink texinfoMltlnAtCmd	String		"@-command in multiple lines
 | |
| 						"is String because is found as a region and is 'matchgroup'-ed to texinfoAtCmd
 | |
|   HiLink texinfoMltln2AtCmd	PreProc		"@-command in multiple lines (same as texinfoMltlnAtCmd, just with other colors)
 | |
|   HiLink texinfoMltlnDMAtCmd	PreProc		"@-command in multiple lines (same as texinfoMltlnAtCmd, just with other colors; used for @detailmenu, which can be included in @menu)
 | |
|   HiLink texinfoMltlnNAtCmd	Normal		"@-command in multiple lines (same as texinfoMltlnAtCmd, just with other colors)
 | |
|   HiLink texinfoThisAtCmd	Statement	"@-command used in headers and footers (@this... series)
 | |
| 
 | |
|   HiLink texinfoComment	Comment
 | |
| 
 | |
|   delcommand HiLink
 | |
| endif
 | |
| 
 | |
| 
 | |
| let b:current_syntax = "texinfo"
 | |
| 
 | |
| if main_syntax == 'texinfo'
 | |
|   unlet main_syntax
 | |
| endif
 | |
| 
 | |
| " vim: ts=8
 |