xref: /vim-8.2.3635/runtime/syntax/xdefaults.vim (revision f37506f6)
1071d4279SBram Moolenaar" Vim syntax file
2071d4279SBram Moolenaar" Language:	X resources files like ~/.Xdefaults (xrdb)
3071d4279SBram Moolenaar" Maintainer:	Johannes Zellner <[email protected]>
4071d4279SBram Moolenaar"		Author and previous maintainer:
5071d4279SBram Moolenaar"		Gautam H. Mudunuri <[email protected]>
69964e468SBram Moolenaar" Last Change:	Di, 09 Mai 2006 23:10:23 CEST
75c73622aSBram Moolenaar" $Id: xdefaults.vim,v 1.2 2007/05/05 17:19:40 vimboss Exp $
8071d4279SBram Moolenaar"
9071d4279SBram Moolenaar" REFERENCES:
10071d4279SBram Moolenaar"   xrdb manual page
11071d4279SBram Moolenaar"   xrdb source: ftp://ftp.x.org/pub/R6.4/xc/programs/xrdb/xrdb.c
12071d4279SBram Moolenaar
1389bcfda6SBram Moolenaar" quit when a syntax file was already loaded
1489bcfda6SBram Moolenaarif exists("b:current_syntax")
15071d4279SBram Moolenaar  finish
16071d4279SBram Moolenaarendif
17071d4279SBram Moolenaar
18071d4279SBram Moolenaar" turn case on
19071d4279SBram Moolenaarsyn case match
20071d4279SBram Moolenaar
21071d4279SBram Moolenaar
22071d4279SBram Moolenaarif !exists("xdefaults_no_colon_errors")
23071d4279SBram Moolenaar    " mark lines which do not contain a colon as errors.
24071d4279SBram Moolenaar    " This does not really catch all errors but only lines
25071d4279SBram Moolenaar    " which contain at least two WORDS and no colon. This
26071d4279SBram Moolenaar    " was done this way so that a line is not marked as
27071d4279SBram Moolenaar    " error while typing (which would be annoying).
28071d4279SBram Moolenaar    syntax match xdefaultsErrorLine "^\s*[a-zA-Z.*]\+\s\+[^: 	]\+"
29071d4279SBram Moolenaarendif
30071d4279SBram Moolenaar
31071d4279SBram Moolenaar
32071d4279SBram Moolenaar" syn region  xdefaultsLabel   start=+^[^:]\{-}:+he=e-1 skip=+\\+ end="$"
331aeaf8c0SBram Moolenaarsyn match   xdefaultsLabel   +^[^:]\{-}:+he=e-1                       contains=xdefaultsPunct,xdefaultsSpecial,xdefaultsLineEnd
34071d4279SBram Moolenaarsyn region  xdefaultsValue   keepend start=+:+lc=1 skip=+\\+ end=+$+ contains=xdefaultsSpecial,xdefaultsLabel,xdefaultsLineEnd
35071d4279SBram Moolenaar
36071d4279SBram Moolenaarsyn match   xdefaultsSpecial	contained +#override+
37071d4279SBram Moolenaarsyn match   xdefaultsSpecial	contained +#augment+
38071d4279SBram Moolenaarsyn match   xdefaultsPunct	contained +[.*:]+
39071d4279SBram Moolenaarsyn match   xdefaultsLineEnd	contained +\\$+
40071d4279SBram Moolenaarsyn match   xdefaultsLineEnd	contained +\\n\\$+
41071d4279SBram Moolenaarsyn match   xdefaultsLineEnd	contained +\\n$+
42071d4279SBram Moolenaar
43071d4279SBram Moolenaar
44071d4279SBram Moolenaar
45071d4279SBram Moolenaar" COMMENTS
46071d4279SBram Moolenaar
47071d4279SBram Moolenaar" note, that the '!' must be at the very first position of the line
489964e468SBram Moolenaarsyn match   xdefaultsComment "^!.*$"                     contains=xdefaultsTodo,@Spell
49071d4279SBram Moolenaar
50071d4279SBram Moolenaar" lines starting with a '#' mark and which are not preprocessor
51071d4279SBram Moolenaar" lines are skipped.  This is not part of the xrdb documentation.
52071d4279SBram Moolenaar" It was reported by Bram Moolenaar and could be confirmed by
53071d4279SBram Moolenaar" having a look at xrdb.c:GetEntries()
54071d4279SBram Moolenaarsyn match   xdefaultsCommentH		"^#.*$"
55071d4279SBram Moolenaar"syn region  xdefaultsComment start="^#"  end="$" keepend contains=ALL
569964e468SBram Moolenaarsyn region  xdefaultsComment start="/\*" end="\*/"       contains=xdefaultsTodo,@Spell
57071d4279SBram Moolenaar
58071d4279SBram Moolenaarsyntax match xdefaultsCommentError	"\*/"
59071d4279SBram Moolenaar
60071d4279SBram Moolenaarsyn keyword xdefaultsTodo contained TODO FIXME XXX display
61071d4279SBram Moolenaar
62071d4279SBram Moolenaar
63071d4279SBram Moolenaar
64071d4279SBram Moolenaar" PREPROCESSOR STUFF
65071d4279SBram Moolenaar
66071d4279SBram Moolenaarsyn region	xdefaultsPreProc	start="^\s*#\s*\(if\|ifdef\|ifndef\|elif\|else\|endif\)\>" skip="\\$" end="$" contains=xdefaultsSymbol
67071d4279SBram Moolenaarif !exists("xdefaults_no_if0")
68071d4279SBram Moolenaar  syn region	xdefaultsCppOut		start="^\s*#\s*if\s\+0\>" end=".\|$" contains=xdefaultsCppOut2
69071d4279SBram Moolenaar  syn region	xdefaultsCppOut2	contained start="0" end="^\s*#\s*\(endif\>\|else\>\|elif\>\)" contains=xdefaultsCppSkip
70071d4279SBram Moolenaar  syn region	xdefaultsCppSkip	contained start="^\s*#\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*#\s*endif\>" contains=xdefaultsCppSkip
71071d4279SBram Moolenaarendif
72071d4279SBram Moolenaarsyn region	xdefaultsIncluded	contained start=+"+ skip=+\\\\\|\\"+ end=+"+
73071d4279SBram Moolenaarsyn match	xdefaultsIncluded	contained "<[^>]*>"
74071d4279SBram Moolenaarsyn match	xdefaultsInclude	"^\s*#\s*include\>\s*["<]" contains=xdefaultsIncluded
751aeaf8c0SBram Moolenaarsyn cluster	xdefaultsPreProcGroup	contains=xdefaultsPreProc,xdefaultsIncluded,xdefaultsInclude,xdefaultsDefine,xdefaultsCppOut,xdefaultsCppOut2,xdefaultsCppSkip
761aeaf8c0SBram Moolenaarsyn region	xdefaultsDefine		start="^\s*#\s*\(define\|undef\)\>" skip="\\$" end="$" contains=ALLBUT,@xdefaultsPreProcGroup,xdefaultsCommentH,xdefaultsErrorLine,xdefaultsLabel,xdefaultsValue
771aeaf8c0SBram Moolenaarsyn region	xdefaultsPreProc	start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@xdefaultsPreProcGroup,xdefaultsCommentH,xdefaultsErrorLine,xdefaultsLabel,xdefaultsValue
78071d4279SBram Moolenaar
79071d4279SBram Moolenaar
80071d4279SBram Moolenaar
81071d4279SBram Moolenaar" symbols as defined by xrdb
82071d4279SBram Moolenaarsyn keyword xdefaultsSymbol contained SERVERHOST
83071d4279SBram Moolenaarsyn match   xdefaultsSymbol contained "SRVR_[a-zA-Z0-9_]\+"
84071d4279SBram Moolenaarsyn keyword xdefaultsSymbol contained HOST
85071d4279SBram Moolenaarsyn keyword xdefaultsSymbol contained DISPLAY_NUM
86071d4279SBram Moolenaarsyn keyword xdefaultsSymbol contained CLIENTHOST
87071d4279SBram Moolenaarsyn match   xdefaultsSymbol contained "CLNT_[a-zA-Z0-9_]\+"
88071d4279SBram Moolenaarsyn keyword xdefaultsSymbol contained RELEASE
89071d4279SBram Moolenaarsyn keyword xdefaultsSymbol contained REVISION
90071d4279SBram Moolenaarsyn keyword xdefaultsSymbol contained VERSION
91071d4279SBram Moolenaarsyn keyword xdefaultsSymbol contained VENDOR
92071d4279SBram Moolenaarsyn match   xdefaultsSymbol contained "VNDR_[a-zA-Z0-9_]\+"
93071d4279SBram Moolenaarsyn match   xdefaultsSymbol contained "EXT_[a-zA-Z0-9_]\+"
94071d4279SBram Moolenaarsyn keyword xdefaultsSymbol contained NUM_SCREENS
95071d4279SBram Moolenaarsyn keyword xdefaultsSymbol contained SCREEN_NUM
96071d4279SBram Moolenaarsyn keyword xdefaultsSymbol contained BITS_PER_RGB
97071d4279SBram Moolenaarsyn keyword xdefaultsSymbol contained CLASS
98071d4279SBram Moolenaarsyn keyword xdefaultsSymbol contained StaticGray GrayScale StaticColor PseudoColor TrueColor DirectColor
99071d4279SBram Moolenaarsyn match   xdefaultsSymbol contained "CLASS_\(StaticGray\|GrayScale\|StaticColor\|PseudoColor\|TrueColor\|DirectColor\)"
100071d4279SBram Moolenaarsyn keyword xdefaultsSymbol contained COLOR
101071d4279SBram Moolenaarsyn match   xdefaultsSymbol contained "CLASS_\(StaticGray\|GrayScale\|StaticColor\|PseudoColor\|TrueColor\|DirectColor\)_[0-9]\+"
102071d4279SBram Moolenaarsyn keyword xdefaultsSymbol contained HEIGHT
103071d4279SBram Moolenaarsyn keyword xdefaultsSymbol contained WIDTH
104071d4279SBram Moolenaarsyn keyword xdefaultsSymbol contained PLANES
105071d4279SBram Moolenaarsyn keyword xdefaultsSymbol contained X_RESOLUTION
106071d4279SBram Moolenaarsyn keyword xdefaultsSymbol contained Y_RESOLUTION
107071d4279SBram Moolenaar
108071d4279SBram Moolenaar" Define the default highlighting.
10989bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet
110*f37506f6SBram Moolenaarhi def link xdefaultsLabel		Type
111*f37506f6SBram Moolenaarhi def link xdefaultsValue		Constant
112*f37506f6SBram Moolenaarhi def link xdefaultsComment	Comment
113*f37506f6SBram Moolenaarhi def link xdefaultsCommentH	xdefaultsComment
114*f37506f6SBram Moolenaarhi def link xdefaultsPreProc	PreProc
115*f37506f6SBram Moolenaarhi def link xdefaultsInclude	xdefaultsPreProc
116*f37506f6SBram Moolenaarhi def link xdefaultsCppSkip	xdefaultsCppOut
117*f37506f6SBram Moolenaarhi def link xdefaultsCppOut2	xdefaultsCppOut
118*f37506f6SBram Moolenaarhi def link xdefaultsCppOut	Comment
119*f37506f6SBram Moolenaarhi def link xdefaultsIncluded	String
120*f37506f6SBram Moolenaarhi def link xdefaultsDefine	Macro
121*f37506f6SBram Moolenaarhi def link xdefaultsSymbol	Statement
122*f37506f6SBram Moolenaarhi def link xdefaultsSpecial	Statement
123*f37506f6SBram Moolenaarhi def link xdefaultsErrorLine	Error
124*f37506f6SBram Moolenaarhi def link xdefaultsCommentError	Error
125*f37506f6SBram Moolenaarhi def link xdefaultsPunct		Normal
126*f37506f6SBram Moolenaarhi def link xdefaultsLineEnd	Special
127*f37506f6SBram Moolenaarhi def link xdefaultsTodo		Todo
128071d4279SBram Moolenaar
129071d4279SBram Moolenaar
130071d4279SBram Moolenaarlet b:current_syntax = "xdefaults"
131071d4279SBram Moolenaar
132071d4279SBram Moolenaar" vim:ts=8
133