comparison runtime/syntax/logtalk.vim @ 294:1c1cbdc42f75 v7.0077

updated for version 7.0077
author vimboss
date Tue, 31 May 2005 22:22:17 +0000
parents 9a10e4d195b3
children 74e9d19831c2
comparison
equal deleted inserted replaced
293:f811be6fa9b5 294:1c1cbdc42f75
1 " Vim syntax file 1 " Vim syntax file
2 " 2 "
3 " Language: Logtalk 3 " Language: Logtalk
4 " Maintainer: Paulo Moura <pmoura@logtalk.org> 4 " Maintainer: Paulo Moura <pmoura@logtalk.org>
5 " Last Change: April 5, 2005 5 " Last Change: May 30, 2005
6 6
7 7
8 " Quit when a syntax file was already loaded: 8 " Quit when a syntax file was already loaded:
9 9
10 if version < 600 10 if version < 600
87 syn region logtalkDir matchgroup=logtalkDirTag start=":- uses(" matchgroup=logtalkDirTag end=")\." contains=ALL 87 syn region logtalkDir matchgroup=logtalkDirTag start=":- uses(" matchgroup=logtalkDirTag end=")\." contains=ALL
88 88
89 89
90 " Logtalk built-in predicates 90 " Logtalk built-in predicates
91 91
92 syn match logtalkBuiltIn "\<current_\(object\|protocol\|category\)\ze(" 92 syn match logtalkBuiltIn "\<\(abolish\|c\(reate\|urrent\)\)_\(object\|protocol\|category\)\ze("
93
94 syn match logtalkBuiltIn "\<create_\(object\|protocol\|category\)\ze("
95 93
96 syn match logtalkBuiltIn "\<\(object\|protocol\|category\)_property\ze(" 94 syn match logtalkBuiltIn "\<\(object\|protocol\|category\)_property\ze("
97
98 syn match logtalkBuiltIn "\<abolish_\(object\|protocol\|category\)\ze("
99 95
100 syn match logtalkBuiltIn "\<extends_\(object\|protocol\)\ze(" 96 syn match logtalkBuiltIn "\<extends_\(object\|protocol\)\ze("
101 syn match logtalkBuiltIn "\<imp\(orts_category\|lements_protocol\)\ze(" 97 syn match logtalkBuiltIn "\<imp\(orts_category\|lements_protocol\)\ze("
102 syn match logtalkBuiltIn "\<\(instantiates\|specializes\)_class\ze(" 98 syn match logtalkBuiltIn "\<\(instantiates\|specializes\)_class\ze("
103 99
118 syn match logtalkBuiltInMethod "\<this\ze(" 114 syn match logtalkBuiltInMethod "\<this\ze("
119 115
120 syn match logtalkBuiltInMethod "\<current_predicate\ze(" 116 syn match logtalkBuiltInMethod "\<current_predicate\ze("
121 syn match logtalkBuiltInMethod "\<predicate_property\ze(" 117 syn match logtalkBuiltInMethod "\<predicate_property\ze("
122 118
123 syn match logtalkBuiltInMethod "\<abolish\ze(" 119 syn match logtalkBuiltInMethod "\<a\(bolish\|ssert\(a\|z\)\)\ze("
124 syn match logtalkBuiltInMethod "\<assert\(a\|z\)\ze("
125 syn match logtalkBuiltInMethod "\<clause\ze(" 120 syn match logtalkBuiltInMethod "\<clause\ze("
126 syn match logtalkBuiltInMethod "\<retract\ze(" 121 syn match logtalkBuiltInMethod "\<retract\(all\)\?\ze("
127 syn match logtalkBuiltInMethod "\<retractall\ze("
128 122
129 syn match logtalkBuiltInMethod "\<\(bag\|set\)of\ze(" 123 syn match logtalkBuiltInMethod "\<\(bag\|set\)of\ze("
130 syn match logtalkBuiltInMethod "\<f\(ind\|or\)all\ze(" 124 syn match logtalkBuiltInMethod "\<f\(ind\|or\)all\ze("
131 125
132 syn match logtalkBuiltInMethod "\<before\ze(" 126 syn match logtalkBuiltInMethod "\<before\ze("
163 157
164 158
165 " Term testing 159 " Term testing
166 160
167 syn match logtalkKeyword "\<var\ze(" 161 syn match logtalkKeyword "\<var\ze("
168 syn match logtalkKeyword "\<atom\ze(" 162 syn match logtalkKeyword "\<atom\(ic\)\?\ze("
169 syn match logtalkKeyword "\<integer\ze(" 163 syn match logtalkKeyword "\<integer\ze("
170 syn match logtalkKeyword "\<float\ze(" 164 syn match logtalkKeyword "\<float\ze("
171 syn match logtalkKeyword "\<atomic\ze("
172 syn match logtalkKeyword "\<compound\ze(" 165 syn match logtalkKeyword "\<compound\ze("
173 syn match logtalkKeyword "\<n\(onvar\|umber\)\ze(" 166 syn match logtalkKeyword "\<n\(onvar\|umber\)\ze("
174 167
175 168
176 " Term comparison 169 " Term comparison
206 syn match logtalkOperator ">=" 199 syn match logtalkOperator ">="
207 200
208 201
209 " Stream selection and control 202 " Stream selection and control
210 203
211 syn match logtalkKeyword "\<current_\(input\|output\)\ze(" 204 syn match logtalkKeyword "\<\(current\|set\)_\(in\|out\)put\ze("
212 syn match logtalkKeyword "\<set_\(input\|output\)\ze("
213 syn match logtalkKeyword "\<open\ze(" 205 syn match logtalkKeyword "\<open\ze("
214 syn match logtalkKeyword "\<close\ze(" 206 syn match logtalkKeyword "\<close\ze("
215 syn match logtalkKeyword "\<flush_output\ze(" 207 syn match logtalkKeyword "\<flush_output\ze("
216 syn match logtalkKeyword "\<flush_output\>" 208 syn match logtalkKeyword "\<flush_output\>"
217 syn match logtalkKeyword "\<stream_property\ze(" 209 syn match logtalkKeyword "\<stream_property\ze("
220 syn match logtalkKeyword "\<set_stream_position\ze(" 212 syn match logtalkKeyword "\<set_stream_position\ze("
221 213
222 214
223 " Character and byte input/output 215 " Character and byte input/output
224 216
225 syn match logtalkKeyword "\<\(get\|peek\|put\)_\(char\|code\|byte\)\ze(" 217 syn match logtalkKeyword "\<\(get\|p\(eek\|ut\)\)_\(c\(har\|ode\)\|byte\)\ze("
226 syn match logtalkKeyword "\<nl\ze(" 218 syn match logtalkKeyword "\<nl\ze("
227 syn match logtalkKeyword "\<nl\>" 219 syn match logtalkKeyword "\<nl\>"
228 220
229 221
230 " Term input/output 222 " Term input/output
231 223
232 syn match logtalkKeyword "\<read_term\ze(" 224 syn match logtalkKeyword "\<read\(_term\)\?\ze("
233 syn match logtalkKeyword "\<read\ze(" 225 syn match logtalkKeyword "\<write\(q\|_\(canonical\|term\)\)\?\ze("
234 syn match logtalkKeyword "\<write\ze(" 226 syn match logtalkKeyword "\<\(current_\)\?op\ze("
235 syn match logtalkKeyword "\<writeq\ze(" 227 syn match logtalkKeyword "\<\(current\)\?char_conversion\ze("
236 syn match logtalkKeyword "\<write_\(canonical\|term\)\ze("
237 syn match logtalkKeyword "\<op\ze("
238 syn match logtalkKeyword "\<current_op\ze("
239 syn match logtalkKeyword "\<char_conversion\ze("
240 syn match logtalkKeyword "\<current_char_conversion\ze("
241 228
242 229
243 " Logic and control 230 " Logic and control
244 231
245 syn match logtalkOperator "\\+" 232 syn match logtalkOperator "\\+"
247 syn match logtalkKeyword "\<repeat\>" 234 syn match logtalkKeyword "\<repeat\>"
248 235
249 236
250 " Atomic term processing 237 " Atomic term processing
251 238
252 syn match logtalkKeyword "\<atom_\(length\|concat\|chars\|codes\)\ze(" 239 syn match logtalkKeyword "\<atom_\(length\|c\(hars\|o\(ncat\|des\)\)\)\ze("
253 syn match logtalkKeyword "\<sub_atom\ze(" 240 syn match logtalkKeyword "\<sub_atom\ze("
254 syn match logtalkKeyword "\<char_code\ze(" 241 syn match logtalkKeyword "\<char_code\ze("
255 syn match logtalkKeyword "\<number_\(chars\|codes\)\ze(" 242 syn match logtalkKeyword "\<number_\(c\(hars\|odes\)\)\ze("
256 243
257 244
258 " Implementation defined hooks functions 245 " Implementation defined hooks functions
259 246
260 syn match logtalkKeyword "\<\(current\|set\)_prolog_flag\ze(" 247 syn match logtalkKeyword "\<\(current\|set\)_prolog_flag\ze("
267 syn match logtalkOperator "+" 254 syn match logtalkOperator "+"
268 syn match logtalkOperator "-" 255 syn match logtalkOperator "-"
269 syn match logtalkOperator "\*" 256 syn match logtalkOperator "\*"
270 syn match logtalkOperator "//" 257 syn match logtalkOperator "//"
271 syn match logtalkOperator "/" 258 syn match logtalkOperator "/"
272 syn match logtalkKeyword "\<rem(?=[(])" 259 syn match logtalkKeyword "\<r\(ound\|em\)\ze("
273 syn match logtalkKeyword "\<rem\>" 260 syn match logtalkKeyword "\<rem\>"
274 syn match logtalkKeyword "\<mod\ze(" 261 syn match logtalkKeyword "\<mod\ze("
275 syn match logtalkKeyword "\<mod\>" 262 syn match logtalkKeyword "\<mod\>"
276 syn match logtalkKeyword "\<abs\ze(" 263 syn match logtalkKeyword "\<abs\ze("
277 syn match logtalkKeyword "\<sign\ze(" 264 syn match logtalkKeyword "\<sign\ze("
278 syn match logtalkKeyword "\<float_\(integer\|fractional\)_part\ze(" 265 syn match logtalkKeyword "\<flo\(or\|at\(_\(integer\|fractional\)_part\)\?\)\ze("
279 syn match logtalkKeyword "\<float\ze("
280 syn match logtalkKeyword "\<floor\ze("
281 syn match logtalkKeyword "\<truncate\ze(" 266 syn match logtalkKeyword "\<truncate\ze("
282 syn match logtalkKeyword "\<round\ze("
283 syn match logtalkKeyword "\<ceiling\ze(" 267 syn match logtalkKeyword "\<ceiling\ze("
284 268
285 269
286 " Other arithemtic functors 270 " Other arithemtic functors
287 271
300 syn match logtalkOperator "/\\" 284 syn match logtalkOperator "/\\"
301 syn match logtalkOperator "\\/" 285 syn match logtalkOperator "\\/"
302 syn match logtalkOperator "\\" 286 syn match logtalkOperator "\\"
303 287
304 288
305 " Logtalk end-of-clause
306
307 syn match logtalkOperator "\."
308
309
310 " Logtalk list operator 289 " Logtalk list operator
311 290
312 syn match logtalkOperator "|" 291 syn match logtalkOperator "|"
313 292
314 293
315 " Logtalk comments 294 " Logtalk numbers
316 295
317 syn region logtalkBlockComment start="/\*" end="\*/" 296 syn match logtalkNumber "\<\d\+\>"
318 syn match logtalkLineComment "%.*" 297 syn match logtalkNumber "\<\d\+\.\d\+\>"
319 298 syn match logtalkNumber "\<\d\+[eE][-+]\=\d\+\>"
320 299 syn match logtalkNumber "\<\d\+\.\d\+[eE][-+]\=\d\+\>"
321 " Logtalk numbers
322
323 syn match logtalkNumber "\<[0-9]\+\>"
324 syn match logtalkNumber "\<[0-9]\+\.[0-9]\+\>"
325 syn match logtalkNumber "\<[0-9]\+\.[0-9]\+[eE][-+][0-9]+\>"
326 syn match logtalkNumber "\<0'[0-9a-zA-Z]\>" 300 syn match logtalkNumber "\<0'[0-9a-zA-Z]\>"
327 syn match logtalkNumber "\<0b[0-1]\+\>" 301 syn match logtalkNumber "\<0b[0-1]\+\>"
328 syn match logtalkNumber "\<0o[0-7]\+\>" 302 syn match logtalkNumber "\<0o[0-7]\+\>"
329 syn match logtalkNumber "\<0x[0-9a-fA-F]\+\>" 303 syn match logtalkNumber "\<0x\x\+\>"
304
305
306 " Logtalk end-of-clause
307
308 syn match logtalkOperator "\."
309
310
311 " Logtalk comments
312
313 syn region logtalkBlockComment start="/\*" end="\*/"
314 syn match logtalkLineComment "%.*"
330 315
331 316
332 syn sync ccomment logtalkBlockComment maxlines=50 317 syn sync ccomment logtalkBlockComment maxlines=50
333 318
334 319
341 let did_logtalk_syn_inits = 1 326 let did_logtalk_syn_inits = 1
342 command -nargs=+ HiLink hi link <args> 327 command -nargs=+ HiLink hi link <args>
343 else 328 else
344 command -nargs=+ HiLink hi def link <args> 329 command -nargs=+ HiLink hi def link <args>
345 endif 330 endif
346 331
347 HiLink logtalkBlockComment Comment 332 HiLink logtalkBlockComment Comment
348 HiLink logtalkLineComment Comment 333 HiLink logtalkLineComment Comment
349 334
350 HiLink logtalkOpenEntityDir Normal 335 HiLink logtalkOpenEntityDir Normal
351 HiLink logtalkOpenEntityDirTag PreProc 336 HiLink logtalkOpenEntityDirTag PreProc