aboutsummaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
authorzetashift2023-03-21 22:12:24 +0000
committerGitHub2023-03-21 22:12:24 +0000
commit0e0c16e6fa2610c02a4fa6a3f9f90ba5e32133bb (patch)
treef51d57aac78e114cc5a3517af97a0fbad6971fbc /runtime
parentb0ceac608ebc117399af89b81fbd0837d370161d (diff)
Add initial Smithy support (#6370)
Diffstat (limited to 'runtime')
-rw-r--r--runtime/queries/smithy/highlights.scm102
1 files changed, 102 insertions, 0 deletions
diff --git a/runtime/queries/smithy/highlights.scm b/runtime/queries/smithy/highlights.scm
new file mode 100644
index 00000000..269e9609
--- /dev/null
+++ b/runtime/queries/smithy/highlights.scm
@@ -0,0 +1,102 @@
+; Queries are taken from: https://github.com/indoorvivants/tree-sitter-smithy/blob/main/queries/highlights.scm
+; Preproc
+(control_key) @keyword.directive
+
+; Namespace
+(namespace) @namespace
+
+; Includes
+[
+ "use"
+] @keyword.control.import
+
+; Builtins
+(primitive) @type.builtin
+[
+ "enum"
+ "intEnum"
+ "list"
+ "map"
+ "set"
+] @type.builtin
+
+; Fields (Members)
+; (field) @variable.other.member
+
+(key_identifier) @variable.other.member
+(shape_member
+ (field) @variable.other.member)
+(operation_field) @variable.other.member
+(operation_error_field) @variable.other.member
+
+; Constants
+(enum_member
+ (enum_field) @type.enum)
+
+; Types
+(identifier) @type
+(structure_resource
+ (shape_id) @type)
+
+; Attributes
+(mixins
+ (shape_id) @attribute)
+(trait_statement
+ (shape_id) @attribute)
+
+; Operators
+[
+ "@"
+ "-"
+ "="
+ ":="
+] @operator
+
+; Keywords
+[
+ "namespace"
+ "service"
+ "structure"
+ "operation"
+ "union"
+ "resource"
+ "metadata"
+ "apply"
+ "for"
+ "with"
+] @keyword
+
+; Literals
+(string) @string
+(escape_sequence) @constant.character.escape
+
+(number) @constant.numeric
+
+(float) @constant.numeric.float
+
+(boolean) @constant.builtin.boolean
+
+(null) @constant.builtin
+
+; Misc
+[
+ "$"
+ "#"
+] @punctuation.special
+
+["{" "}"] @punctuation.bracket
+
+["(" ")"] @punctuation.bracket
+
+["[" "]"] @punctuation.bracket
+
+[
+ ":"
+ "."
+] @punctuation.delimiter
+
+; Comments
+[
+ (comment)
+ (documentation_comment)
+] @comment