Expand description
Universal high-performance parser manager.
§Overview
Provides a unified, fault‑tolerant entry point for parsing source code across multiple programming languages.
§Design Goals
- Zero‑panic parsing pipeline
- Deterministic behaviour
- Efficient large‑scale directory traversal
- Minimal memory overhead
- Extensible language backends
§Features
- Multi‑language dispatch
- Extension‑based file filtering
- Graceful failure handling (I/O errors, unsupported languages)
- Relative path normalisation
- Batched file processing
§Execution Model
- Discover files
- Filter by extension
- Read sources
- Dispatch parser
- Collect facts
§Safety Guarantees
- No
unwrap() - No panic propagation
- I/O errors isolated per file (skipped silently)
- Parse errors isolated per file (skipped silently)
§Output
Returns a vector of (relative_path, Vec<RawNode>).
Structs§
- Parser
Manager - Stateless parser manager.
Functions§
- discover_
files 🔒 - Walk a directory and collect every file whose extension matches the language filter.
- extensions_
for_ 🔒language - Return the list of file extensions accepted for a given language.
- normalize_
root 🔒 - Return the canonical form of
root, or the original if it fails. - process_
file 🔒 - Read a single file, parse it, and return
Noneon any failure. - relative_
path 🔒 - Compute a relative path from
basetopath. - should_
include 🔒 - Check whether
pathshould be included based on the allowed extensions.