Resolve proto hints with empty resolve data (#19274)
Fixed ssh remoting not showing a lot of hints Release Notes: - N/A
This commit is contained in:
parent
3dcc638537
commit
02f63e49ed
2 changed files with 10 additions and 10 deletions
|
@ -2439,14 +2439,12 @@ impl InlayHints {
|
||||||
ResolveState::Resolved => (0, None),
|
ResolveState::Resolved => (0, None),
|
||||||
ResolveState::CanResolve(server_id, resolve_data) => (
|
ResolveState::CanResolve(server_id, resolve_data) => (
|
||||||
1,
|
1,
|
||||||
resolve_data
|
Some(proto::resolve_state::LspResolveState {
|
||||||
.map(|json_data| {
|
server_id: server_id.0 as u64,
|
||||||
|
value: resolve_data.map(|json_data| {
|
||||||
serde_json::to_string(&json_data)
|
serde_json::to_string(&json_data)
|
||||||
.expect("failed to serialize resolve json data")
|
.expect("failed to serialize resolve json data")
|
||||||
})
|
}),
|
||||||
.map(|value| proto::resolve_state::LspResolveState {
|
|
||||||
server_id: server_id.0 as u64,
|
|
||||||
value,
|
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
ResolveState::Resolving => (2, None),
|
ResolveState::Resolving => (2, None),
|
||||||
|
@ -2515,9 +2513,11 @@ impl InlayHints {
|
||||||
let resolve_state_data = resolve_state
|
let resolve_state_data = resolve_state
|
||||||
.lsp_resolve_state.as_ref()
|
.lsp_resolve_state.as_ref()
|
||||||
.map(|lsp_resolve_state| {
|
.map(|lsp_resolve_state| {
|
||||||
serde_json::from_str::<Option<lsp::LSPAny>>(&lsp_resolve_state.value)
|
let value = lsp_resolve_state.value.as_deref().map(|value| {
|
||||||
|
serde_json::from_str::<Option<lsp::LSPAny>>(value)
|
||||||
.with_context(|| format!("incorrect proto inlay hint message: non-json resolve state {lsp_resolve_state:?}"))
|
.with_context(|| format!("incorrect proto inlay hint message: non-json resolve state {lsp_resolve_state:?}"))
|
||||||
.map(|state| (LanguageServerId(lsp_resolve_state.server_id as usize), state))
|
}).transpose()?.flatten();
|
||||||
|
anyhow::Ok((LanguageServerId(lsp_resolve_state.server_id as usize), value))
|
||||||
})
|
})
|
||||||
.transpose()?;
|
.transpose()?;
|
||||||
let resolve_state = match resolve_state.state {
|
let resolve_state = match resolve_state.state {
|
||||||
|
|
|
@ -1207,7 +1207,7 @@ message ResolveState {
|
||||||
}
|
}
|
||||||
|
|
||||||
message LspResolveState {
|
message LspResolveState {
|
||||||
string value = 1;
|
optional string value = 1;
|
||||||
uint64 server_id = 2;
|
uint64 server_id = 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue