113 lines · 2.5 KB · Scheme
RawDownload
(comment)+ @comment.around (function_declaration    body: (_        "{"        (_)* @function.inside        "}")) @function.around (method_definition    body: (_        "{"        (_)* @function.inside        "}")) @function.around (function_expression    body: (_        "{"        (_)* @function.inside        "}")) @function.around ((arrow_function    body: (statement_block        "{"        (_)* @function.inside        "}")) @function.around (#not-has-parent? @function.around variable_declarator)) ; Arrow function in variable declaration - capture the full declaration([    (lexical_declaration        (variable_declarator            value: (arrow_function                body: (statement_block                    "{"                    (_)* @function.inside                    "}"))))    (variable_declaration        (variable_declarator            value: (arrow_function                body: (statement_block                    "{"                    (_)* @function.inside                    "}"))))]) @function.around ; Arrow function in variable declaration (expression body fallback)([    (lexical_declaration        (variable_declarator            value: (arrow_function                body: (_) @function.inside)))    (variable_declaration        (variable_declarator            value: (arrow_function                body: (_) @function.inside)))]) @function.around ; Catch-all for arrow functions in other contexts (callbacks, etc.)((arrow_function    body: (_) @function.inside) @function.around (#not-has-parent? @function.around variable_declarator))(function_signature) @function.around (generator_function    body: (_        "{"        (_)* @function.inside        "}")) @function.around (generator_function_declaration    body: (_        "{"        (_)* @function.inside        "}")) @function.around (class_declaration    body: (_        "{"        [(_) ";"?]* @class.inside        "}" )) @class.around (class    body: (_        "{"        (_)* @class.inside        "}" )) @class.around (interface_declaration    body: (_        "{"        [(_) ";"?]* @class.inside        "}" )) @class.around (enum_declaration    body: (_        "{"        [(_) ","?]* @class.inside        "}" )) @class.around (ambient_declaration    (module    body: (_        "{"        [(_) ";"?]* @class.inside        "}" ))) @class.around (internal_module    body: (_        "{"        [(_) ";"?]* @class.inside        "}" )) @class.around (type_alias_declaration) @class.around