Skip to content

Commit

Permalink
Update syntax highlighters for vscode and textmate
Browse files Browse the repository at this point in the history
  • Loading branch information
tsandall committed Mar 13, 2018
1 parent 2a5192e commit 0c02943
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 550 deletions.
283 changes: 10 additions & 273 deletions misc/syntax/textmate/Rego.tmLanguage
Original file line number Diff line number Diff line change
Expand Up @@ -26,90 +26,25 @@
<key>include</key>
<string>#head</string>
</dict>
<dict>
<key>include</key>
<string>#query</string>
</dict>
<dict>
<key>include</key>
<string>#expr</string>
</dict>
<dict>
<key>include</key>
<string>#term</string>
</dict>
</array>
<key>repository</key>
<dict>
<key>array</key>
<dict>
<key>begin</key>
<string>\[</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.array.begin.rego</string>
</dict>
</dict>
<key>end</key>
<string>\]</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.array.end.rego</string>
</dict>
</dict>
<key>name</key>
<string>meta.structure.array.rego</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#term</string>
</dict>
<dict>
<key>match</key>
<string>,</string>
<key>name</key>
<string>punctuation.separator.array.rego</string>
</dict>
<dict>
<key>match</key>
<string>[^\s\]]</string>
<key>name</key>
<string>invalid.illegal.expected-array-separator.rego</string>
</dict>
</array>
</dict>
<key>builtin_call</key>
<key>call</key>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.whitespace.function-call.leading.rego</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>support.function.any-method.rego</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.definition.parameters.rego</string>
</dict>
</dict>
<key>match</key>
<string>(?x) (?:(?&lt;!\w)(\s+))?
(\b
(?:[A-Za-z_][A-Za-z0-9_]*+\b) # actual name
)\s*(\()</string>
<string>([a-zA-Z_][a-zA-Z0-9_]*)\(</string>
<key>name</key>
<string>meta.function-call.rego</string>
</dict>
Expand All @@ -135,68 +70,20 @@
<key>name</key>
<string>constant.language.rego</string>
</dict>
<key>emptyobject</key>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.dictionary.begin.rego</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>meta.empty-dictionary.rego</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.definition.dictionary.end.rego</string>
</dict>
</dict>
<key>match</key>
<string>(\{)(\s*(\}))</string>
<key>name</key>
<string>meta.structure.dictionary.rego</string>
</dict>
<key>expr</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#term</string>
</dict>
<dict>
<key>include</key>
<string>#builtin_call</string>
</dict>
<dict>
<key>include</key>
<string>#operator</string>
</dict>
</array>
</dict>
<key>head</key>
<dict>
<key>begin</key>
<string>^(default\s+)?([[:alpha:]_][[:alnum:]_]*)</string>
<string>^([[:alpha:]_][[:alnum:]_]*)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.import.$1.rego</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>storage.type.function.rego</string>
<string>entity.name.function.declaration</string>
</dict>
</dict>
<key>end</key>
<string>(=|:-)</string>
<string>(=|{|\n)</string>
<key>name</key>
<string>meta.function.rego</string>
<key>patterns</key>
Expand All @@ -210,9 +97,9 @@
<key>keyword</key>
<dict>
<key>match</key>
<string>\b(?:(package|import|as|with))\b</string>
<string>(^|\s+)(?:(default|not|package|import|as|with|else))\s+</string>
<key>name</key>
<string>keyword.control.import.$1.rego</string>
<string>keyword.other.rego</string>
</dict>
<key>number</key>
<dict>
Expand Down Expand Up @@ -240,157 +127,15 @@
<key>name</key>
<string>constant.numeric.rego</string>
</dict>
<key>object</key>
<dict>
<key>begin</key>
<string>(\{)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.dictionary.begin.rego</string>
</dict>
</dict>
<key>end</key>
<string>(\})</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.dictionary.end.rego</string>
</dict>
</dict>
<key>name</key>
<string>meta.structure.dictionary.rego</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?&lt;=\{|\,|^)\s*(?![\},])</string>
<key>contentName</key>
<string>meta.structure.dictionary.key.rego</string>
<key>end</key>
<string>\s*(?:(?=\})|(\:))</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.separator.valuepair.dictionary.rego</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?&lt;=\:|^)\s*</string>
<key>contentName</key>
<string>meta.structure.dictionary.value.rego</string>
<key>end</key>
<string>\s*(?:(?=\})|(,))</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.separator.dictionary.rego</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
</array>
</dict>
<key>operator</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\b(?:not)\b</string>
<key>name</key>
<string>keyword.control.logical.$1.rego</string>
</dict>
<dict>
<key>match</key>
<string>\=|\!\=|&gt;|&lt;|&lt;\=|&gt;\=</string>
<key>name</key>
<string>keyword.control.logical.$1.rego</string>
</dict>
</array>
</dict>
<key>query</key>
<dict>
<key>name</key>
<string>meta.structure.query.rego</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#expr</string>
</dict>
<dict>
<key>match</key>
<string>,</string>
<key>name</key>
<string>punctuation.separator.query.rego</string>
</dict>
</array>
</dict>
<key>set</key>
<dict>
<key>begin</key>
<string>\{</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.array.begin.rego</string>
</dict>
</dict>
<key>end</key>
<string>\}</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.array.end.rego</string>
</dict>
</dict>
<key>name</key>
<string>meta.structure.array.rego</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#term</string>
</dict>
<dict>
<key>match</key>
<string>,</string>
<string>\=|\!\=|&gt;|&lt;|&lt;\=|&gt;\=|\+|-|\*|%|/|\||&amp;|:\=</string>
<key>name</key>
<string>punctuation.separator.array.rego</string>
</dict>
<dict>
<key>match</key>
<string>[^\s\]]</string>
<key>name</key>
<string>invalid.illegal.expected-array-separator.rego</string>
<string>keyword.operator.comparison.rego</string>
</dict>
</array>
</dict>
Expand Down Expand Up @@ -460,15 +205,7 @@
</dict>
<dict>
<key>include</key>
<string>#array</string>
</dict>
<dict>
<key>include</key>
<string>#emptyobject</string>
</dict>
<dict>
<key>include</key>
<string>#object</string>
<string>#call</string>
</dict>
<dict>
<key>include</key>
Expand Down
3 changes: 1 addition & 2 deletions misc/syntax/visualstudio/rego/language-configuration.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@
["{", "}"],
["[", "]"],
["(", ")"],
["\"", "\""],
["'", "'"]
["\"", "\""]
],
"surroundingPairs": [
["{", "}"],
Expand Down
4 changes: 2 additions & 2 deletions misc/syntax/visualstudio/rego/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"displayName": "rego",
"description": "Syntax highlighter for Rego, the open-policy-agent (OPA) policy language",
"version": "1.0.0",
"publisher": "Styra",
"publisher": "Open Policy Agent",
"engines": {
"vscode": "^1.5.0"
},
Expand All @@ -23,4 +23,4 @@
"path": "./syntaxes/rego.tmLanguage"
}]
}
}
}
Loading

0 comments on commit 0c02943

Please sign in to comment.