annotate runtime/syntax/xdefaults.vim @ 0:76efa0be13f1

Initial revision
author atsuki
date Sat, 10 Nov 2007 15:07:22 +0900
parents
children e170173ecb68
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
1 " Vim syntax file
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
2 " Language: X resources files like ~/.Xdefaults (xrdb)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
3 " Maintainer: Johannes Zellner <johannes@zellner.org>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
4 " Author and previous maintainer:
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
5 " Gautam H. Mudunuri <gmudunur@informatica.com>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
6 " Last Change: Di, 09 Mai 2006 23:10:23 CEST
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
7 " $Id$
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
8 "
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
9 " REFERENCES:
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
10 " xrdb manual page
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
11 " xrdb source: ftp://ftp.x.org/pub/R6.4/xc/programs/xrdb/xrdb.c
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
12
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
13 " For version 5.x: Clear all syntax items
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
14 " For version 6.x: Quit when a syntax file was already loaded
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
15 if version < 600
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
16 syntax clear
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
17 elseif exists("b:current_syntax")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
18 finish
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
19 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
20
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
21 " turn case on
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
22 syn case match
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
23
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
24
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
25 if !exists("xdefaults_no_colon_errors")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
26 " mark lines which do not contain a colon as errors.
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
27 " This does not really catch all errors but only lines
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
28 " which contain at least two WORDS and no colon. This
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
29 " was done this way so that a line is not marked as
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
30 " error while typing (which would be annoying).
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
31 syntax match xdefaultsErrorLine "^\s*[a-zA-Z.*]\+\s\+[^: ]\+"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
32 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
33
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
34
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
35 " syn region xdefaultsLabel start=+^[^:]\{-}:+he=e-1 skip=+\\+ end="$"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
36 syn match xdefaultsLabel +[^:]\{-}:+he=e-1 contains=xdefaultsPunct,xdefaultsSpecial,xdefaultsLineEnd
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
37 syn region xdefaultsValue keepend start=+:+lc=1 skip=+\\+ end=+$+ contains=xdefaultsSpecial,xdefaultsLabel,xdefaultsLineEnd
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
38
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
39 syn match xdefaultsSpecial contained +#override+
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
40 syn match xdefaultsSpecial contained +#augment+
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
41 syn match xdefaultsPunct contained +[.*:]+
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
42 syn match xdefaultsLineEnd contained +\\$+
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
43 syn match xdefaultsLineEnd contained +\\n\\$+
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
44 syn match xdefaultsLineEnd contained +\\n$+
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
45
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
46
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
47
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
48 " COMMENTS
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
49
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
50 " note, that the '!' must be at the very first position of the line
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
51 syn match xdefaultsComment "^!.*$" contains=xdefaultsTodo,@Spell
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
52
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
53 " lines starting with a '#' mark and which are not preprocessor
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
54 " lines are skipped. This is not part of the xrdb documentation.
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
55 " It was reported by Bram Moolenaar and could be confirmed by
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
56 " having a look at xrdb.c:GetEntries()
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
57 syn match xdefaultsCommentH "^#.*$"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
58 "syn region xdefaultsComment start="^#" end="$" keepend contains=ALL
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
59 syn region xdefaultsComment start="/\*" end="\*/" contains=xdefaultsTodo,@Spell
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
60
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
61 syntax match xdefaultsCommentError "\*/"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
62
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
63 syn keyword xdefaultsTodo contained TODO FIXME XXX display
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
64
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
65
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
66
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
67 " PREPROCESSOR STUFF
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
68
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
69 syn region xdefaultsPreProc start="^\s*#\s*\(if\|ifdef\|ifndef\|elif\|else\|endif\)\>" skip="\\$" end="$" contains=xdefaultsSymbol
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
70 if !exists("xdefaults_no_if0")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
71 syn region xdefaultsCppOut start="^\s*#\s*if\s\+0\>" end=".\|$" contains=xdefaultsCppOut2
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
72 syn region xdefaultsCppOut2 contained start="0" end="^\s*#\s*\(endif\>\|else\>\|elif\>\)" contains=xdefaultsCppSkip
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
73 syn region xdefaultsCppSkip contained start="^\s*#\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*#\s*endif\>" contains=xdefaultsCppSkip
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
74 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
75 syn region xdefaultsIncluded contained start=+"+ skip=+\\\\\|\\"+ end=+"+
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
76 syn match xdefaultsIncluded contained "<[^>]*>"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
77 syn match xdefaultsInclude "^\s*#\s*include\>\s*["<]" contains=xdefaultsIncluded
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
78 syn cluster xdefaultsPreProcGroup contains=xdefaultsPreProc,xdefaultsIncluded,xdefaultsInclude,xdefaultsDefine
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
79 syn region xdefaultsDefine start="^\s*#\s*\(define\|undef\)\>" skip="\\$" end="$" contains=ALLBUT,@xdefaultsPreProcGroup,xdefaultsCommentH,xdefaultsErrorLine
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
80 syn region xdefaultsPreProc start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@xdefaultsPreProcGroup,xdefaultsCommentH,xdefaultsErrorLine
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
81
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
82
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
83
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
84 " symbols as defined by xrdb
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
85 syn keyword xdefaultsSymbol contained SERVERHOST
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
86 syn match xdefaultsSymbol contained "SRVR_[a-zA-Z0-9_]\+"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
87 syn keyword xdefaultsSymbol contained HOST
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
88 syn keyword xdefaultsSymbol contained DISPLAY_NUM
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
89 syn keyword xdefaultsSymbol contained CLIENTHOST
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
90 syn match xdefaultsSymbol contained "CLNT_[a-zA-Z0-9_]\+"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
91 syn keyword xdefaultsSymbol contained RELEASE
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
92 syn keyword xdefaultsSymbol contained REVISION
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
93 syn keyword xdefaultsSymbol contained VERSION
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
94 syn keyword xdefaultsSymbol contained VENDOR
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
95 syn match xdefaultsSymbol contained "VNDR_[a-zA-Z0-9_]\+"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
96 syn match xdefaultsSymbol contained "EXT_[a-zA-Z0-9_]\+"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
97 syn keyword xdefaultsSymbol contained NUM_SCREENS
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
98 syn keyword xdefaultsSymbol contained SCREEN_NUM
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
99 syn keyword xdefaultsSymbol contained BITS_PER_RGB
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
100 syn keyword xdefaultsSymbol contained CLASS
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
101 syn keyword xdefaultsSymbol contained StaticGray GrayScale StaticColor PseudoColor TrueColor DirectColor
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
102 syn match xdefaultsSymbol contained "CLASS_\(StaticGray\|GrayScale\|StaticColor\|PseudoColor\|TrueColor\|DirectColor\)"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
103 syn keyword xdefaultsSymbol contained COLOR
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
104 syn match xdefaultsSymbol contained "CLASS_\(StaticGray\|GrayScale\|StaticColor\|PseudoColor\|TrueColor\|DirectColor\)_[0-9]\+"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
105 syn keyword xdefaultsSymbol contained HEIGHT
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
106 syn keyword xdefaultsSymbol contained WIDTH
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
107 syn keyword xdefaultsSymbol contained PLANES
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
108 syn keyword xdefaultsSymbol contained X_RESOLUTION
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
109 syn keyword xdefaultsSymbol contained Y_RESOLUTION
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
110
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
111 " Define the default highlighting.
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
112 " For version 5.7 and earlier: only when not done already
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
113 " For version 5.8 and later: only when an item doesn't have highlighting yet
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
114 if version >= 508 || !exists("did_xdefaults_syntax_inits")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
115 if version < 508
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
116 let did_xdefaults_syntax_inits = 1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
117 command -nargs=+ HiLink hi link <args>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
118 else
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
119 command -nargs=+ HiLink hi def link <args>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
120 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
121 HiLink xdefaultsLabel Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
122 HiLink xdefaultsValue Constant
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
123 HiLink xdefaultsComment Comment
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
124 HiLink xdefaultsCommentH xdefaultsComment
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
125 HiLink xdefaultsPreProc PreProc
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
126 HiLink xdefaultsInclude xdefaultsPreProc
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
127 HiLink xdefaultsCppSkip xdefaultsCppOut
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
128 HiLink xdefaultsCppOut2 xdefaultsCppOut
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
129 HiLink xdefaultsCppOut Comment
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
130 HiLink xdefaultsIncluded String
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
131 HiLink xdefaultsDefine Macro
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
132 HiLink xdefaultsSymbol Statement
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
133 HiLink xdefaultsSpecial Statement
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
134 HiLink xdefaultsErrorLine Error
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
135 HiLink xdefaultsCommentError Error
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
136 HiLink xdefaultsPunct Normal
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
137 HiLink xdefaultsLineEnd Special
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
138 HiLink xdefaultsTodo Todo
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
139
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
140 delcommand HiLink
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
141 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
142
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
143 let b:current_syntax = "xdefaults"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
144
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
145 " vim:ts=8