Skip to content

v0.1.4

Choose a tag to compare

@scottmeyer scottmeyer released this 18 Apr 18:07
· 2 commits to main since this release
9b5a45a

Highlights

New: stateless enrich(path) MCP tool

Returns {diagnostics, symbols, references, dependents} for a single Rust file without requiring an open rust_session. Useful for editor plugins and file-scoped checks where booting a full workspace is overkill.

  • New MCP tool: #[tool] enrich(path, content_hash?)
  • New JSON-RPC bridge method: fcp.enrich
  • Backing logic lives in the sibling fcp-core-rust crate (path dep)
  • Warm cargo check keeps responses under ~2 s on cached workspaces

Fix: symbols query tolerates rust-analyzer null response

textDocument/documentSymbol returns null (not []) when rust-analyzer hasn't yet opened a file in LSP — even when rust_session status reports ready. Previously that surfaced as ! LSP error: JSON error: invalid type: null, expected a sequence and callers fell back to inferior chunking. Now:

  • handle_symbols calls did_open before documentSymbol to nudge rust-analyzer into loading the file
  • Deserializes into Option<Vec<..>> so null → empty list, not a parse failure

Full changelog

  • 9b5a45a release: v0.1.4 — add enrich(path) stateless MCP tool
  • e68c0fe symbols: tolerate null response + nudge rust-analyzer with didOpen