What this artifact is for
The quick orientation layer before you go deeper upstream.
Summary
Language Server Protocol integration with auto-diagnostics and on-demand queries
Seed description: Language Server Protocol integration with auto-diagnostics and on-demand queries
Category: Extensions
Best for: Not yet synthesized.
How to read this page
Workflow tags: none captured
Integrations: none captured
Caveats: No caveats captured yet
Maturity: No maturity signals captured
Directory README excerpt
More of the actual upstream surface so you can skim here before deciding to open the repo.
Language Server Protocol integration for pi-coding-agent.
| Language | Server | Detection | |----------|--------|-----------| | TypeScript/JavaScript | typescript-language-server | package.json, tsconfig.json | | Vue | vue-language-server | package.json, vite.config.ts | | Svelte | svelteserver | svelte.config.js | | Dart/Flutter | dart language-server | pubspec.yaml | | Python | pyright-langserver | pyproject.toml, requirements.txt | | Go | gopls | go.mod | | Kotlin | kotlin-ls | settings.gradle(.kts), build.gradle(.kts), pom.xml | | Swift | sourcekit-lsp | Package.swift, Xcode (.xcodeproj / .xcworkspace) | | Rust | rust-analyzer | Cargo.toml |
rust-analyzer: Very slow to initialize (30-60+ seconds) because it compiles the entire Rust project before returning diagnostics. This is a known rust-analyzer behavior, not a bug in this extension. For quick feedbac…
Preview source: captured upstream text ↗
Quick topics
Skim bullets
- Hook (lsp.ts): Auto-diagnostics (default at agent end; optional per write/edit)
- Tool (lsp-tool.ts): On-demand LSP queries (definitions, references, hover, symbols, diagnostics, signatures)
- Manages one LSP server per project root and reuses them across turns
- Efficient: Bounded memory usage via LRU cache and idle file cleanup
- Supports TypeScript/JavaScript, Vue, Svelte, Dart/Flutter, Python, Go, Kotlin, Swift, and Rust
- On session_start, warms up LSP for detected project type
- Tracks files touched by write/edit
- Default (agent_end): at agent end, sends touched files to LSP and posts a diagnostics message
Sources and provenance
Everything on this page should be traceable back to the list seed or an upstream surface.
Discovery reason: Listed in the awesome-pi-agent README
Discovered from: pi-hooks
Claim confidence: medium
Surface capture kind: tree-readme