Pull up diagnostic and cursor position status bar items creation
This commit is contained in:
parent
9bb195e177
commit
03bd6d6c33
3 changed files with 18 additions and 12 deletions
|
@ -27,6 +27,7 @@ tree-sitter-rust = { version = "0.19.0", optional = true }
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
client = { path = "../client", features = ["test-support"] }
|
client = { path = "../client", features = ["test-support"] }
|
||||||
|
gpui = { path = "../gpui", features = ["test-support"] }
|
||||||
project = { path = "../project", features = ["test-support"] }
|
project = { path = "../project", features = ["test-support"] }
|
||||||
serde_json = { version = "1.0.64", features = ["preserve_order"] }
|
serde_json = { version = "1.0.64", features = ["preserve_order"] }
|
||||||
tree-sitter = "0.19.5"
|
tree-sitter = "0.19.5"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
mod items;
|
pub mod items;
|
||||||
pub mod pane;
|
pub mod pane;
|
||||||
pub mod pane_group;
|
pub mod pane_group;
|
||||||
pub mod settings;
|
pub mod settings;
|
||||||
|
@ -20,6 +20,7 @@ use postage::{prelude::Stream, watch};
|
||||||
use project::{Fs, Project, ProjectPath, Worktree};
|
use project::{Fs, Project, ProjectPath, Worktree};
|
||||||
pub use settings::Settings;
|
pub use settings::Settings;
|
||||||
use sidebar::{Side, Sidebar, SidebarItemId, ToggleSidebarItem, ToggleSidebarItemFocus};
|
use sidebar::{Side, Sidebar, SidebarItemId, ToggleSidebarItem, ToggleSidebarItemFocus};
|
||||||
|
use status_bar::StatusBar;
|
||||||
use std::{
|
use std::{
|
||||||
collections::{hash_map::Entry, HashMap},
|
collections::{hash_map::Entry, HashMap},
|
||||||
future::Future,
|
future::Future,
|
||||||
|
@ -27,8 +28,6 @@ use std::{
|
||||||
sync::Arc,
|
sync::Arc,
|
||||||
};
|
};
|
||||||
|
|
||||||
use crate::status_bar::StatusBar;
|
|
||||||
|
|
||||||
action!(OpenNew, WorkspaceParams);
|
action!(OpenNew, WorkspaceParams);
|
||||||
action!(Save);
|
action!(Save);
|
||||||
action!(DebugElements);
|
action!(DebugElements);
|
||||||
|
@ -382,15 +381,7 @@ impl Workspace {
|
||||||
.detach();
|
.detach();
|
||||||
cx.focus(&pane);
|
cx.focus(&pane);
|
||||||
|
|
||||||
let cursor_position = cx.add_view(|_| items::CursorPosition::new(params.settings.clone()));
|
let status_bar = cx.add_view(|cx| StatusBar::new(&pane, params.settings.clone(), cx));
|
||||||
let diagnostic = cx.add_view(|_| items::DiagnosticMessage::new(params.settings.clone()));
|
|
||||||
let status_bar = cx.add_view(|cx| {
|
|
||||||
let mut status_bar = StatusBar::new(&pane, params.settings.clone(), cx);
|
|
||||||
status_bar.add_left_item(diagnostic, cx);
|
|
||||||
status_bar.add_right_item(cursor_position, cx);
|
|
||||||
status_bar
|
|
||||||
});
|
|
||||||
|
|
||||||
let mut current_user = params.user_store.read(cx).watch_current_user().clone();
|
let mut current_user = params.user_store.read(cx).watch_current_user().clone();
|
||||||
let mut connection_status = params.client.status().clone();
|
let mut connection_status = params.client.status().clone();
|
||||||
let _observe_current_user = cx.spawn_weak(|this, mut cx| async move {
|
let _observe_current_user = cx.spawn_weak(|this, mut cx| async move {
|
||||||
|
@ -436,6 +427,10 @@ impl Workspace {
|
||||||
&mut self.right_sidebar
|
&mut self.right_sidebar
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn status_bar(&self) -> &ViewHandle<StatusBar> {
|
||||||
|
&self.status_bar
|
||||||
|
}
|
||||||
|
|
||||||
pub fn project(&self) -> &ModelHandle<Project> {
|
pub fn project(&self) -> &ModelHandle<Project> {
|
||||||
&self.project
|
&self.project
|
||||||
}
|
}
|
||||||
|
|
|
@ -161,6 +161,16 @@ fn build_workspace(params: &WorkspaceParams, cx: &mut ViewContext<Workspace>) ->
|
||||||
})
|
})
|
||||||
.into(),
|
.into(),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
let diagnostic =
|
||||||
|
cx.add_view(|_| workspace::items::DiagnosticMessage::new(params.settings.clone()));
|
||||||
|
let cursor_position =
|
||||||
|
cx.add_view(|_| workspace::items::CursorPosition::new(params.settings.clone()));
|
||||||
|
workspace.status_bar().update(cx, |status_bar, cx| {
|
||||||
|
status_bar.add_left_item(diagnostic, cx);
|
||||||
|
status_bar.add_right_item(cursor_position, cx);
|
||||||
|
});
|
||||||
|
|
||||||
workspace
|
workspace
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue