Refactor Rust parser to use Tree-sitter queries and improve formatters (done by jules in 24m) #9
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This commit introduces several enhancements to the Rust parsing and formatting capabilities:
Rust Parser Refactoring (
src/parser/lang/rust.rs):FUNCTION_QUERY,STRUCT_QUERY, etc.) have been defined and integrated.extract_documentationhelper, which identifies specific Rust doc comment patterns.Enhanced Parser Unit Tests (
src/parser/lang/rust.rs):fixtures/sample_advanced.rs,fixtures/empty.rs,fixtures/only_comments.rs) were added.fixtures/sample.rswas heavily updated.pub(in path)), nested items,extern crate,usedeclarations,moddeclarations, and edge cases like empty or comment-only files.Formatter Refinements (
src/parser/formatter/mod.rs):TraitUnitformatting forSummaryandNoTestsstrategies now uses a more accurate head string (derived fromself.sourceorself.headif it were present).Summarystrategy forStructUnitnow correctly handles commas for fields, preventing double commas.New Formatter Unit Tests (
src/parser/formatter/rust.rs):FileUnit) for all strategies.TraitUnitheads andStructUnitfield commas.Note on Testing:
Due to a build environment issue preventing
cargo testexecution, all test creation, updates, and verification were performed through manual code review and analysis of expected behavior.