85 lines · 2.0 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 (captures body for expression-bodied arrows)([    (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)) (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