fix: make signature info response conform to spec

This addreses
https://github.com/rust-analyzer/rust-analyzer/issues/10464.

This patch picks up `lsp-types` 0.90.1, which serialises the
`SignatureInformation` and `ParameterInformation` with the right casing.
It also adds `activeSignature` field as part of the top-level signature
response. It keeps `activeParameter` at the top-level for backwards
compatibility.
This commit is contained in:
Alex Muscar 2021-10-11 20:42:16 +01:00
parent 4ff0377ed0
commit 41856e2682
3 changed files with 4 additions and 4 deletions

4
Cargo.lock generated
View file

@ -863,9 +863,9 @@ dependencies = [
[[package]] [[package]]
name = "lsp-types" name = "lsp-types"
version = "0.90.0" version = "0.90.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a7404037aab080771c90b0a499836d9d8a10336ecd07badf969567b65c6d51a1" checksum = "6f3734ab1d7d157fc0c45110e06b587c31cd82bea2ccfd6b563cbff0aaeeb1d3"
dependencies = [ dependencies = [
"bitflags", "bitflags",
"serde", "serde",

View file

@ -22,7 +22,7 @@ crossbeam-channel = "0.5.0"
dissimilar = "1.0.2" dissimilar = "1.0.2"
itertools = "0.10.0" itertools = "0.10.0"
jod-thread = "0.1.0" jod-thread = "0.1.0"
lsp-types = { version = "0.90.0", features = ["proposed"] } lsp-types = { version = "0.90.1", features = ["proposed"] }
parking_lot = "0.11.0" parking_lot = "0.11.0"
xflags = "0.2.1" xflags = "0.2.1"
oorandom = "11.1.2" oorandom = "11.1.2"

View file

@ -399,7 +399,7 @@ pub(crate) fn signature_help(
}; };
lsp_types::SignatureHelp { lsp_types::SignatureHelp {
signatures: vec![signature], signatures: vec![signature],
active_signature: None, active_signature: Some(0),
active_parameter, active_parameter,
} }
} }