React on message-less LSP requests properly
Co-Authored-By: Julia Risley <julia@zed.dev>
This commit is contained in:
parent
7a268b1cf6
commit
f83cfda9bc
4 changed files with 5 additions and 12 deletions
|
@ -1339,8 +1339,7 @@ impl Editor {
|
||||||
}));
|
}));
|
||||||
project_subscriptions.push(cx.subscribe(project, |editor, _, event, cx| {
|
project_subscriptions.push(cx.subscribe(project, |editor, _, event, cx| {
|
||||||
match event {
|
match event {
|
||||||
project::Event::LanguageServerReady(_) => {
|
project::Event::ReloadInlayHints => {
|
||||||
dbg!("@@@@@@@@@@@@@ ReceiveD event");
|
|
||||||
editor.update_inlay_hints(cx);
|
editor.update_inlay_hints(cx);
|
||||||
}
|
}
|
||||||
_ => {}
|
_ => {}
|
||||||
|
|
|
@ -1821,7 +1821,6 @@ impl LineWithInvisibles {
|
||||||
|
|
||||||
// TODO kb bad: syscalls + cloning happen very frequently, check the timestamp first
|
// TODO kb bad: syscalls + cloning happen very frequently, check the timestamp first
|
||||||
let new_hints = editor.inlay_hints.read();
|
let new_hints = editor.inlay_hints.read();
|
||||||
dbg!(new_hints.last());
|
|
||||||
|
|
||||||
self.draw_invisibles(
|
self.draw_invisibles(
|
||||||
&selection_ranges,
|
&selection_ranges,
|
||||||
|
|
|
@ -615,6 +615,7 @@ impl LanguageServer {
|
||||||
})
|
})
|
||||||
.detach();
|
.detach();
|
||||||
}
|
}
|
||||||
|
|
||||||
Err(error) => {
|
Err(error) => {
|
||||||
log::error!(
|
log::error!(
|
||||||
"error deserializing {} request: {:?}, message: {:?}",
|
"error deserializing {} request: {:?}, message: {:?}",
|
||||||
|
|
|
@ -254,7 +254,6 @@ pub enum Event {
|
||||||
LanguageServerAdded(LanguageServerId),
|
LanguageServerAdded(LanguageServerId),
|
||||||
LanguageServerRemoved(LanguageServerId),
|
LanguageServerRemoved(LanguageServerId),
|
||||||
LanguageServerLog(LanguageServerId, String),
|
LanguageServerLog(LanguageServerId, String),
|
||||||
LanguageServerReady(LanguageServerId),
|
|
||||||
Notification(String),
|
Notification(String),
|
||||||
ActiveEntryChanged(Option<ProjectEntryId>),
|
ActiveEntryChanged(Option<ProjectEntryId>),
|
||||||
WorktreeAdded,
|
WorktreeAdded,
|
||||||
|
@ -278,6 +277,7 @@ pub enum Event {
|
||||||
new_peer_id: proto::PeerId,
|
new_peer_id: proto::PeerId,
|
||||||
},
|
},
|
||||||
CollaboratorLeft(proto::PeerId),
|
CollaboratorLeft(proto::PeerId),
|
||||||
|
ReloadInlayHints,
|
||||||
}
|
}
|
||||||
|
|
||||||
pub enum LanguageServerState {
|
pub enum LanguageServerState {
|
||||||
|
@ -2813,19 +2813,13 @@ impl Project {
|
||||||
|
|
||||||
language_server
|
language_server
|
||||||
.on_request::<lsp::request::InlayHintRefreshRequest, _, _>({
|
.on_request::<lsp::request::InlayHintRefreshRequest, _, _>({
|
||||||
dbg!("!!!!!!!!!!!!!!");
|
|
||||||
let this = this.downgrade();
|
let this = this.downgrade();
|
||||||
move |params, mut cx| async move {
|
move |(), mut cx| async move {
|
||||||
// TODO kb does not get called now, why?
|
|
||||||
dbg!("#########################");
|
|
||||||
|
|
||||||
let this = this
|
let this = this
|
||||||
.upgrade(&cx)
|
.upgrade(&cx)
|
||||||
.ok_or_else(|| anyhow!("project dropped"))?;
|
.ok_or_else(|| anyhow!("project dropped"))?;
|
||||||
dbg!(params);
|
|
||||||
this.update(&mut cx, |_, cx| {
|
this.update(&mut cx, |_, cx| {
|
||||||
dbg!("@@@@@@@@@@@@@ SENT event");
|
cx.emit(Event::ReloadInlayHints);
|
||||||
cx.emit(Event::LanguageServerReady(server_id));
|
|
||||||
});
|
});
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue