Skip to content

[FEAT] Implement Standalone Language Server Protocol (LSP) Service #603

Description

@mijinummi

Labels: high-difficulty, lsp, backend, typescript
Difficulty: High
Module: apps/lsp-server/


🧠 Concept

Build a standalone Language Server Protocol (LSP) daemon in TypeScript that communicates with any LSP-compliant editor (Neovim, VS Code, JetBrains, Sublime).

⚠️ Problem

Building editor extensions individually for every IDE is inefficient; an LSP server brings GasGuard features to all developer environments simultaneously.

📁 Implementation Scope

  • apps/lsp-server/src/server.ts
  • apps/lsp-server/src/handlers/text-document.ts

🛠️ Requirements

  1. Implement standard LSP specification (vscode-languageserver/node).
  2. Listen for textDocument/didOpen, textDocument/didChange, and textDocument/didSave events.
  3. Return diagnostic array payloads and code action refactor proposals.

🎯 Acceptance Criteria

  • LSP server communicates successfully over stdio/IPC with test editor clients.
  • Real-time diagnostic updates are delivered within $<100\text{ms}$ of typing pauses.

Metadata

Metadata

Labels

Stellar WaveIssues in the Stellar wave program

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions