annotate runtime/syntax/icon.vim @ 34:e170173ecb68 current-release

before ack base protocol.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 26 Nov 2008 15:02:10 +0900
parents 76efa0be13f1
children
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: Icon
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
3 " Maintainer: Wendell Turner <wendell@adsi-m4.com>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
4 " URL: ftp://ftp.halcyon.com/pub/users/wturner/icon.vim
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
5 " Last Change: 2003 May 11
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
6
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
7 " For version 5.x: Clear all syntax items
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
8 " For version 6.x: Quit when a syntax file was already loaded
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
9 if version < 600
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
10 syntax clear
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
11 elseif exists("b:current_syntax")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
12 finish
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
13 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
14
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
15 syn keyword iconFunction abs acos any args asin atan bal
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
16 syn keyword iconFunction callout center char chdir close collect copy
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
17 syn keyword iconFunction cos cset delay delete detab display dtor
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
18 syn keyword iconFunction entab errorclear exit exp find flush function
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
19 syn keyword iconFunction get getch getche getenv iand icom image
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
20 syn keyword iconFunction insert integer ior ishift ixor kbhit key
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
21 syn keyword iconFunction left list loadfunc log many map match
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
22 syn keyword iconFunction member move name numeric open ord pop
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
23 syn keyword iconFunction pos proc pull push put read reads
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
24 syn keyword iconFunction real remove rename repl reverse right rtod
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
25 syn keyword iconFunction runerr save seek seq set sin sort
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
26 syn keyword iconFunction sortf sqrt stop string system tab table
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
27 syn keyword iconFunction tan trim type upto variable where write writes
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
28
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
29 " Keywords
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
30 syn match iconKeyword "&allocated"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
31 syn match iconKeyword "&ascii"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
32 syn match iconKeyword "&clock"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
33 syn match iconKeyword "&collections"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
34 syn match iconKeyword "&cset"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
35 syn match iconKeyword "&current"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
36 syn match iconKeyword "&date"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
37 syn match iconKeyword "&dateline"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
38 syn match iconKeyword "&digits"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
39 syn match iconKeyword "&dump"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
40 syn match iconKeyword "&e"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
41 syn match iconKeyword "&error"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
42 syn match iconKeyword "&errornumber"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
43 syn match iconKeyword "&errortext"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
44 syn match iconKeyword "&errorvalue"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
45 syn match iconKeyword "&errout"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
46 syn match iconKeyword "&fail"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
47 syn match iconKeyword "&features"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
48 syn match iconKeyword "&file"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
49 syn match iconKeyword "&host"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
50 syn match iconKeyword "&input"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
51 syn match iconKeyword "&lcase"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
52 syn match iconKeyword "&letters"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
53 syn match iconKeyword "&level"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
54 syn match iconKeyword "&line"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
55 syn match iconKeyword "&main"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
56 syn match iconKeyword "&null"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
57 syn match iconKeyword "&output"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
58 syn match iconKeyword "&phi"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
59 syn match iconKeyword "&pi"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
60 syn match iconKeyword "&pos"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
61 syn match iconKeyword "&progname"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
62 syn match iconKeyword "&random"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
63 syn match iconKeyword "&regions"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
64 syn match iconKeyword "&source"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
65 syn match iconKeyword "&storage"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
66 syn match iconKeyword "&subject"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
67 syn match iconKeyword "&time"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
68 syn match iconKeyword "&trace"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
69 syn match iconKeyword "&ucase"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
70 syn match iconKeyword "&version"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
71
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
72 " Reserved words
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
73 syn keyword iconReserved break by case create default do
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
74 syn keyword iconReserved else end every fail if
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
75 syn keyword iconReserved initial link next not of
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
76 syn keyword iconReserved procedure repeat return suspend
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
77 syn keyword iconReserved then to until while
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
78
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
79 " Storage class reserved words
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
80 syn keyword iconStorageClass global static local record
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
81
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
82 syn keyword iconTodo contained TODO FIXME XXX BUG
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
83
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
84 " String and Character constants
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
85 " Highlight special characters (those which have a backslash) differently
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
86 syn match iconSpecial contained "\\x\x\{2}\|\\\o\{3\}\|\\[bdeflnrtv\"\'\\]\|\\^c[a-zA-Z0-9]\|\\$"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
87 syn region iconString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=iconSpecial
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
88 syn region iconCset start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=iconSpecial
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
89 syn match iconCharacter "'[^\\]'"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
90
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
91 " not sure about these
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
92 "syn match iconSpecialCharacter "'\\[bdeflnrtv]'"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
93 "syn match iconSpecialCharacter "'\\\o\{3\}'"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
94 "syn match iconSpecialCharacter "'\\x\x\{2}'"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
95 "syn match iconSpecialCharacter "'\\^c\[a-zA-Z0-9]'"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
96
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
97 "when wanted, highlight trailing white space
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
98 if exists("icon_space_errors")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
99 syn match iconSpaceError "\s*$"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
100 syn match iconSpaceError " \+\t"me=e-1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
101 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
102
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
103 "catch errors caused by wrong parenthesis
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
104 syn cluster iconParenGroup contains=iconParenError,iconIncluded,iconSpecial,iconTodo,iconUserCont,iconUserLabel,iconBitField
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
105
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
106 syn region iconParen transparent start='(' end=')' contains=ALLBUT,@iconParenGroup
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
107 syn match iconParenError ")"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
108 syn match iconInParen contained "[{}]"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
109
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
110
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
111 syn case ignore
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
112
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
113 "integer number, or floating point number without a dot
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
114 syn match iconNumber "\<\d\+\>"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
115
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
116 "floating point number, with dot, optional exponent
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
117 syn match iconFloat "\<\d\+\.\d*\(e[-+]\=\d\+\)\=\>"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
118
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
119 "floating point number, starting with a dot, optional exponent
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
120 syn match iconFloat "\.\d\+\(e[-+]\=\d\+\)\=\>"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
121
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
122 "floating point number, without dot, with exponent
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
123 syn match iconFloat "\<\d\+e[-+]\=\d\+\>"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
124
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
125 "radix number
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
126 syn match iconRadix "\<\d\{1,2}[rR][a-zA-Z0-9]\+\>"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
127
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
128
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
129 " syn match iconIdentifier "\<[a-z_][a-z0-9_]*\>"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
130
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
131 syn case match
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
132
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
133 " Comment
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
134 syn match iconComment "#.*" contains=iconTodo,iconSpaceError
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
135
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
136 syn region iconPreCondit start="^\s*$\s*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)" skip="\\$" end="$" contains=iconComment,iconString,iconCharacter,iconNumber,iconCommentError,iconSpaceError
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
137
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
138 syn region iconIncluded contained start=+"+ skip=+\\\\\|\\"+ end=+"+
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
139 syn match iconIncluded contained "<[^>]*>"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
140 syn match iconInclude "^\s*$\s*include\>\s*["<]" contains=iconIncluded
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
141 "syn match iconLineSkip "\\$"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
142
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
143 syn cluster iconPreProcGroup contains=iconPreCondit,iconIncluded,iconInclude,iconDefine,iconInParen,iconUserLabel
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
144
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
145 syn region iconDefine start="^\s*$\s*\(define\>\|undef\>\)" skip="\\$" end="$" contains=ALLBUT,@iconPreProcGroup
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
146
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
147 "wt:syn region iconPreProc "start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" "end="$" contains=ALLBUT,@iconPreProcGroup
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
148
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
149 " Highlight User Labels
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
150
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
151 " syn cluster iconMultiGroup contains=iconIncluded,iconSpecial,iconTodo,iconUserCont,iconUserLabel,iconBitField
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
152
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
153 if !exists("icon_minlines")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
154 let icon_minlines = 15
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
155 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
156 exec "syn sync ccomment iconComment minlines=" . icon_minlines
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
157
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
158 " Define the default highlighting.
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
159
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
160 " For version 5.7 and earlier: only when not done already
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
161 " For version 5.8 and later: only when an item doesn't have highlighting
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
162 if version >= 508 || !exists("did_icon_syn_inits")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
163 if version < 508
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
164 let did_icon_syn_inits = 1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
165 command -nargs=+ HiLink hi link <args>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
166 else
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
167 command -nargs=+ HiLink hi def link <args>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
168 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
169
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
170 " The default methods for highlighting. Can be overridden later
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
171
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
172 " HiLink iconSpecialCharacter iconSpecial
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
173
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
174 HiLink iconOctalError iconError
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
175 HiLink iconParenError iconError
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
176 HiLink iconInParen iconError
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
177 HiLink iconCommentError iconError
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
178 HiLink iconSpaceError iconError
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
179 HiLink iconCommentError iconError
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
180 HiLink iconIncluded iconString
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
181 HiLink iconCommentString iconString
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
182 HiLink iconComment2String iconString
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
183 HiLink iconCommentSkip iconComment
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
184
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
185 HiLink iconUserLabel Label
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
186 HiLink iconCharacter Character
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
187 HiLink iconNumber Number
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
188 HiLink iconRadix Number
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
189 HiLink iconFloat Float
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
190 HiLink iconInclude Include
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
191 HiLink iconPreProc PreProc
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
192 HiLink iconDefine Macro
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
193 HiLink iconError Error
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
194 HiLink iconStatement Statement
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
195 HiLink iconPreCondit PreCondit
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
196 HiLink iconString String
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
197 HiLink iconCset String
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
198 HiLink iconComment Comment
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
199 HiLink iconSpecial SpecialChar
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
200 HiLink iconTodo Todo
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
201 HiLink iconStorageClass StorageClass
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
202 HiLink iconFunction Statement
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
203 HiLink iconReserved Label
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
204 HiLink iconKeyword Operator
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
205
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
206 "HiLink iconIdentifier Identifier
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
207
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
208 delcommand HiLink
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
209 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
210
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
211 let b:current_syntax = "icon"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
212