aboutsummaryrefslogtreecommitdiffstats
path: root/public/prism/prism-rego.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/prism/prism-rego.js')
-rw-r--r--public/prism/prism-rego.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/public/prism/prism-rego.js b/public/prism/prism-rego.js
new file mode 100644
index 0000000..3cf05c9
--- /dev/null
+++ b/public/prism/prism-rego.js
@@ -0,0 +1,32 @@
+// https://www.openpolicyagent.org/docs/latest/policy-reference/
+
+Prism.languages.rego = {
+ comment: /#.*/,
+ property: {
+ pattern:
+ /(^|[^\\.])(?:"(?:\\.|[^\\"\r\n])*"|`[^`]*`|\b[a-z_]\w*\b)(?=\s*:(?!=))/i,
+ lookbehind: true,
+ greedy: true,
+ },
+ string: {
+ pattern: /(^|[^\\])"(?:\\.|[^\\"\r\n])*"|`[^`]*`/,
+ lookbehind: true,
+ greedy: true,
+ },
+
+ keyword:
+ /\b(?:as|default|else|import|not|null|package|set(?=\s*\()|some|with)\b/,
+ boolean: /\b(?:false|true)\b/,
+
+ function: {
+ pattern: /\b[a-z_]\w*\b(?:\s*\.\s*\b[a-z_]\w*\b)*(?=\s*\()/i,
+ inside: {
+ namespace: /\b\w+\b(?=\s*\.)/,
+ punctuation: /\./,
+ },
+ },
+
+ number: /-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,
+ operator: /[-+*/%|&]|[<>:=]=?|!=|\b_\b/,
+ punctuation: /[,;.\[\]{}()]/,
+};