diff options
Diffstat (limited to 'src/app/runtime.rs')
| -rw-r--r-- | src/app/runtime.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/app/runtime.rs b/src/app/runtime.rs index 6ef9a786..e3d5bc92 100644 --- a/src/app/runtime.rs +++ b/src/app/runtime.rs @@ -68,6 +68,20 @@ impl App { crate::api::schema::Method::ServerStop(_) | crate::api::schema::Method::ServerLiveHandoff(_) ); + if matches!( + &msg.request.method, + crate::api::schema::Method::WorktreeCreate(_) + | crate::api::schema::Method::WorktreeRemove(_) + ) { + self.drain_all_internal_events(); + let deferred_changed = + self.handle_deferred_worktree_api_request(msg.request, msg.respond_to); + if !skip_default_workspace { + changed |= self.ensure_default_workspace(); + } + self.sync_prefix_input_source(previous_mode); + return changed | deferred_changed; + } let response = self.handle_api_request(msg.request); if !skip_default_workspace { changed |= self.ensure_default_workspace(); |
