Summary
Add comprehensive LSP server support by implementing 20 additional servers from the OpenCode reference implementation. This will significantly expand language support for the LSP package and improve developer experience across multiple programming languages.
Phase-based Implementation Plan
Phase 1 - Web/Common Languages (Priority)
- Biome - JS/TS/JSON/CSS linter (biome lsp-proxy)
- Svelte - Svelte language server
- Astro - Astro language server
- YamlLS - YAML language server
- BashLS - Bash language server
- DockerfileLS - Dockerfile language server
Phase 2 - Additional Languages
- Rubocop - Ruby LSP (gem install)
- ElixirLS - Elixir LSP (GitHub + mix build)
- Zls - Zig LSP (GitHub releases)
- CSharp - C# LSP (dotnet tool)
- FSharp - F# LSP (dotnet tool)
- SourceKit - Swift LSP (system only)
- Clangd - C/C++ LSP (GitHub releases)
- JDTLS - Java LSP (Eclipse download)
- LuaLS - Lua LSP (GitHub releases)
- PHPIntelephense - PHP LSP (npm)
- Ocaml - OCaml LSP (system only)
- TerraformLS - Terraform LSP (GitHub releases)
- TexLab - LaTeX LSP (GitHub releases)
- Gleam - Gleam LSP (system only)
Implementation Approach
- Follow existing patterns in server.ts for consistency
- Auto-download support for npm/GitHub/dotnet servers
- Version tracking for npm packages
- Platform detection for binary downloads
- Comprehensive unit tests for all servers
- Update documentation and configuration examples
Files to Modify
- packages/lsp/src/server.ts
- packages/lsp/src/language.ts
- packages/lsp/src/index.ts
- packages/lsp/CLAUDE.md
- packages/lsp/test/unit/server.test.ts
Acceptance Criteria
- All 20 LSP servers implemented following existing patterns
- Auto-download mechanisms working for all applicable servers
- Platform detection properly handled for binary releases
- Comprehensive test coverage for all new servers
- Documentation updated with new server support
- Configuration examples provided for each server
Related References
Summary
Add comprehensive LSP server support by implementing 20 additional servers from the OpenCode reference implementation. This will significantly expand language support for the LSP package and improve developer experience across multiple programming languages.
Phase-based Implementation Plan
Phase 1 - Web/Common Languages (Priority)
Phase 2 - Additional Languages
Implementation Approach
Files to Modify
Acceptance Criteria
Related References