Skip to content

Commit 0c02943

Browse files
committed
Update syntax highlighters for vscode and textmate
1 parent 2a5192e commit 0c02943

File tree

4 files changed

+23
-550
lines changed

4 files changed

+23
-550
lines changed

misc/syntax/textmate/Rego.tmLanguage

Lines changed: 10 additions & 273 deletions
Original file line numberDiff line numberDiff line change
@@ -26,90 +26,25 @@
2626
<key>include</key>
2727
<string>#head</string>
2828
</dict>
29-
<dict>
30-
<key>include</key>
31-
<string>#query</string>
32-
</dict>
33-
<dict>
34-
<key>include</key>
35-
<string>#expr</string>
36-
</dict>
3729
<dict>
3830
<key>include</key>
3931
<string>#term</string>
4032
</dict>
4133
</array>
4234
<key>repository</key>
4335
<dict>
44-
<key>array</key>
45-
<dict>
46-
<key>begin</key>
47-
<string>\[</string>
48-
<key>beginCaptures</key>
49-
<dict>
50-
<key>0</key>
51-
<dict>
52-
<key>name</key>
53-
<string>punctuation.definition.array.begin.rego</string>
54-
</dict>
55-
</dict>
56-
<key>end</key>
57-
<string>\]</string>
58-
<key>endCaptures</key>
59-
<dict>
60-
<key>0</key>
61-
<dict>
62-
<key>name</key>
63-
<string>punctuation.definition.array.end.rego</string>
64-
</dict>
65-
</dict>
66-
<key>name</key>
67-
<string>meta.structure.array.rego</string>
68-
<key>patterns</key>
69-
<array>
70-
<dict>
71-
<key>include</key>
72-
<string>#term</string>
73-
</dict>
74-
<dict>
75-
<key>match</key>
76-
<string>,</string>
77-
<key>name</key>
78-
<string>punctuation.separator.array.rego</string>
79-
</dict>
80-
<dict>
81-
<key>match</key>
82-
<string>[^\s\]]</string>
83-
<key>name</key>
84-
<string>invalid.illegal.expected-array-separator.rego</string>
85-
</dict>
86-
</array>
87-
</dict>
88-
<key>builtin_call</key>
36+
<key>call</key>
8937
<dict>
9038
<key>captures</key>
9139
<dict>
9240
<key>1</key>
93-
<dict>
94-
<key>name</key>
95-
<string>punctuation.whitespace.function-call.leading.rego</string>
96-
</dict>
97-
<key>2</key>
9841
<dict>
9942
<key>name</key>
10043
<string>support.function.any-method.rego</string>
10144
</dict>
102-
<key>3</key>
103-
<dict>
104-
<key>name</key>
105-
<string>punctuation.definition.parameters.rego</string>
106-
</dict>
10745
</dict>
10846
<key>match</key>
109-
<string>(?x) (?:(?&lt;!\w)(\s+))?
110-
(\b
111-
(?:[A-Za-z_][A-Za-z0-9_]*+\b) # actual name
112-
)\s*(\()</string>
47+
<string>([a-zA-Z_][a-zA-Z0-9_]*)\(</string>
11348
<key>name</key>
11449
<string>meta.function-call.rego</string>
11550
</dict>
@@ -135,68 +70,20 @@
13570
<key>name</key>
13671
<string>constant.language.rego</string>
13772
</dict>
138-
<key>emptyobject</key>
139-
<dict>
140-
<key>captures</key>
141-
<dict>
142-
<key>1</key>
143-
<dict>
144-
<key>name</key>
145-
<string>punctuation.definition.dictionary.begin.rego</string>
146-
</dict>
147-
<key>2</key>
148-
<dict>
149-
<key>name</key>
150-
<string>meta.empty-dictionary.rego</string>
151-
</dict>
152-
<key>3</key>
153-
<dict>
154-
<key>name</key>
155-
<string>punctuation.definition.dictionary.end.rego</string>
156-
</dict>
157-
</dict>
158-
<key>match</key>
159-
<string>(\{)(\s*(\}))</string>
160-
<key>name</key>
161-
<string>meta.structure.dictionary.rego</string>
162-
</dict>
163-
<key>expr</key>
164-
<dict>
165-
<key>patterns</key>
166-
<array>
167-
<dict>
168-
<key>include</key>
169-
<string>#term</string>
170-
</dict>
171-
<dict>
172-
<key>include</key>
173-
<string>#builtin_call</string>
174-
</dict>
175-
<dict>
176-
<key>include</key>
177-
<string>#operator</string>
178-
</dict>
179-
</array>
180-
</dict>
18173
<key>head</key>
18274
<dict>
18375
<key>begin</key>
184-
<string>^(default\s+)?([[:alpha:]_][[:alnum:]_]*)</string>
76+
<string>^([[:alpha:]_][[:alnum:]_]*)</string>
18577
<key>beginCaptures</key>
18678
<dict>
18779
<key>1</key>
18880
<dict>
18981
<key>name</key>
190-
<string>keyword.control.import.$1.rego</string>
191-
</dict>
192-
<key>2</key>
193-
<dict>
194-
<key>name</key>
195-
<string>storage.type.function.rego</string>
82+
<string>entity.name.function.declaration</string>
19683
</dict>
19784
</dict>
19885
<key>end</key>
199-
<string>(=|:-)</string>
86+
<string>(=|{|\n)</string>
20087
<key>name</key>
20188
<string>meta.function.rego</string>
20289
<key>patterns</key>
@@ -210,9 +97,9 @@
21097
<key>keyword</key>
21198
<dict>
21299
<key>match</key>
213-
<string>\b(?:(package|import|as|with))\b</string>
100+
<string>(^|\s+)(?:(default|not|package|import|as|with|else))\s+</string>
214101
<key>name</key>
215-
<string>keyword.control.import.$1.rego</string>
102+
<string>keyword.other.rego</string>
216103
</dict>
217104
<key>number</key>
218105
<dict>
@@ -240,157 +127,15 @@
240127
<key>name</key>
241128
<string>constant.numeric.rego</string>
242129
</dict>
243-
<key>object</key>
244-
<dict>
245-
<key>begin</key>
246-
<string>(\{)</string>
247-
<key>beginCaptures</key>
248-
<dict>
249-
<key>1</key>
250-
<dict>
251-
<key>name</key>
252-
<string>punctuation.definition.dictionary.begin.rego</string>
253-
</dict>
254-
</dict>
255-
<key>end</key>
256-
<string>(\})</string>
257-
<key>endCaptures</key>
258-
<dict>
259-
<key>1</key>
260-
<dict>
261-
<key>name</key>
262-
<string>punctuation.definition.dictionary.end.rego</string>
263-
</dict>
264-
</dict>
265-
<key>name</key>
266-
<string>meta.structure.dictionary.rego</string>
267-
<key>patterns</key>
268-
<array>
269-
<dict>
270-
<key>begin</key>
271-
<string>(?&lt;=\{|\,|^)\s*(?![\},])</string>
272-
<key>contentName</key>
273-
<string>meta.structure.dictionary.key.rego</string>
274-
<key>end</key>
275-
<string>\s*(?:(?=\})|(\:))</string>
276-
<key>endCaptures</key>
277-
<dict>
278-
<key>1</key>
279-
<dict>
280-
<key>name</key>
281-
<string>punctuation.separator.valuepair.dictionary.rego</string>
282-
</dict>
283-
</dict>
284-
<key>patterns</key>
285-
<array>
286-
<dict>
287-
<key>include</key>
288-
<string>$self</string>
289-
</dict>
290-
</array>
291-
</dict>
292-
<dict>
293-
<key>begin</key>
294-
<string>(?&lt;=\:|^)\s*</string>
295-
<key>contentName</key>
296-
<string>meta.structure.dictionary.value.rego</string>
297-
<key>end</key>
298-
<string>\s*(?:(?=\})|(,))</string>
299-
<key>endCaptures</key>
300-
<dict>
301-
<key>1</key>
302-
<dict>
303-
<key>name</key>
304-
<string>punctuation.separator.dictionary.rego</string>
305-
</dict>
306-
</dict>
307-
<key>patterns</key>
308-
<array>
309-
<dict>
310-
<key>include</key>
311-
<string>$self</string>
312-
</dict>
313-
</array>
314-
</dict>
315-
</array>
316-
</dict>
317130
<key>operator</key>
318131
<dict>
319132
<key>patterns</key>
320133
<array>
321134
<dict>
322135
<key>match</key>
323-
<string>\b(?:not)\b</string>
324-
<key>name</key>
325-
<string>keyword.control.logical.$1.rego</string>
326-
</dict>
327-
<dict>
328-
<key>match</key>
329-
<string>\=|\!\=|&gt;|&lt;|&lt;\=|&gt;\=</string>
330-
<key>name</key>
331-
<string>keyword.control.logical.$1.rego</string>
332-
</dict>
333-
</array>
334-
</dict>
335-
<key>query</key>
336-
<dict>
337-
<key>name</key>
338-
<string>meta.structure.query.rego</string>
339-
<key>patterns</key>
340-
<array>
341-
<dict>
342-
<key>include</key>
343-
<string>#expr</string>
344-
</dict>
345-
<dict>
346-
<key>match</key>
347-
<string>,</string>
348-
<key>name</key>
349-
<string>punctuation.separator.query.rego</string>
350-
</dict>
351-
</array>
352-
</dict>
353-
<key>set</key>
354-
<dict>
355-
<key>begin</key>
356-
<string>\{</string>
357-
<key>beginCaptures</key>
358-
<dict>
359-
<key>0</key>
360-
<dict>
361-
<key>name</key>
362-
<string>punctuation.definition.array.begin.rego</string>
363-
</dict>
364-
</dict>
365-
<key>end</key>
366-
<string>\}</string>
367-
<key>endCaptures</key>
368-
<dict>
369-
<key>0</key>
370-
<dict>
371-
<key>name</key>
372-
<string>punctuation.definition.array.end.rego</string>
373-
</dict>
374-
</dict>
375-
<key>name</key>
376-
<string>meta.structure.array.rego</string>
377-
<key>patterns</key>
378-
<array>
379-
<dict>
380-
<key>include</key>
381-
<string>#term</string>
382-
</dict>
383-
<dict>
384-
<key>match</key>
385-
<string>,</string>
136+
<string>\=|\!\=|&gt;|&lt;|&lt;\=|&gt;\=|\+|-|\*|%|/|\||&amp;|:\=</string>
386137
<key>name</key>
387-
<string>punctuation.separator.array.rego</string>
388-
</dict>
389-
<dict>
390-
<key>match</key>
391-
<string>[^\s\]]</string>
392-
<key>name</key>
393-
<string>invalid.illegal.expected-array-separator.rego</string>
138+
<string>keyword.operator.comparison.rego</string>
394139
</dict>
395140
</array>
396141
</dict>
@@ -460,15 +205,7 @@
460205
</dict>
461206
<dict>
462207
<key>include</key>
463-
<string>#array</string>
464-
</dict>
465-
<dict>
466-
<key>include</key>
467-
<string>#emptyobject</string>
468-
</dict>
469-
<dict>
470-
<key>include</key>
471-
<string>#object</string>
208+
<string>#call</string>
472209
</dict>
473210
<dict>
474211
<key>include</key>

misc/syntax/visualstudio/rego/language-configuration.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,7 @@
1111
["{", "}"],
1212
["[", "]"],
1313
["(", ")"],
14-
["\"", "\""],
15-
["'", "'"]
14+
["\"", "\""]
1615
],
1716
"surroundingPairs": [
1817
["{", "}"],

misc/syntax/visualstudio/rego/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"displayName": "rego",
44
"description": "Syntax highlighter for Rego, the open-policy-agent (OPA) policy language",
55
"version": "1.0.0",
6-
"publisher": "Styra",
6+
"publisher": "Open Policy Agent",
77
"engines": {
88
"vscode": "^1.5.0"
99
},
@@ -23,4 +23,4 @@
2323
"path": "./syntaxes/rego.tmLanguage"
2424
}]
2525
}
26-
}
26+
}

0 commit comments

Comments
 (0)