[PR #3210] feat: deno lsp #10567

Closed
opened 2026-02-16 18:15:15 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/anomalyco/opencode/pull/3210

State: closed
Merged: Yes


Add Deno LSP Support

Summary

Adds Deno LSP server support with mutual exclusion from TypeScript LSP to prevent conflicting diagnostics.

Changes

• Added Deno LSP: Detects deno.json/deno.jsonc, supports .ts, .tsx, .js, .jsx, .mjs
• Enhanced NearestRoot: Added optional excludePatterns parameter
• Updated TypeScript LSP: Excludes itself when Deno markers are found

Behavior

• Deno projects (deno.json present) → Deno LSP only
• Node/Bun projects (package-lock.json, etc.) → TypeScript LSP only
• No conflicts - single LSP per file

Requirements

• Deno CLI must be pre-installed (like TypeScript)
• Uses built-in deno lsp command

Testing

Deno Project

LSP Attachment Log - filtered log on a folder that contain a deno.json file

INFO  2025-10-16T09:45:44 +2ms service=lsp serverIds=deno, typescript, vue, eslint, gopls, ruby-lsp, pyright, elixir-ls, zls, csharp, rust, clangd, svelte, jdtls enabled LSP servers
INFO  2025-10-16T09:47:03 +5ms service=lsp serverID=deno spawned lsp server
INFO  2025-10-16T09:47:03 +0ms service=lsp.client serverID=deno starting client
INFO  2025-10-16T09:47:03 +2ms service=lsp.client serverID=deno sending initialize
INFO  2025-10-16T09:47:03 +21ms service=lsp.client serverID=deno initialized
INFO  2025-10-16T09:47:03 +3ms service=lsp.client serverID=deno  textDocument/didOpen
INFO  2025-10-16T09:47:04 +410ms service=lsp.client serverID=deno  textDocument/publishDiagnostics
INFO  2025-10-16T09:47:20 +1ms service=lsp.client serverID=deno  waiting for diagnostics
INFO  2025-10-16T09:47:20 +0ms service=lsp.client serverID=deno  version=1 textDocument/didChange
INFO  2025-10-16T09:47:20 +11ms service=lsp.client serverID=deno  textDocument/publishDiagnostics
INFO  2025-10-16T09:47:20 +0ms service=lsp.client serverID=deno  got diagnostics
**Original Pull Request:** https://github.com/anomalyco/opencode/pull/3210 **State:** closed **Merged:** Yes --- # Add Deno LSP Support ## Summary Adds Deno LSP server support with mutual exclusion from TypeScript LSP to prevent conflicting diagnostics. ## Changes • Added Deno LSP: Detects deno.json/deno.jsonc, supports .ts, .tsx, .js, .jsx, .mjs • Enhanced NearestRoot: Added optional excludePatterns parameter • Updated TypeScript LSP: Excludes itself when Deno markers are found ## Behavior • Deno projects (deno.json present) → Deno LSP only • Node/Bun projects (package-lock.json, etc.) → TypeScript LSP only • No conflicts - single LSP per file ## Requirements • Deno CLI must be pre-installed (like TypeScript) • Uses built-in deno lsp command ## Testing ### Deno Project LSP Attachment Log - filtered log on a folder that contain a deno.json file ``` INFO 2025-10-16T09:45:44 +2ms service=lsp serverIds=deno, typescript, vue, eslint, gopls, ruby-lsp, pyright, elixir-ls, zls, csharp, rust, clangd, svelte, jdtls enabled LSP servers INFO 2025-10-16T09:47:03 +5ms service=lsp serverID=deno spawned lsp server INFO 2025-10-16T09:47:03 +0ms service=lsp.client serverID=deno starting client INFO 2025-10-16T09:47:03 +2ms service=lsp.client serverID=deno sending initialize INFO 2025-10-16T09:47:03 +21ms service=lsp.client serverID=deno initialized INFO 2025-10-16T09:47:03 +3ms service=lsp.client serverID=deno textDocument/didOpen INFO 2025-10-16T09:47:04 +410ms service=lsp.client serverID=deno textDocument/publishDiagnostics INFO 2025-10-16T09:47:20 +1ms service=lsp.client serverID=deno waiting for diagnostics INFO 2025-10-16T09:47:20 +0ms service=lsp.client serverID=deno version=1 textDocument/didChange INFO 2025-10-16T09:47:20 +11ms service=lsp.client serverID=deno textDocument/publishDiagnostics INFO 2025-10-16T09:47:20 +0ms service=lsp.client serverID=deno got diagnostics ```
yindo added the pull-request label 2026-02-16 18:15:15 -05:00
yindo closed this issue 2026-02-16 18:15:15 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#10567