summaryrefslogtreecommitdiff
path: root/runtime/queries/spicedb
diff options
context:
space:
mode:
authorJimmy Zelinskie2024-02-12 01:28:52 +0000
committerGitHub2024-02-12 01:28:52 +0000
commitd9f7aaacaf65272dfce092954ec49a78961e8112 (patch)
tree780f6885391b872fed90617c380258f87c093a87 /runtime/queries/spicedb
parent7d8ce1a4000939bb1d1e0a67277f7733735607c7 (diff)
languages: add CEL, SpiceDB schema language (#9296)
* languages: add CEL language and grammar * languages: add spicedb schema language * chore: docgen * runtime/queries: refine spicedb & cel highlights Co-authored-by: Michael Davis <mcarsondavis@gmail.com> * languages: update spicedb --------- Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
Diffstat (limited to 'runtime/queries/spicedb')
-rw-r--r--runtime/queries/spicedb/highlights.scm47
-rw-r--r--runtime/queries/spicedb/injections.scm5
-rw-r--r--runtime/queries/spicedb/tags.scm4
3 files changed, 56 insertions, 0 deletions
diff --git a/runtime/queries/spicedb/highlights.scm b/runtime/queries/spicedb/highlights.scm
new file mode 100644
index 00000000..63c93955
--- /dev/null
+++ b/runtime/queries/spicedb/highlights.scm
@@ -0,0 +1,47 @@
+; highlights.scm
+
+[
+ "definition"
+ "caveat"
+ "permission"
+ "relation"
+ "nil"
+] @keyword
+
+[
+ ","
+ ":"
+] @punctuation.delimiter
+
+[
+ "("
+ ")"
+ "{"
+ "}"
+] @punctuation.bracket
+
+[
+ "|"
+ "+"
+ "-"
+ "&"
+ "#"
+ "->"
+ "="
+] @operator
+("with") @keyword.operator
+
+[
+ "nil"
+ "*"
+] @constant.builtin
+
+(comment) @comment
+(type_identifier) @type
+(cel_type_identifier) @type
+(cel_variable_identifier) @variable.parameter
+(field_identifier) @variable.other.member
+[
+ (func_identifier)
+ (method_identifier)
+] @function.method
diff --git a/runtime/queries/spicedb/injections.scm b/runtime/queries/spicedb/injections.scm
new file mode 100644
index 00000000..f8cafc9d
--- /dev/null
+++ b/runtime/queries/spicedb/injections.scm
@@ -0,0 +1,5 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
+
+((caveat_expr) @injection.content
+ (#set! injection.language "cel"))
diff --git a/runtime/queries/spicedb/tags.scm b/runtime/queries/spicedb/tags.scm
new file mode 100644
index 00000000..a8fe932b
--- /dev/null
+++ b/runtime/queries/spicedb/tags.scm
@@ -0,0 +1,4 @@
+(object_definition
+ name: (type_identifier) @name) @definition.type
+
+(type_identifier) @name @reference.type