92 lines · 1.9 KB · Scheme
RawDownload
; Rust mod test(    (attribute_item (attribute        (          (identifier) @_attribute)          arguments: (              (token_tree (identifier) @_test)              (#eq? @_test "test")          )        )        (#eq? @_attribute "cfg")    )    .    (mod_item        name: (_) @run    )    (#set! tag rust-mod-test)) ; Rust test(    (        (attribute_item (attribute            [((identifier) @_attribute)                (scoped_identifier (identifier) @_attribute)                ])            (#match? @_attribute "test")        ) @_start        .        (attribute_item) *        .        [(line_comment) (block_comment)] *        .        (function_item            name: (_) @run @_test_name            body: _        ) @_end    )    (#set! tag rust-test)) ; Rust doc test(    (        (line_comment) *        (line_comment            doc: (_) @_comment_content        ) @_start @run        (#match? @_comment_content "```")        .        (line_comment) *        .        (line_comment            doc: (_) @_end_comment_content        ) @_end_code_block        (#match? @_end_comment_content "```")        .        (line_comment) *        (attribute_item) *        .        [(function_item            name: (_)  @_doc_test_name            body: _        ) (function_signature_item            name: (_) @_doc_test_name        ) (struct_item            name: (_) @_doc_test_name        ) (enum_item            name: (_) @_doc_test_name            body: _        ) (            (attribute_item) ?            (macro_definition                name: (_) @_doc_test_name)        ) (mod_item            name: (_) @_doc_test_name        )] @_end    )    (#set! tag rust-doc-test)) ; Rust main function(    (        (function_item            name: (_) @run            body: _        ) @_rust_main_function_end        (#eq? @run "main")    )    (#set! tag rust-main))