Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: warn, if LS does not match client requirements #559

Merged
merged 17 commits into from
Jun 27, 2024

Conversation

bastiandoetsch
Copy link
Collaborator

@bastiandoetsch bastiandoetsch commented Jun 24, 2024

Description

Language Server & IDEs synchronize over the LsProtocolVersion. If these mismatch, functionality could be buggy or not working. This PR enables warnings to the user, if a client specifies its required protocol version:

  • new setting option in InitializationOptions to transmit the required protocol version from the client
  • language server checks its own protocol version, and if not the same, sends a ShowMessageRequest language server protocol dialog to the client
  • the dialog contains a button to open a web browser to download either the correct & needed CLI or the standalone language server.
  • The download URL takes release channels into account

Checklist

  • Tests added and all succeed
  • Linted
  • README.md updated, if user-facing
  • License file updated, if new 3rd-party dependency is introduced

🚨After having merged, please update the CLI go.mod to pull in latest language server.

Screenshots / GIFs

image image

@bastiandoetsch bastiandoetsch marked this pull request as ready for review June 26, 2024 10:35
@bastiandoetsch bastiandoetsch requested a review from a team as a code owner June 26, 2024 10:35
@bastiandoetsch bastiandoetsch merged commit 76b5ef0 into main Jun 27, 2024
14 of 15 checks passed
@bastiandoetsch bastiandoetsch deleted the feat/IDE-426_warn-if-ls-is-too-low-for-client branch June 27, 2024 09:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants