91 lines · 1.8 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