223 lines · 6.1 KB · Scheme
RawDownload
(internal_module    "namespace" @context    name: (_) @name) @item (enum_declaration    "enum" @context    name: (_) @name) @item (function_declaration    "async"? @context    "function" @context    name: (_) @name    parameters: (formal_parameters      "(" @context      ")" @context)) @item (generator_function_declaration    "async"? @context    "function" @context    "*" @context    name: (_) @name    parameters: (formal_parameters      "(" @context      ")" @context)) @item (interface_declaration    "interface" @context    name: (_) @name) @item (program    (export_statement        (lexical_declaration            ["let" "const"] @context            (variable_declarator                name: (identifier) @name) @item))) ; Exported array destructuring(program    (export_statement        (lexical_declaration            ["let" "const"] @context            (variable_declarator                name: (array_pattern                    [                        (identifier) @name @item                        (assignment_pattern left: (identifier) @name @item)                        (rest_pattern (identifier) @name @item)                    ]))))) ; Exported object destructuring(program    (export_statement        (lexical_declaration            ["let" "const"] @context            (variable_declarator                name: (object_pattern                    [(shorthand_property_identifier_pattern) @name @item                     (pair_pattern                         value: (identifier) @name @item)                     (pair_pattern                         value: (assignment_pattern left: (identifier) @name @item))                     (rest_pattern (identifier) @name @item)]))))) (program    (lexical_declaration        ["let" "const"] @context        (variable_declarator            name: (identifier) @name) @item)) ; Top-level array destructuring(program    (lexical_declaration        ["let" "const"] @context        (variable_declarator            name: (array_pattern                [                    (identifier) @name @item                    (assignment_pattern left: (identifier) @name @item)                    (rest_pattern (identifier) @name @item)                ])))) ; Top-level object destructuring(program    (lexical_declaration        ["let" "const"] @context        (variable_declarator            name: (object_pattern                [(shorthand_property_identifier_pattern) @name @item                 (pair_pattern                     value: (identifier) @name @item)                 (pair_pattern                     value: (assignment_pattern left: (identifier) @name @item))                 (rest_pattern (identifier) @name @item)])))) (class_declaration    "class" @context    name: (_) @name) @item ; Method definitions in classes (not in object literals)(class_body    (method_definition        [            "get"            "set"            "async"            "*"            "readonly"            "static"            (override_modifier)            (accessibility_modifier)        ]* @context        name: (_) @name        parameters: (formal_parameters          "(" @context          ")" @context)) @item) ; Object literal methods(variable_declarator    value: (object        (method_definition            [                "get"                "set"                "async"                "*"            ]* @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: [            (identifier) @_name            (member_expression                object: [                    (identifier) @_name                    (member_expression object: (identifier) @_name)                ]            )        ] @context        (#any-of? @_name "it" "test" "describe" "context" "suite")        arguments: (            arguments . [                (string (string_fragment) @name)                (identifier) @name            ]        )    )) @item ; Add support for parameterized tests(    (call_expression        function: (call_expression            function: (member_expression                object: [(identifier) @_name (member_expression object: (identifier) @_name)]                property: (property_identifier) @_property            )            (#any-of? @_name "it" "test" "describe" "context" "suite")            (#eq? @_property "each")        )        arguments: (            arguments . [                (string (string_fragment) @name)                (identifier) @name            ]        )    )) @item ; Object properties(pair    key: [        (property_identifier) @name        (string (string_fragment) @name)        (number) @name        (computed_property_name) @name    ]) @item ; Nested variables in function bodies(statement_block    (lexical_declaration        ["let" "const"] @context        (variable_declarator            name: (identifier) @name) @item)) ; Nested array destructuring in functions(statement_block    (lexical_declaration        ["let" "const"] @context        (variable_declarator            name: (array_pattern                [                    (identifier) @name @item                    (assignment_pattern left: (identifier) @name @item)                    (rest_pattern (identifier) @name @item)                ])))) ; Nested object destructuring in functions(statement_block    (lexical_declaration        ["let" "const"] @context        (variable_declarator            name: (object_pattern                [(shorthand_property_identifier_pattern) @name @item                 (pair_pattern value: (identifier) @name @item)                 (pair_pattern value: (assignment_pattern left: (identifier) @name @item))                 (rest_pattern (identifier) @name @item)])))) (comment) @annotation