oak-navigation 0.0.8

Symbol navigation, definition lookup, and reference tracking for the Oak framework.
Documentation

🚀 oak-navigation

Crates.io Documentation

Code Navigation Support for Oak Languages — Traits and utilities for implementing "Go to Definition" and "Find All References" features.

🎯 Why oak-navigation?

Code navigation is fundamental to developer productivity. oak-navigation provides the building blocks for implementing navigation features in any Oak-based language tool.

✨ Key Features

  • 🎯 Definition ProviderDefinitionProvider trait for "Go to Definition"
  • 🔍 References ProviderReferencesProvider trait for "Find All References"
  • 📍 Location Type — Unified Location for source positions across files
  • 🔎 Simple Reference Finder — Built-in name-based reference search
  • 🔄 Serde Support — Optional serialization for LSP integration

🏗️ Architecture

  • Location — Represents a position in source code (URI + byte range)
  • DefinitionProvider<L> — Trait for finding symbol definitions
  • ReferencesProvider<L> — Trait for finding symbol references
  • SimpleReferenceFinder — Helper for basic name-based search

🔗 Ecosystem Integration

Used by oak-lsp for LSP navigation features, oak-mcp for AI-assisted navigation, and custom IDE extensions.

📖 Documentation

For usage examples and API details, see the API documentation.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.