| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " Vim syntax file | 
					
						
							|  |  |  | " Language:	X resources files like ~/.Xdefaults (xrdb) | 
					
						
							|  |  |  | " Maintainer:	Johannes Zellner <johannes@zellner.org> | 
					
						
							|  |  |  | "		Author and previous maintainer: | 
					
						
							|  |  |  | "		Gautam H. Mudunuri <gmudunur@informatica.com> | 
					
						
							| 
									
										
										
										
											2007-05-05 17:54:07 +00:00
										 |  |  | " Last Change:	Di, 09 Mai 2006 23:10:23 CEST | 
					
						
							| 
									
										
										
										
											2010-01-06 20:54:52 +01:00
										 |  |  | " $Id: xdefaults.vim,v 1.2 2007/05/05 17:19:40 vimboss Exp $ | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " | 
					
						
							|  |  |  | " REFERENCES: | 
					
						
							|  |  |  | "   xrdb manual page | 
					
						
							|  |  |  | "   xrdb source: ftp://ftp.x.org/pub/R6.4/xc/programs/xrdb/xrdb.c | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-30 23:26:57 +02:00
										 |  |  | " quit when a syntax file was already loaded | 
					
						
							|  |  |  | if exists("b:current_syntax") | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |   finish | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " turn case on | 
					
						
							|  |  |  | syn case match | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if !exists("xdefaults_no_colon_errors") | 
					
						
							|  |  |  |     " mark lines which do not contain a colon as errors. | 
					
						
							|  |  |  |     " This does not really catch all errors but only lines | 
					
						
							|  |  |  |     " which contain at least two WORDS and no colon. This | 
					
						
							|  |  |  |     " was done this way so that a line is not marked as | 
					
						
							|  |  |  |     " error while typing (which would be annoying). | 
					
						
							|  |  |  |     syntax match xdefaultsErrorLine "^\s*[a-zA-Z.*]\+\s\+[^: 	]\+" | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " syn region  xdefaultsLabel   start=+^[^:]\{-}:+he=e-1 skip=+\\+ end="$" | 
					
						
							| 
									
										
										
										
											2012-05-18 13:46:39 +02:00
										 |  |  | syn match   xdefaultsLabel   +^[^:]\{-}:+he=e-1                       contains=xdefaultsPunct,xdefaultsSpecial,xdefaultsLineEnd | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | syn region  xdefaultsValue   keepend start=+:+lc=1 skip=+\\+ end=+$+ contains=xdefaultsSpecial,xdefaultsLabel,xdefaultsLineEnd | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn match   xdefaultsSpecial	contained +#override+ | 
					
						
							|  |  |  | syn match   xdefaultsSpecial	contained +#augment+ | 
					
						
							|  |  |  | syn match   xdefaultsPunct	contained +[.*:]+ | 
					
						
							|  |  |  | syn match   xdefaultsLineEnd	contained +\\$+ | 
					
						
							|  |  |  | syn match   xdefaultsLineEnd	contained +\\n\\$+ | 
					
						
							|  |  |  | syn match   xdefaultsLineEnd	contained +\\n$+ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " COMMENTS | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " note, that the '!' must be at the very first position of the line | 
					
						
							| 
									
										
										
										
											2007-05-05 17:54:07 +00:00
										 |  |  | syn match   xdefaultsComment "^!.*$"                     contains=xdefaultsTodo,@Spell | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " lines starting with a '#' mark and which are not preprocessor | 
					
						
							|  |  |  | " lines are skipped.  This is not part of the xrdb documentation. | 
					
						
							|  |  |  | " It was reported by Bram Moolenaar and could be confirmed by | 
					
						
							|  |  |  | " having a look at xrdb.c:GetEntries() | 
					
						
							|  |  |  | syn match   xdefaultsCommentH		"^#.*$" | 
					
						
							|  |  |  | "syn region  xdefaultsComment start="^#"  end="$" keepend contains=ALL | 
					
						
							| 
									
										
										
										
											2007-05-05 17:54:07 +00:00
										 |  |  | syn region  xdefaultsComment start="/\*" end="\*/"       contains=xdefaultsTodo,@Spell | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | syntax match xdefaultsCommentError	"\*/" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn keyword xdefaultsTodo contained TODO FIXME XXX display | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " PREPROCESSOR STUFF | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn region	xdefaultsPreProc	start="^\s*#\s*\(if\|ifdef\|ifndef\|elif\|else\|endif\)\>" skip="\\$" end="$" contains=xdefaultsSymbol | 
					
						
							|  |  |  | if !exists("xdefaults_no_if0") | 
					
						
							|  |  |  |   syn region	xdefaultsCppOut		start="^\s*#\s*if\s\+0\>" end=".\|$" contains=xdefaultsCppOut2 | 
					
						
							|  |  |  |   syn region	xdefaultsCppOut2	contained start="0" end="^\s*#\s*\(endif\>\|else\>\|elif\>\)" contains=xdefaultsCppSkip | 
					
						
							|  |  |  |   syn region	xdefaultsCppSkip	contained start="^\s*#\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*#\s*endif\>" contains=xdefaultsCppSkip | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | syn region	xdefaultsIncluded	contained start=+"+ skip=+\\\\\|\\"+ end=+"+ | 
					
						
							|  |  |  | syn match	xdefaultsIncluded	contained "<[^>]*>" | 
					
						
							|  |  |  | syn match	xdefaultsInclude	"^\s*#\s*include\>\s*["<]" contains=xdefaultsIncluded | 
					
						
							| 
									
										
										
										
											2012-05-18 13:46:39 +02:00
										 |  |  | syn cluster	xdefaultsPreProcGroup	contains=xdefaultsPreProc,xdefaultsIncluded,xdefaultsInclude,xdefaultsDefine,xdefaultsCppOut,xdefaultsCppOut2,xdefaultsCppSkip | 
					
						
							|  |  |  | syn region	xdefaultsDefine		start="^\s*#\s*\(define\|undef\)\>" skip="\\$" end="$" contains=ALLBUT,@xdefaultsPreProcGroup,xdefaultsCommentH,xdefaultsErrorLine,xdefaultsLabel,xdefaultsValue | 
					
						
							|  |  |  | syn region	xdefaultsPreProc	start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@xdefaultsPreProcGroup,xdefaultsCommentH,xdefaultsErrorLine,xdefaultsLabel,xdefaultsValue | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " symbols as defined by xrdb | 
					
						
							|  |  |  | syn keyword xdefaultsSymbol contained SERVERHOST | 
					
						
							|  |  |  | syn match   xdefaultsSymbol contained "SRVR_[a-zA-Z0-9_]\+" | 
					
						
							|  |  |  | syn keyword xdefaultsSymbol contained HOST | 
					
						
							|  |  |  | syn keyword xdefaultsSymbol contained DISPLAY_NUM | 
					
						
							|  |  |  | syn keyword xdefaultsSymbol contained CLIENTHOST | 
					
						
							|  |  |  | syn match   xdefaultsSymbol contained "CLNT_[a-zA-Z0-9_]\+" | 
					
						
							|  |  |  | syn keyword xdefaultsSymbol contained RELEASE | 
					
						
							|  |  |  | syn keyword xdefaultsSymbol contained REVISION | 
					
						
							|  |  |  | syn keyword xdefaultsSymbol contained VERSION | 
					
						
							|  |  |  | syn keyword xdefaultsSymbol contained VENDOR | 
					
						
							|  |  |  | syn match   xdefaultsSymbol contained "VNDR_[a-zA-Z0-9_]\+" | 
					
						
							|  |  |  | syn match   xdefaultsSymbol contained "EXT_[a-zA-Z0-9_]\+" | 
					
						
							|  |  |  | syn keyword xdefaultsSymbol contained NUM_SCREENS | 
					
						
							|  |  |  | syn keyword xdefaultsSymbol contained SCREEN_NUM | 
					
						
							|  |  |  | syn keyword xdefaultsSymbol contained BITS_PER_RGB | 
					
						
							|  |  |  | syn keyword xdefaultsSymbol contained CLASS | 
					
						
							|  |  |  | syn keyword xdefaultsSymbol contained StaticGray GrayScale StaticColor PseudoColor TrueColor DirectColor | 
					
						
							|  |  |  | syn match   xdefaultsSymbol contained "CLASS_\(StaticGray\|GrayScale\|StaticColor\|PseudoColor\|TrueColor\|DirectColor\)" | 
					
						
							|  |  |  | syn keyword xdefaultsSymbol contained COLOR | 
					
						
							|  |  |  | syn match   xdefaultsSymbol contained "CLASS_\(StaticGray\|GrayScale\|StaticColor\|PseudoColor\|TrueColor\|DirectColor\)_[0-9]\+" | 
					
						
							|  |  |  | syn keyword xdefaultsSymbol contained HEIGHT | 
					
						
							|  |  |  | syn keyword xdefaultsSymbol contained WIDTH | 
					
						
							|  |  |  | syn keyword xdefaultsSymbol contained PLANES | 
					
						
							|  |  |  | syn keyword xdefaultsSymbol contained X_RESOLUTION | 
					
						
							|  |  |  | syn keyword xdefaultsSymbol contained Y_RESOLUTION | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Define the default highlighting. | 
					
						
							| 
									
										
										
										
											2016-08-30 23:26:57 +02:00
										 |  |  | " Only when an item doesn't have highlighting yet | 
					
						
							| 
									
										
										
										
											2016-08-31 22:22:10 +02:00
										 |  |  | hi def link xdefaultsLabel		Type | 
					
						
							|  |  |  | hi def link xdefaultsValue		Constant | 
					
						
							|  |  |  | hi def link xdefaultsComment	Comment | 
					
						
							|  |  |  | hi def link xdefaultsCommentH	xdefaultsComment | 
					
						
							|  |  |  | hi def link xdefaultsPreProc	PreProc | 
					
						
							|  |  |  | hi def link xdefaultsInclude	xdefaultsPreProc | 
					
						
							|  |  |  | hi def link xdefaultsCppSkip	xdefaultsCppOut | 
					
						
							|  |  |  | hi def link xdefaultsCppOut2	xdefaultsCppOut | 
					
						
							|  |  |  | hi def link xdefaultsCppOut	Comment | 
					
						
							|  |  |  | hi def link xdefaultsIncluded	String | 
					
						
							|  |  |  | hi def link xdefaultsDefine	Macro | 
					
						
							|  |  |  | hi def link xdefaultsSymbol	Statement | 
					
						
							|  |  |  | hi def link xdefaultsSpecial	Statement | 
					
						
							|  |  |  | hi def link xdefaultsErrorLine	Error | 
					
						
							|  |  |  | hi def link xdefaultsCommentError	Error | 
					
						
							|  |  |  | hi def link xdefaultsPunct		Normal | 
					
						
							|  |  |  | hi def link xdefaultsLineEnd	Special | 
					
						
							|  |  |  | hi def link xdefaultsTodo		Todo | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | let b:current_syntax = "xdefaults" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " vim:ts=8 |