Do not remove worktrees after the headless server removal (#19556)
Release Notes: - N/A Co-authored-by: Conrad Irwin <conrad@zed.dev>
This commit is contained in:
parent
291ca2c32c
commit
edda149d75
5 changed files with 12 additions and 4 deletions
|
@ -831,7 +831,7 @@ impl AllLanguageSettings {
|
||||||
|
|
||||||
let editorconfig_properties = location.and_then(|location| {
|
let editorconfig_properties = location.and_then(|location| {
|
||||||
cx.global::<SettingsStore>()
|
cx.global::<SettingsStore>()
|
||||||
.editorconfg_properties(location.worktree_id, location.path)
|
.editorconfig_properties(location.worktree_id, location.path)
|
||||||
});
|
});
|
||||||
if let Some(editorconfig_properties) = editorconfig_properties {
|
if let Some(editorconfig_properties) = editorconfig_properties {
|
||||||
let mut settings = settings.clone();
|
let mut settings = settings.clone();
|
||||||
|
|
|
@ -1029,6 +1029,7 @@ impl LspStore {
|
||||||
})
|
})
|
||||||
.detach()
|
.detach()
|
||||||
}
|
}
|
||||||
|
WorktreeStoreEvent::WorktreeReleased(..) => {}
|
||||||
WorktreeStoreEvent::WorktreeRemoved(_, id) => self.remove_worktree(*id, cx),
|
WorktreeStoreEvent::WorktreeRemoved(_, id) => self.remove_worktree(*id, cx),
|
||||||
WorktreeStoreEvent::WorktreeOrderChanged => {}
|
WorktreeStoreEvent::WorktreeOrderChanged => {}
|
||||||
WorktreeStoreEvent::WorktreeUpdateSent(worktree) => {
|
WorktreeStoreEvent::WorktreeUpdateSent(worktree) => {
|
||||||
|
|
|
@ -2223,9 +2223,11 @@ impl Project {
|
||||||
cx.emit(Event::WorktreeAdded);
|
cx.emit(Event::WorktreeAdded);
|
||||||
}
|
}
|
||||||
WorktreeStoreEvent::WorktreeRemoved(_, id) => {
|
WorktreeStoreEvent::WorktreeRemoved(_, id) => {
|
||||||
self.on_worktree_removed(*id, cx);
|
|
||||||
cx.emit(Event::WorktreeRemoved(*id));
|
cx.emit(Event::WorktreeRemoved(*id));
|
||||||
}
|
}
|
||||||
|
WorktreeStoreEvent::WorktreeReleased(_, id) => {
|
||||||
|
self.on_worktree_released(*id, cx);
|
||||||
|
}
|
||||||
WorktreeStoreEvent::WorktreeOrderChanged => cx.emit(Event::WorktreeOrderChanged),
|
WorktreeStoreEvent::WorktreeOrderChanged => cx.emit(Event::WorktreeOrderChanged),
|
||||||
WorktreeStoreEvent::WorktreeUpdateSent(_) => {}
|
WorktreeStoreEvent::WorktreeUpdateSent(_) => {}
|
||||||
}
|
}
|
||||||
|
@ -2261,7 +2263,7 @@ impl Project {
|
||||||
cx.notify();
|
cx.notify();
|
||||||
}
|
}
|
||||||
|
|
||||||
fn on_worktree_removed(&mut self, id_to_remove: WorktreeId, cx: &mut ModelContext<Self>) {
|
fn on_worktree_released(&mut self, id_to_remove: WorktreeId, cx: &mut ModelContext<Self>) {
|
||||||
if let Some(dev_server_project_id) = self.dev_server_project_id {
|
if let Some(dev_server_project_id) = self.dev_server_project_id {
|
||||||
let paths: Vec<String> = self
|
let paths: Vec<String> = self
|
||||||
.visible_worktrees(cx)
|
.visible_worktrees(cx)
|
||||||
|
|
|
@ -62,6 +62,7 @@ pub struct WorktreeStore {
|
||||||
pub enum WorktreeStoreEvent {
|
pub enum WorktreeStoreEvent {
|
||||||
WorktreeAdded(Model<Worktree>),
|
WorktreeAdded(Model<Worktree>),
|
||||||
WorktreeRemoved(EntityId, WorktreeId),
|
WorktreeRemoved(EntityId, WorktreeId),
|
||||||
|
WorktreeReleased(EntityId, WorktreeId),
|
||||||
WorktreeOrderChanged,
|
WorktreeOrderChanged,
|
||||||
WorktreeUpdateSent(Model<Worktree>),
|
WorktreeUpdateSent(Model<Worktree>),
|
||||||
}
|
}
|
||||||
|
@ -394,6 +395,10 @@ impl WorktreeStore {
|
||||||
|
|
||||||
let handle_id = worktree.entity_id();
|
let handle_id = worktree.entity_id();
|
||||||
cx.observe_release(worktree, move |this, worktree, cx| {
|
cx.observe_release(worktree, move |this, worktree, cx| {
|
||||||
|
cx.emit(WorktreeStoreEvent::WorktreeReleased(
|
||||||
|
handle_id,
|
||||||
|
worktree.id(),
|
||||||
|
));
|
||||||
cx.emit(WorktreeStoreEvent::WorktreeRemoved(
|
cx.emit(WorktreeStoreEvent::WorktreeRemoved(
|
||||||
handle_id,
|
handle_id,
|
||||||
worktree.id(),
|
worktree.id(),
|
||||||
|
|
|
@ -968,7 +968,7 @@ impl SettingsStore {
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn editorconfg_properties(
|
pub fn editorconfig_properties(
|
||||||
&self,
|
&self,
|
||||||
for_worktree: WorktreeId,
|
for_worktree: WorktreeId,
|
||||||
for_path: &Path,
|
for_path: &Path,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue