| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " Vim syntax file | 
					
						
							|  |  |  | " Language:		configure.in script: M4 with sh | 
					
						
							|  |  |  | " Maintainer:	Christian Hammesr <ch@lathspell.westend.com> | 
					
						
							| 
									
										
										
										
											2015-01-14 19:42:21 +01:00
										 |  |  | " Last Change:	2015 Jan 14 | 
					
						
							|  |  |  | " 				(patch from Yngve Inntjore Levinsen to detect AC_MSG) | 
					
						
							|  |  |  | " 				(patch from Khym Chanur to add @Spell) | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " Well, I actually even do not know much about m4. This explains why there | 
					
						
							|  |  |  | " is probably very much missing here, yet ! | 
					
						
							| 
									
										
										
										
											2015-01-14 19:42:21 +01:00
										 |  |  | " But I missed good highlighting when editing my GNU autoconf/automake | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " script, so I wrote this quick and dirty patch. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " 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 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " define the config syntax | 
					
						
							|  |  |  | syn match   configdelimiter "[()\[\];,]" | 
					
						
							|  |  |  | syn match   configoperator  "[=|&\*\+\<\>]" | 
					
						
							| 
									
										
										
										
											2015-01-14 19:42:21 +01:00
										 |  |  | syn match   configcomment   "\(dnl.*\)\|\(#.*\)" contains=configDnl,@Spell | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | syn match   configfunction  "\<[A-Z_][A-Z0-9_]*\>" | 
					
						
							|  |  |  | syn match   confignumber    "[-+]\=\<\d\+\(\.\d*\)\=\>" | 
					
						
							| 
									
										
										
										
											2015-01-14 19:42:21 +01:00
										 |  |  | syn keyword configDnl   	dnl contained | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | syn keyword configkeyword   if then else fi test for in do done | 
					
						
							|  |  |  | syn keyword configspecial   cat rm eval | 
					
						
							| 
									
										
										
										
											2015-01-14 19:42:21 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | " This shortens the script, see syn-ext-match.. | 
					
						
							|  |  |  | syn region  configstring    start=+\z(["'`]\)+ skip=+\\\z1+ end=+\z1+ contains=@Spell | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Anything inside AC_MSG_TYPE([...])  and AC_MSG_TYPE(...) is a string. | 
					
						
							|  |  |  | syn region  configstring matchgroup=configfunction start="AC_MSG_[A-Z]*\ze(\[" matchgroup=configdelimiter end="\])" contains=configdelimiter,@Spell | 
					
						
							|  |  |  | syn region  configstring matchgroup=configfunction start="AC_MSG_[A-Z]*\ze([^[]" matchgroup=configdelimiter end=")" contains=configdelimiter,@Spell | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " 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_config_syntax_inits") | 
					
						
							|  |  |  |   if version < 508 | 
					
						
							|  |  |  |     let did_config_syntax_inits = 1 | 
					
						
							|  |  |  |     command -nargs=+ HiLink hi link <args> | 
					
						
							|  |  |  |   else | 
					
						
							|  |  |  |     command -nargs=+ HiLink hi def link <args> | 
					
						
							|  |  |  |   endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   HiLink configdelimiter Delimiter | 
					
						
							|  |  |  |   HiLink configoperator  Operator | 
					
						
							|  |  |  |   HiLink configcomment   Comment | 
					
						
							| 
									
										
										
										
											2015-01-14 19:42:21 +01:00
										 |  |  |   HiLink configDnl  	 Comment | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |   HiLink configfunction  Function | 
					
						
							|  |  |  |   HiLink confignumber    Number | 
					
						
							|  |  |  |   HiLink configkeyword   Keyword | 
					
						
							|  |  |  |   HiLink configspecial   Special | 
					
						
							|  |  |  |   HiLink configstring    String | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   delcommand HiLink | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | let b:current_syntax = "config" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " vim: ts=4 |