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

lsp: SignatureHelp.activeParameter can be -1 #20874

Open
1 task done
notpeter opened this issue Nov 19, 2024 · 0 comments
Open
1 task done

lsp: SignatureHelp.activeParameter can be -1 #20874

notpeter opened this issue Nov 19, 2024 · 0 comments
Labels
bug [core label] dart Dart programming language support java Java programming language support language server failure Language server doesn't work as expected language server An umbrella label for all language servers

Comments

@notpeter
Copy link
Member

Check for existing issues

  • Completed

Describe the bug / provide steps to reproduce it

At least two LSPs (Dart and Eclipse jdtls) send SignatureHelp objects where the activeParameter is -1 which yields the following error:

[ERROR] failed to deserialize response from language server:
invalid value: integer `-1`, expected u32 at line 1 column 21.
response from language server: 
"{\"activeParameter\":-1,\"activeSignature\":0,\"signatures\"
...

In v3.16 of the LSP spec SignatureHelp.active_parameter is defined as uninteger.
In v3.15 it was merely specified as number.

This is out-of-spec (now), but Zed should handle this more gracefully.

Zed uses gluon-lang/lsp-types. lsp-types implements in signature_help.rs as u32:

pub struct SignatureHelp {
    pub signatures: Vec<SignatureInformation>,
    pub active_signature: Option<u32>,
    pub active_parameter: Option<u32>,
}

Upstream issues:

Originally discovered here:

Environment

Zed: v0.163.0 (Zed Nightly a35b73e)
OS: macOS 14.7.0
Memory: 64 GiB
Architecture: aarch64

If applicable, add mockups / screenshots to help explain present your vision of the feature

No response

If applicable, attach your Zed.log file to this issue.

No response

@notpeter notpeter added bug [core label] triage language server failure Language server doesn't work as expected language server An umbrella label for all language servers dart Dart programming language support java Java programming language support and removed triage labels Nov 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug [core label] dart Dart programming language support java Java programming language support language server failure Language server doesn't work as expected language server An umbrella label for all language servers
Projects
None yet
Development

No branches or pull requests

1 participant