pub struct TreeSitterRustSymbolIndexer;Expand description
Rust parser-backed symbol and call-graph indexer.
It extracts modules, imports, structs/fields, enums/variants, traits, impls, functions/methods, constants/statics, type aliases, macros, documentation, signatures, containment, and resolved call edges. Parser setup/parse failure falls back to the lexical Rust summary.
§Examples
use ailloli_ui_editor::{code::TreeSitterRustSymbolIndexer, Document, DocumentId, EditorLanguage, SymbolIndexer, SymbolKind};
use ailloli_ui_text::TextBuffer;
let document = Document::new(DocumentId(1), TextBuffer::from_string("struct App { value: usize }")) .with_language(EditorLanguage::Rust);
let summary = TreeSitterRustSymbolIndexer.index_document(&document);
assert!(summary.symbols.iter().any(|symbol| symbol.kind == SymbolKind::Struct && symbol.name == "App"));
assert!(summary.symbols.iter().any(|symbol| symbol.kind == SymbolKind::Field && symbol.name == "value"));Trait Implementations§
Source§impl Debug for TreeSitterRustSymbolIndexer
impl Debug for TreeSitterRustSymbolIndexer
Source§impl Default for TreeSitterRustSymbolIndexer
impl Default for TreeSitterRustSymbolIndexer
Source§fn default() -> TreeSitterRustSymbolIndexer
fn default() -> TreeSitterRustSymbolIndexer
Returns the “default value” for a type. Read more
Source§impl SymbolIndexer for TreeSitterRustSymbolIndexer
Parses Rust and returns a deterministic local symbol graph.
impl SymbolIndexer for TreeSitterRustSymbolIndexer
Parses Rust and returns a deterministic local symbol graph.
Source§fn index_document(&mut self, document: &Document) -> CodeFileSummary
fn index_document(&mut self, document: &Document) -> CodeFileSummary
Uses Tree-sitter, falling back lexically only on parser setup/parse failure.
Auto Trait Implementations§
impl Freeze for TreeSitterRustSymbolIndexer
impl RefUnwindSafe for TreeSitterRustSymbolIndexer
impl Send for TreeSitterRustSymbolIndexer
impl Sync for TreeSitterRustSymbolIndexer
impl Unpin for TreeSitterRustSymbolIndexer
impl UnwindSafe for TreeSitterRustSymbolIndexer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more