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(abstract_class_declaration
42    "abstract" @context
43    "class" @context
44    name: (_) @name) @item
45
46(method_definition
47    [
48        "get"
49        "set"
50        "async"
51        "*"
52        "readonly"
53        "static"
54        (override_modifier)
55        (accessibility_modifier)
56    ]* @context
57    name: (_) @name
58    parameters: (formal_parameters
59      "(" @context
60      ")" @context)) @item
61
62(public_field_definition
63    [
64        "declare"
65        "readonly"
66        "abstract"
67        "static"
68        (accessibility_modifier)
69    ]* @context
70    name: (_) @name) @item
71
72; Add support for (node:test, bun:test and Jest) runnable
73(call_expression
74    function: (_) @context
75    (#any-of? @context "it" "test" "describe")
76    arguments: (
77        arguments . (string
78            (string_fragment) @name
79        )
80    )
81) @item
82
83(comment) @annotation