diff --git a/queries/cedar/folds.scm b/queries/cedar/folds.scm new file mode 100644 index 000000000..b2f77ffbe --- /dev/null +++ b/queries/cedar/folds.scm @@ -0,0 +1,6 @@ +[ + (policy) + (record_literal) + (set_literal) + (condition) +] @fold diff --git a/queries/cedar/highlights.scm b/queries/cedar/highlights.scm new file mode 100644 index 000000000..4ca36fe18 --- /dev/null +++ b/queries/cedar/highlights.scm @@ -0,0 +1,51 @@ + +; Main policy structure +(policy) @keyword +(effect) @keyword +(scope) @keyword + +; Expressions +(binary_expression) @operator +(unary_expression) @operator +(call_expression) @function.call +(ext_fun_call) @function.call +(selector_expression) @property +(has_expression) @operator +(like_expression) @operator +(contains_expression) @operator +(contains_all_expression) @operator +(is_expression) @operator + +; Literals +(record_literal) @punctuation.bracket +(set_literal) @punctuation.bracket +(entity) @constant + +; Conditions +(condition) @keyword + +; Annotations +(annotation) @attribute + +; Constraints +(principal_constraint) @variable.builtin +(action_constraint) @variable.builtin +(resource_constraint) @variable.builtin + +; Basic punctuation +[ + "(" + ")" + "{" + "}" + "[" + "]" +] @punctuation.bracket + +[ + "," + ";" + "." + "::" + "@" +] @punctuation.delimiter