diff options
author | Blaž Hrastnik | 2021-06-01 08:40:40 +0000 |
---|---|---|
committer | Blaž Hrastnik | 2021-06-01 08:55:11 +0000 |
commit | c2e6b9f506fddec15e48bd06cf712aef2bf53e3c (patch) | |
tree | c413901e9e6d84f6dead0badc3a8283d31a551ef /runtime/queries | |
parent | 8fd800604334679fa42b6b1fb7b06f92c8c34d1c (diff) |
Add typescript support & ts/js indentation queries
Diffstat (limited to 'runtime/queries')
-rw-r--r-- | runtime/queries/javascript/indents.toml | 28 | ||||
-rw-r--r-- | runtime/queries/typescript/highlights.scm | 36 | ||||
l--------- | runtime/queries/typescript/indents.toml | 1 | ||||
-rw-r--r-- | runtime/queries/typescript/locals.scm | 2 | ||||
-rw-r--r-- | runtime/queries/typescript/tags.scm | 23 |
5 files changed, 90 insertions, 0 deletions
diff --git a/runtime/queries/javascript/indents.toml b/runtime/queries/javascript/indents.toml new file mode 100644 index 00000000..9d711ab2 --- /dev/null +++ b/runtime/queries/javascript/indents.toml @@ -0,0 +1,28 @@ +indent = [ + "array", + "object", + "arguments", + "formal_parameters", + + "statement_block", + "object_pattern", + "class_body", + "named_imports", + + "binary_expression", + "return_statement", + "template_substitution", + # (expression_statement (call_expression)) + "export_clause", + + # typescript + "enum_declaration", + "interface_declaration", + "object_type", +] + +outdent = [ + "}", + "]", + ")" +] diff --git a/runtime/queries/typescript/highlights.scm b/runtime/queries/typescript/highlights.scm new file mode 100644 index 00000000..a3212a3d --- /dev/null +++ b/runtime/queries/typescript/highlights.scm @@ -0,0 +1,36 @@ +; inherits: javascript + +; Types + +(type_identifier) @type +(predefined_type) @type.builtin + +((identifier) @type + (#match? @type "^[A-Z]")) + +(type_arguments + "<" @punctuation.bracket + ">" @punctuation.bracket) + +; Variables + +(required_parameter (identifier) @variable.parameter) +(optional_parameter (identifier) @variable.parameter) + +; Keywords + +[ + "abstract" + "declare" + "enum" + "export" + "implements" + "interface" + "keyof" + "namespace" + "private" + "protected" + "public" + "type" + "readonly" +] @keyword diff --git a/runtime/queries/typescript/indents.toml b/runtime/queries/typescript/indents.toml new file mode 120000 index 00000000..3a17f258 --- /dev/null +++ b/runtime/queries/typescript/indents.toml @@ -0,0 +1 @@ +../javascript/indents.toml
\ No newline at end of file diff --git a/runtime/queries/typescript/locals.scm b/runtime/queries/typescript/locals.scm new file mode 100644 index 00000000..aa6d6ffd --- /dev/null +++ b/runtime/queries/typescript/locals.scm @@ -0,0 +1,2 @@ +(required_parameter (identifier) @local.definition) +(optional_parameter (identifier) @local.definition) diff --git a/runtime/queries/typescript/tags.scm b/runtime/queries/typescript/tags.scm new file mode 100644 index 00000000..ccae934e --- /dev/null +++ b/runtime/queries/typescript/tags.scm @@ -0,0 +1,23 @@ +(function_signature + name: (identifier) @name) @definition.function + +(method_signature + name: (property_identifier) @name) @definition.method + +(abstract_method_signature + name: (property_identifier) @name) @definition.method + +(abstract_class_declaration + name: (type_identifier) @name) @definition.class + +(module + name: (identifier) @name) @definition.module + +(interface_declaration + name: (type_identifier) @name) @definition.interface + +(type_annotation + (type_identifier) @name) @reference.type + +(new_expression + constructor: (identifier) @name) @reference.class |