diff --git a/crates/languages/src/tsx/brackets.scm b/crates/languages/src/tsx/brackets.scm deleted file mode 120000 index e6835c943b..0000000000 --- a/crates/languages/src/tsx/brackets.scm +++ /dev/null @@ -1 +0,0 @@ -../typescript/brackets.scm \ No newline at end of file diff --git a/crates/languages/src/tsx/brackets.scm b/crates/languages/src/tsx/brackets.scm new file mode 100644 index 0000000000..63395f81d8 --- /dev/null +++ b/crates/languages/src/tsx/brackets.scm @@ -0,0 +1,5 @@ +("(" @open ")" @close) +("[" @open "]" @close) +("{" @open "}" @close) +("<" @open ">" @close) +("\"" @open "\"" @close) diff --git a/crates/languages/src/tsx/indents.scm b/crates/languages/src/tsx/indents.scm deleted file mode 120000 index 502c2a060a..0000000000 --- a/crates/languages/src/tsx/indents.scm +++ /dev/null @@ -1 +0,0 @@ -../typescript/indents.scm \ No newline at end of file diff --git a/crates/languages/src/tsx/indents.scm b/crates/languages/src/tsx/indents.scm new file mode 100644 index 0000000000..107e6ff8e0 --- /dev/null +++ b/crates/languages/src/tsx/indents.scm @@ -0,0 +1,15 @@ +[ + (call_expression) + (assignment_expression) + (member_expression) + (lexical_declaration) + (variable_declaration) + (assignment_expression) + (if_statement) + (for_statement) +] @indent + +(_ "[" "]" @end) @indent +(_ "<" ">" @end) @indent +(_ "{" "}" @end) @indent +(_ "(" ")" @end) @indent diff --git a/crates/languages/src/tsx/outline.scm b/crates/languages/src/tsx/outline.scm deleted file mode 120000 index a0df409fda..0000000000 --- a/crates/languages/src/tsx/outline.scm +++ /dev/null @@ -1 +0,0 @@ -../typescript/outline.scm \ No newline at end of file diff --git a/crates/languages/src/tsx/outline.scm b/crates/languages/src/tsx/outline.scm new file mode 100644 index 0000000000..fe114e990e --- /dev/null +++ b/crates/languages/src/tsx/outline.scm @@ -0,0 +1,76 @@ +(internal_module + "namespace" @context + name: (_) @name) @item + +(enum_declaration + "enum" @context + name: (_) @name) @item + +(type_alias_declaration + "type" @context + name: (_) @name) @item + +(function_declaration + "async"? @context + "function" @context + name: (_) @name + parameters: (formal_parameters + "(" @context + ")" @context)) @item + +(interface_declaration + "interface" @context + name: (_) @name) @item + +(export_statement + (lexical_declaration + ["let" "const"] @context + (variable_declarator + name: (_) @name) @item)) + +(program + (lexical_declaration + ["let" "const"] @context + (variable_declarator + name: (_) @name) @item)) + +(class_declaration + "class" @context + name: (_) @name) @item + +(method_definition + [ + "get" + "set" + "async" + "*" + "readonly" + "static" + (override_modifier) + (accessibility_modifier) + ]* @context + name: (_) @name + parameters: (formal_parameters + "(" @context + ")" @context)) @item + +(public_field_definition + [ + "declare" + "readonly" + "abstract" + "static" + (accessibility_modifier) + ]* @context + name: (_) @name) @item + +; Add support for (node:test, bun:test and Jest) runnable +(call_expression + function: (_) @context + (#any-of? @context "it" "test" "describe") + arguments: ( + arguments . (string + (string_fragment) @name + ) + ) +) @item