annotate runtime/syntax/logtalk.vim @ 10:4e2284e71352

updated for version 7.0002
author vimboss
date Thu, 24 Jun 2004 15:53:16 +0000
parents 3fc0f57ecb91
children db5102f7e29f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 " Vim syntax file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
3 " Language: Logtalk
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
4 " Maintainer: Paulo Moura <pmoura@logtalk.org>
10
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
5 " Last Change: 2004 June 1
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8 " Quit when a syntax file was already loaded:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10 if version < 600
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11 syntax clear
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12 elseif exists("b:current_syntax")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 finish
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17 " Logtalk is case sensitive:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19 syn case match
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22 " Logtalk variables
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 syn match logtalkVariable "\<\(\u\|_\)\(\w\)*\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27 " Logtalk clause functor
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29 syn match logtalkOperator ":-"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32 " Logtalk quoted atoms and strings
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
33
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34 syn region logtalkString start=+"+ skip=+\\"+ end=+"+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35 syn region logtalkAtom start=+'+ skip=+\\'+ end=+'+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
36
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
37
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
38 " Logtalk message sending operators
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
39
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
40 syn match logtalkOperator "::"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
41 syn match logtalkOperator "\^\^"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
44 " Logtalk external call
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
45
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
46 syn region logtalkExtCall matchgroup=logtalkExtCallTag start="{" matchgroup=logtalkExtCallTag end="}" contains=ALL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
47
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
48
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
49 " Logtalk opening entity directives
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
50
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
51 syn region logtalkOpenEntityDir matchgroup=logtalkOpenEntityDirTag start=":- object(" matchgroup=logtalkOpenEntityDirTag end=")\." contains=ALL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
52 syn region logtalkOpenEntityDir matchgroup=logtalkOpenEntityDirTag start=":- protocol(" matchgroup=logtalkOpenEntityDirTag end=")\." contains=ALL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
53 syn region logtalkOpenEntityDir matchgroup=logtalkOpenEntityDirTag start=":- category(" matchgroup=logtalkOpenEntityDirTag end=")\." contains=ALL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
54
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
55
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
56 " Logtalk closing entity directives
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
57
10
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
58 syn match logtalkCloseEntityDir ":- end_\(object\|protocol\|category\)\."
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
59
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
60
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
61 " Logtalk entity relations
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
62
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
63 syn region logtalkEntityRel matchgroup=logtalkEntityRelTag start="instantiates(" matchgroup=logtalkEntityRelTag end=")" contains=logtalkEntity contained
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
64 syn region logtalkEntityRel matchgroup=logtalkEntityRelTag start="specializes(" matchgroup=logtalkEntityRelTag end=")" contains=logtalkEntity contained
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
65 syn region logtalkEntityRel matchgroup=logtalkEntityRelTag start="extends(" matchgroup=logtalkEntityRelTag end=")" contains=logtalkEntity contained
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
66 syn region logtalkEntityRel matchgroup=logtalkEntityRelTag start="imports(" matchgroup=logtalkEntityRelTag end=")" contains=logtalkEntity contained
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
67 syn region logtalkEntityRel matchgroup=logtalkEntityRelTag start="implements(" matchgroup=logtalkEntityRelTag end=")" contains=logtalkEntity contained
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
68
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
69
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
70 " Logtalk directives
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
71
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
72 syn region logtalkDir matchgroup=logtalkDirTag start=":- initialization(" matchgroup=logtalkDirTag end=")\." contains=ALL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
73 syn region logtalkDir matchgroup=logtalkDirTag start=":- info(" matchgroup=logtalkDirTag end=")\." contains=ALL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
74 syn region logtalkDir matchgroup=logtalkDirTag start=":- mode(" matchgroup=logtalkDirTag end=")\." contains=logtalkOperator,logtalkAtom
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
75 syn region logtalkDir matchgroup=logtalkDirTag start=":- dynamic(" matchgroup=logtalkDirTag end=")\." contains=ALL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
76 syn match logtalkDirTag ":- dynamic\."
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
77 syn region logtalkDir matchgroup=logtalkDirTag start=":- discontiguous(" matchgroup=logtalkDirTag end=")\." contains=ALL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
78 syn region logtalkDir matchgroup=logtalkDirTag start=":- public(" matchgroup=logtalkDirTag end=")\." contains=ALL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
79 syn region logtalkDir matchgroup=logtalkDirTag start=":- protected(" matchgroup=logtalkDirTag end=")\." contains=ALL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
80 syn region logtalkDir matchgroup=logtalkDirTag start=":- private(" matchgroup=logtalkDirTag end=")\." contains=ALL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
81 syn region logtalkDir matchgroup=logtalkDirTag start=":- metapredicate(" matchgroup=logtalkDirTag end=")\." contains=ALL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
82 syn region logtalkDir matchgroup=logtalkDirTag start=":- op(" matchgroup=logtalkDirTag end=")\." contains=ALL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
83 syn region logtalkDir matchgroup=logtalkDirTag start=":- calls(" matchgroup=logtalkDirTag end=")\." contains=ALL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
84 syn region logtalkDir matchgroup=logtalkDirTag start=":- uses(" matchgroup=logtalkDirTag end=")\." contains=ALL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
85
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
86
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
87 " Logtalk built-in predicates
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
88
10
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
89 syn match logtalkBuiltIn "\<current_\(object\|protocol\|category\)\ze("
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
90
10
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
91 syn match logtalkBuiltIn "\<create_\(object\|protocol\|category\)\ze("
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
92
10
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
93 syn match logtalkBuiltIn "\<\(object\|protocol\|category\)_property\ze("
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
94
10
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
95 syn match logtalkBuiltIn "\<abolish_\(object\|protocol\|category\)\ze("
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
96
10
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
97 syn match logtalkBuiltIn "\<extends_\(object\|protocol\)\ze("
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
98 syn match logtalkBuiltIn "\<imp\(orts_category\|lements_protocol\)\ze("
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
99 syn match logtalkBuiltIn "\<\(instantiates\|specializes\)_class\ze("
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
100
10
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
101 syn match logtalkBuiltIn "\<\(abolish\|define\)_events\ze("
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
102 syn match logtalkBuiltIn "\<current_event\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
103
10
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
104 syn match logtalkBuiltIn "\<\(current\|set\)_logtalk_flag\ze("
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
105
10
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
106 syn match logtalkBuiltIn "\<logtalk_\(compile\|load\)\ze("
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
107
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
108 syn match logtalkBuiltIn "\<forall\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
109 syn match logtalkBuiltIn "\<retractall\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
110
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
111
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
112 " Logtalk built-in methods
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
113
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
114 syn match logtalkBuiltInMethod "\<parameter\ze("
10
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
115 syn match logtalkBuiltInMethod "\<se\(lf\|nder\)\ze("
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
116 syn match logtalkBuiltInMethod "\<this\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
117
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
118 syn match logtalkBuiltInMethod "\<current_predicate\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
119 syn match logtalkBuiltInMethod "\<predicate_property\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
120
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
121 syn match logtalkBuiltInMethod "\<abolish\ze("
10
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
122 syn match logtalkBuiltInMethod "\<assert\(a\|z\)\ze("
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
123 syn match logtalkBuiltInMethod "\<clause\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
124 syn match logtalkBuiltInMethod "\<retract\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
125 syn match logtalkBuiltInMethod "\<retractall\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
126
10
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
127 syn match logtalkBuiltInMethod "\<\(bag\|set\)of\ze("
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
128 syn match logtalkBuiltInMethod "\<f\(ind\|or\)all\ze("
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
129
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
130 syn match logtalkBuiltInMethod "\<before\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
131 syn match logtalkBuiltInMethod "\<after\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
132
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
133 syn match logtalkBuiltInMethod "\<phrase\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
134
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
135
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
136 " Mode operators
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
137
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
138 syn match logtalkOperator "?"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
139 syn match logtalkOperator "@"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
140
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
141
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
142 " Control constructs
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
143
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
144 syn match logtalkKeyword "\<true\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
145 syn match logtalkKeyword "\<fail\>"
10
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
146 syn match logtalkKeyword "\<ca\(ll\|tch\)\ze("
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
147 syn match logtalkOperator "!"
10
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
148 " syn match logtalkOperator ","
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
149 syn match logtalkOperator ";"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
150 syn match logtalkOperator "-->"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
151 syn match logtalkOperator "->"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
152 syn match logtalkKeyword "\<throw\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
153
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
154
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
155 " Term unification
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
156
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
157 syn match logtalkOperator "="
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
158 syn match logtalkKeyword "\<unify_with_occurs_check\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
159 syn match logtalkOperator "\\="
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
160
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
161
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
162 " Term testing
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
163
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
164 syn match logtalkKeyword "\<var\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
165 syn match logtalkKeyword "\<atom\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
166 syn match logtalkKeyword "\<integer\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
167 syn match logtalkKeyword "\<float\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
168 syn match logtalkKeyword "\<atomic\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
169 syn match logtalkKeyword "\<compound\ze("
10
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
170 syn match logtalkKeyword "\<n\(onvar\|umber\)\ze("
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
171
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
172
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
173 " Term comparison
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
174
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
175 syn match logtalkOperator "@=<"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
176 syn match logtalkOperator "=="
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
177 syn match logtalkOperator "\\=="
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
178 syn match logtalkOperator "@<"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
179 syn match logtalkOperator "@>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
180 syn match logtalkOperator "@>="
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
181
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
182
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
183 " Term creation and decomposition
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
184
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
185 syn match logtalkKeyword "\<functor\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
186 syn match logtalkKeyword "\<arg\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
187 syn match logtalkOperator "=\.\."
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
188 syn match logtalkKeyword "\<copy_term\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
189
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
190
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
191 " Arithemtic evaluation
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
192
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
193 syn keyword logtalkOperator is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
194
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
195
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
196 " Arithemtic comparison
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
197
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
198 syn match logtalkOperator "=:="
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
199 syn match logtalkOperator "=\\="
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
200 syn match logtalkOperator "<"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
201 syn match logtalkOperator "=<"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
202 syn match logtalkOperator ">"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
203 syn match logtalkOperator ">="
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
204
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
205
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
206 " Stream selection and control
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
207
10
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
208 syn match logtalkKeyword "\<current_\(input\|output\)\ze("
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
209 syn match logtalkKeyword "\<set_\(input\|output\)\ze("
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
210 syn match logtalkKeyword "\<open\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
211 syn match logtalkKeyword "\<close\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
212 syn match logtalkKeyword "\<flush_output\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
213 syn match logtalkKeyword "\<flush_output\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
214 syn match logtalkKeyword "\<stream_property\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
215 syn match logtalkKeyword "\<at_end_of_stream\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
216 syn match logtalkKeyword "\<at_end_of_stream\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
217 syn match logtalkKeyword "\<set_stream_position\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
218
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
219
10
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
220 " Character and byte input/output
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
221
10
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
222 syn match logtalkKeyword "\<\(get\|peek\|put\)_\(char\|code\|byte\)\ze("
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
223 syn match logtalkKeyword "\<nl\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
224 syn match logtalkKeyword "\<nl\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
225
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
226
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
227 " Term input/output
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
228
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
229 syn match logtalkKeyword "\<read_term\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
230 syn match logtalkKeyword "\<read\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
231 syn match logtalkKeyword "\<write\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
232 syn match logtalkKeyword "\<writeq\ze("
10
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
233 syn match logtalkKeyword "\<write_\(canonical\|term\)\ze("
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
234 syn match logtalkKeyword "\<op\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
235 syn match logtalkKeyword "\<current_op\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
236 syn match logtalkKeyword "\<char_conversion\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
237 syn match logtalkKeyword "\<current_char_conversion\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
238
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
239
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
240 " Logic and control
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
241
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
242 syn match logtalkOperator "\\+"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
243 syn match logtalkKeyword "\<once\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
244 syn match logtalkKeyword "\<repeat\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
245
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
246
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
247 " Atomic term processing
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
248
10
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
249 syn match logtalkKeyword "\<atom_\(length\|concat\|chars\|codes\)\ze("
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
250 syn match logtalkKeyword "\<sub_atom\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
251 syn match logtalkKeyword "\<char_code\ze("
10
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
252 syn match logtalkKeyword "\<number_\(chars\|codes\)\ze("
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
253
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
254
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
255 " Implementation defined hooks functions
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
256
10
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
257 syn match logtalkKeyword "\<\(current\|set\)_prolog_flag\ze("
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
258 syn match logtalkKeyword "\<halt\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
259 syn match logtalkKeyword "\<halt\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
260
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
261
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
262 " Evaluable functors
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
263
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
264 syn match logtalkOperator "+"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
265 syn match logtalkOperator "-"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
266 syn match logtalkOperator "\*"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
267 syn match logtalkOperator "//"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
268 syn match logtalkOperator "/"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
269 syn match logtalkKeyword "\<rem(?=[(])"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
270 syn match logtalkKeyword "\<rem\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
271 syn match logtalkKeyword "\<mod\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
272 syn match logtalkKeyword "\<mod\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
273 syn match logtalkKeyword "\<abs\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
274 syn match logtalkKeyword "\<sign\ze("
10
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
275 syn match logtalkKeyword "\<float_\(integer\|fractional\)_part\ze("
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
276 syn match logtalkKeyword "\<float\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
277 syn match logtalkKeyword "\<floor\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
278 syn match logtalkKeyword "\<truncate\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
279 syn match logtalkKeyword "\<round\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
280 syn match logtalkKeyword "\<ceiling\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
281
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
282
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
283 " Other arithemtic functors
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
284
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
285 syn match logtalkOperator "\*\*"
10
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
286 syn match logtalkKeyword "\<s\(in\|qrt\)\ze("
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
287 syn match logtalkKeyword "\<cos\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
288 syn match logtalkKeyword "\<atan\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
289 syn match logtalkKeyword "\<exp\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
290 syn match logtalkKeyword "\<log\ze("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
291
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
292
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
293 " Bitwise functors
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
294
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
295 syn match logtalkOperator ">>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
296 syn match logtalkOperator "<<"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
297 syn match logtalkOperator "/\\"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
298 syn match logtalkOperator "\\/"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
299 syn match logtalkOperator "\\"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
300
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
301
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
302 " Logtalk end-of-clause
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
303
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
304 syn match logtalkOperator "\."
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
305
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
306
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
307 " Logtalk list operator
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
308
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
309 syn match logtalkOperator "|"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
310
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
311
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
312 " Logtalk comments
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
313
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
314 syn region logtalkBlockComment start="/\*" end="\*/"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
315 syn match logtalkLineComment "%.*"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
316
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
317
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
318 " Logtalk numbers
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
319
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
320 syn match logtalkNumber "\<[0-9]\+\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
321 syn match logtalkNumber "\<[0-9]\+\.[0-9]\+\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
322 syn match logtalkNumber "\<[0-9]\+\.[0-9]\+[eE][-+][0-9]+\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
323 syn match logtalkNumber "\<0'[0-9a-zA-Z]\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
324 syn match logtalkNumber "\<0b[0-1]\+\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
325 syn match logtalkNumber "\<0o[0-7]\+\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
326 syn match logtalkNumber "\<0x[0-9a-fA-F]\+\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
327
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
328
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
329 syn sync ccomment maxlines=50
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
330
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
331
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
332 " Define the default highlighting.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
333 " For version 5.7 and earlier: only when not done already
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
334 " For version 5.8 and later: only when an item doesn't have highlighting yet
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
335
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
336 if version >= 508 || !exists("did_logtalk_syn_inits")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
337 if version < 508
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
338 let did_logtalk_syn_inits = 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
339 command -nargs=+ HiLink hi link <args>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
340 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
341 command -nargs=+ HiLink hi def link <args>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
342 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
343
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
344 HiLink logtalkBlockComment Comment
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
345 HiLink logtalkLineComment Comment
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
346
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
347 HiLink logtalkOpenEntityDir Normal
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
348 HiLink logtalkOpenEntityDirTag PreProc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
349
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
350 HiLink logtalkEntity Normal
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
351
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
352 HiLink logtalkEntityRel Normal
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
353 HiLink logtalkEntityRelTag PreProc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
354
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
355 HiLink logtalkCloseEntityDir PreProc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
356
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
357 HiLink logtalkDir Normal
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
358 HiLink logtalkDirTag PreProc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
359
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
360 HiLink logtalkAtom String
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
361 HiLink logtalkString String
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
362
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
363 HiLink logtalkNumber Number
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
364
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
365 HiLink logtalkKeyword Keyword
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
366
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
367 HiLink logtalkBuiltIn Keyword
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
368 HiLink logtalkBuiltInMethod Keyword
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
369
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
370 HiLink logtalkOperator Operator
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
371
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
372 HiLink logtalkExtCall Normal
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
373 HiLink logtalkExtCallTag Operator
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
374
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
375 HiLink logtalkVariable Identifier
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
376
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
377 delcommand HiLink
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
378
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
379 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
380
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
381
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
382 let b:current_syntax = "logtalk"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
383
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
384 setlocal ts=4