aboutsummaryrefslogtreecommitdiff
path: root/runtime/queries/typescript
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/queries/typescript')
-rw-r--r--runtime/queries/typescript/highlights.scm36
l---------runtime/queries/typescript/indents.toml1
-rw-r--r--runtime/queries/typescript/locals.scm2
-rw-r--r--runtime/queries/typescript/tags.scm23
4 files changed, 62 insertions, 0 deletions
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