oak-folding 0.0.6

Code folding logic and AST-based region detection for the Oak framework.
Documentation

🚀 oak-folding

Crates.io Documentation

Code Folding Support for Oak Languages — Identify collapsible regions in source code for IDE outline views and editor folding.

🎯 Why oak-folding?

Code folding helps developers manage large files by collapsing sections of code. oak-folding provides a trait-based interface for identifying foldable regions in any Oak-supported language.

✨ Key Features

  • 📁 Folding Provider TraitFoldingProvider for language-specific folding logic
  • 🎯 Folding Range Types — Comments, imports, and custom regions
  • 📍 Precise Ranges — Byte-offset based for accurate folding
  • 🔄 Serde Support — Optional serialization for LSP integration

🏗️ Architecture

  • FoldingRange — Represents a foldable region with optional kind
  • FoldingRangeKind — Comment, Imports, or Region
  • FoldingProvider<L> — Trait for providing folding ranges

🔗 Ecosystem Integration

Used by oak-lsp for textDocument/foldingRange support, IDE extensions for code outline views, and code formatters.

📖 Documentation

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

🤝 Contributing

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