Skip to content

rust

TREE_SITTER_QUERY = '(function_item name: (identifier) @function.name) @function.definition(impl_item type: (type_identifier) @class.name body: (declaration_list (function_item name: (identifier) @function.name) @function.definition))' module-attribute

Tree-sitter query for extracting function names and definitions.

RustExtractor

Bases: TreeSitterExtractor

Source code extractor for extracting JavaScript functions.

Source code in src/codablellm/languages/rust.py
class RustExtractor(TreeSitterExtractor):
    """
    Source code extractor for extracting JavaScript functions.
    """

    def __init__(self) -> None:
        super().__init__("Rust", TREE_SITTER_QUERY)

    def get_extractable_files(self, path: PathLike) -> Set[Path]:
        return rglob_file_extensions(path, [".rs"])

    @requires_extra("rust", "Rust source code extraction", "tree_sitter_rust")
    def get_language(self) -> Language:
        return Language(tsr.language())  # type: ignore

    def is_installed(self) -> bool:
        return tsr is not None