outline.scm

 1(internal_module
 2    "namespace" @context
 3    name: (_) @name) @item
 4
 5(enum_declaration
 6    "enum" @context
 7    name: (_) @name) @item
 8
 9(type_alias_declaration
10    "type" @context
11    name: (_) @name) @item
12
13(function_declaration
14    "async"? @context
15    "function" @context
16    name: (_) @name
17    parameters: (formal_parameters
18      "(" @context
19      ")" @context)) @item
20
21(interface_declaration
22    "interface" @context
23    name: (_) @name) @item
24
25(export_statement
26    (lexical_declaration
27        ["let" "const"] @context
28        (variable_declarator
29            name: (_) @name) @item))
30
31(program
32    (lexical_declaration
33        ["let" "const"] @context
34        (variable_declarator
35            name: (_) @name) @item))
36
37(class_declaration
38    "class" @context
39    name: (_) @name) @item
40
41(method_definition
42    [
43        "get"
44        "set"
45        "async"
46        "*"
47        "readonly"
48        "static"
49        (override_modifier)
50        (accessibility_modifier)
51    ]* @context
52    name: (_) @name
53    parameters: (formal_parameters
54      "(" @context
55      ")" @context)) @item
56
57(public_field_definition
58    [
59        "declare"
60        "readonly"
61        "abstract"
62        "static"
63        (accessibility_modifier)
64    ]* @context
65    name: (_) @name) @item
66
67; Add support for (node:test, bun:test and Jest) runnable
68(call_expression
69    function: (_) @context
70    (#any-of? @context "it" "test" "describe")
71    arguments: (
72        arguments . (string
73            (string_fragment) @name
74        )
75    )
76) @item
77
78(comment) @annotation