feat: redesign status chrome and floating prompts
This commit is contained in:
+21
-5
@@ -251,9 +251,7 @@ impl EditorSession {
|
||||
));
|
||||
}
|
||||
}
|
||||
if notices.is_empty() {
|
||||
editor.set_message("Ready • --no-config uses default keybindings");
|
||||
} else {
|
||||
if !notices.is_empty() {
|
||||
editor.set_message(notices.join(" | "));
|
||||
}
|
||||
let mut session = Self {
|
||||
@@ -512,7 +510,7 @@ impl EditorSession {
|
||||
}
|
||||
if !self.lsp.is_enabled() && !self.plugins.values().any(RubyPlugin::is_async) {
|
||||
self.documents.clear();
|
||||
return false;
|
||||
return self.refresh_lsp_names();
|
||||
}
|
||||
let mut events = Vec::new();
|
||||
if !self.editor.should_quit() {
|
||||
@@ -604,7 +602,25 @@ impl EditorSession {
|
||||
for (owner, error) in failures {
|
||||
self.retire(&owner, &error);
|
||||
}
|
||||
changed
|
||||
changed | self.refresh_lsp_names()
|
||||
}
|
||||
|
||||
fn refresh_lsp_names(&mut self) -> bool {
|
||||
let buffer_id = self.editor.buffer_id();
|
||||
if self.lsp.active_server_names(buffer_id).eq(self
|
||||
.editor
|
||||
.lsp_names()
|
||||
.iter()
|
||||
.map(String::as_str))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
self.editor.set_lsp_names(
|
||||
self.lsp
|
||||
.active_server_names(buffer_id)
|
||||
.map(str::to_owned)
|
||||
.collect(),
|
||||
)
|
||||
}
|
||||
|
||||
fn source_is_current(&self, source: InvocationSource) -> bool {
|
||||
|
||||
Reference in New Issue
Block a user