#language-server #lsp #type

nightly oak-lsp

Lightweight LSP types for the Oak framework

11 releases

Uses new Rust 2024

0.0.11 Mar 29, 2026
0.0.10 Mar 24, 2026
0.0.4 Feb 15, 2026
0.0.2 Jan 30, 2026

#319 in Text editors

Download history 60/week @ 2026-01-23 114/week @ 2026-01-30 307/week @ 2026-02-06 102/week @ 2026-02-13 171/week @ 2026-02-20 152/week @ 2026-02-27 114/week @ 2026-03-06 205/week @ 2026-03-13 155/week @ 2026-03-20 127/week @ 2026-03-27 126/week @ 2026-04-03 160/week @ 2026-04-10

571 downloads per month
Used in 144 crates (130 directly)

MPL-2.0 license

395KB
6K SLoC

🚀 oak-lsp

Crates.io Documentation

Language Server Protocol Implementation for Oak — A complete LSP server framework for building language-aware editors and IDEs.

🎯 Why oak-lsp?

The Language Server Protocol (LSP) has become the standard for language tooling integration. oak-lsp provides a complete, production-ready LSP server implementation that works with any Oak language parser.

✨ Key Features

  • 📡 Full LSP Support — Core LSP requests and notifications
  • 🔧 Language Service Trait — Unified interface for language-specific features
  • 📂 Workspace Management — Multi-file projects with change tracking
  • 🔄 Incremental Updates — Efficient handling of text document changes
  • 🛡️ Error Recovery — Robust error handling for malformed requests

🏗️ Architecture

Module Purpose
handlers LSP request/notification handlers
server LSP server with JSON-RPC
service LanguageService trait
types LSP-specific type definitions
workspace File and project management

Supported LSP Features

  • textDocument/completion — Code completion
  • textDocument/hover — Hover information
  • textDocument/definition — Go to definition
  • textDocument/references — Find all references
  • textDocument/documentSymbol — Document outline
  • textDocument/foldingRange — Code folding
  • textDocument/semanticTokens — Semantic highlighting
  • textDocument/diagnostic — Diagnostics

🔗 Ecosystem Integration

Integrates with oak-vfs for file access, oak-hover/oak-navigation/oak-symbols for features, and any LSP-compatible editor.

📖 Documentation

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

🤝 Contributing

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

Dependencies

~10–16MB
~189K SLoC