6 releases
Uses new Rust 2024
| new 0.0.6 | Mar 4, 2026 |
|---|---|
| 0.0.5 | Mar 3, 2026 |
| 0.0.4 | Feb 14, 2026 |
| 0.0.2 | Jan 30, 2026 |
#383 in Text editors
762 downloads per month
Used in 125 crates
(3 directly)
300KB
4.5K
SLoC
🚀 oak-symbols
Symbol Management for Oak Languages — Extract and manage symbol information for document outlines, workspace search, and navigation.
🎯 Why oak-symbols?
Symbols are the building blocks of code — functions, classes, variables, and more. oak-symbols provides a unified interface for extracting symbol information from syntax trees.
✨ Key Features
- 📊 Symbol Provider Trait —
SymbolProviderfor symbol extraction - 🔍 Symbol Information — Rich type with name, role, location, and container
- 🌐 Universal Provider — Built-in
UniversalSymbolProviderfor any Oak language - 📂 Document & Workspace — Document-level and workspace-wide symbol queries
- 🔄 Serde Support — Optional serialization for LSP integration
🏗️ Architecture
SymbolInformation— Symbol name, role, URI, range, and containerSymbolProvider<L>— Trait for document and workspace symbol queriesUniversalSymbolProvider— Ready-to-use provider for any language
🔗 Ecosystem Integration
Used by oak-lsp for textDocument/documentSymbol and workspace/symbol, oak-structural-view for outline views, and oak-mcp for AI-assisted symbol discovery.
📖 Documentation
For usage examples and API details, see the API documentation.
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Dependencies
~5.5–8MB
~73K SLoC