Mercurial > vim
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 |