Skip to content

LSP 3.18 (draft) introduces capabilities not yet tracked against mcpls's tool surface #299

Description

@bug-ops

Description

mcpls targets LSP 3.17. LSP 3.18 is now under active development (draft, features tagged @since 3.18.0). Notable new/changed capabilities:

  • Inline Completions (new feature; no reference project implements it either)
  • Dynamic Text Document Content refresh
  • Folding Range refresh (server-initiated, similar to mcpls's existing diagnostics push-model in bridge/notifications.rs)
  • Multiple Range Formatting (extends existing single-range format tool)
  • WorkspaceEdit snippet support + metadata
  • SignatureHelp/SignatureInformation activeParameter now nullable
  • Code Action kind documentation, Command tooltip support
  • CompletionList applyKind property
  • Relative pattern support in document/notebook filters

Neither tracked reference project (isaacphi/mcp-language-server, Tritlo/lsp-mcp) implements any 3.18 draft feature — most recent commits on both predate the 3.18 draft. This keeps priority at P4 (cosmetic/niche, spec still draft, no competitive pressure).

The ls-types fork (see companion issue on unmaintained lsp-types) already supports 3.18 draft features behind a proposed flag — migrating that dependency would be a prerequisite for any of these.

Reproduction Steps

  1. See LSP 3.18 spec: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/
  2. See ls-types README noting 3.18 proposed flag: https://github.com/tower-lsp-community/ls-types
  3. Related: feat(bridge): add missing LSP 3.17 tools — signature help, go-to-implementation, inlay hints, type hierarchy #116 (LSP 3.17 tool gaps), negotiated LSP position encoding is never consumed by position conversion #290 (position encoding gap)

Expected Behavior

The competitive-parity playbook should carry a watch-item for LSP 3.18 so future cycles can promote specific features once the spec finalizes or reference projects adopt them.

Actual Behavior

No tracking exists for LSP 3.18 draft features.

Environment

Spec

.local/specs/008-lsp-318-draft-gaps/spec.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    P4Nice-to-have: research ideas, future enhancementsenhancementNew feature or requestmcpls-coremcpls-core crate changes

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions