Add typescript support & ts/js indentation queries
This commit is contained in:
parent
8fd8006043
commit
c2e6b9f506
6 changed files with 101 additions and 0 deletions
|
@ -65,6 +65,17 @@ roots = []
|
||||||
|
|
||||||
indent = { tab-width = 2, unit = " " }
|
indent = { tab-width = 2, unit = " " }
|
||||||
|
|
||||||
|
[[language]]
|
||||||
|
name = "typescript"
|
||||||
|
scope = "source.ts"
|
||||||
|
injection-regex = "^(ts|typescript)$"
|
||||||
|
file-types = ["ts"]
|
||||||
|
roots = []
|
||||||
|
# TODO: highlights-jsx, highlights-params
|
||||||
|
|
||||||
|
language-server = { command = "typescript-language-server", args = ["--stdio"] }
|
||||||
|
indent = { tab-width = 2, unit = " " }
|
||||||
|
|
||||||
[[language]]
|
[[language]]
|
||||||
name = "css"
|
name = "css"
|
||||||
scope = "source.css"
|
scope = "source.css"
|
||||||
|
|
28
runtime/queries/javascript/indents.toml
Normal file
28
runtime/queries/javascript/indents.toml
Normal file
|
@ -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 = [
|
||||||
|
"}",
|
||||||
|
"]",
|
||||||
|
")"
|
||||||
|
]
|
36
runtime/queries/typescript/highlights.scm
Normal file
36
runtime/queries/typescript/highlights.scm
Normal file
|
@ -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
|
1
runtime/queries/typescript/indents.toml
Symbolic link
1
runtime/queries/typescript/indents.toml
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../javascript/indents.toml
|
2
runtime/queries/typescript/locals.scm
Normal file
2
runtime/queries/typescript/locals.scm
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
(required_parameter (identifier) @local.definition)
|
||||||
|
(optional_parameter (identifier) @local.definition)
|
23
runtime/queries/typescript/tags.scm
Normal file
23
runtime/queries/typescript/tags.scm
Normal file
|
@ -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
|
Loading…
Add table
Reference in a new issue