Skip to content

Use language-client providers for Call Hierarchy and Workspace Symbols - #14772

Draft
Colen Garoutte-Carson (Colengms) wants to merge 1 commit into
mainfrom
dev/coleng/use_standard_lsp
Draft

Colen Garoutte-Carson (Colengms) wants to merge 1 commit into
mainfrom
dev/coleng/use_standard_lsp

Conversation

@Colengms

Copy link
Copy Markdown
Contributor

The extension manually registered Call Hierarchy and Workspace Symbol providers that used cpptools-specific protocol methods. The native language server now advertises and implements the corresponding standard LSP capabilities for both cpptools and mscppls.

This change:

  • Removes the custom Call Hierarchy and Workspace Symbol provider classes.
  • Uses vscode-languageclient’s built-in providers and standard LSP requests.
  • Preserves Call Hierarchy cancellation, progress UI, telemetry, and file-detail presentation through middleware.
  • Preserves localized workspace-symbol scope and suffix presentation using metadata supplied through WorkspaceSymbol.data.
  • Moves the quiet Call Hierarchy request helpers out of the Providers directory.
  • Moves the Go to Definition helper out of Providers, since it is an internal command helper rather than a registered provider.

No user-facing behavior is intended to change.

Validation:

  • npm run compile
  • npm run lint
  • Companion native desktop and mscppls integration tests pass.

Compatibility:

This PR requires the companion native change. It should ship with a matching cpptools binary that advertises the standard capabilities and no longer exposes the replaced custom methods.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Pull Request

Development

Successfully merging this pull request may close these issues.

1 participant