aboutsummaryrefslogtreecommitdiff
path: root/src/workspace
diff options
context:
space:
mode:
Diffstat (limited to 'src/workspace')
-rw-r--r--src/workspace/tab.rs11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/workspace/tab.rs b/src/workspace/tab.rs
index 15ca7e45..4c86a6e8 100644
--- a/src/workspace/tab.rs
+++ b/src/workspace/tab.rs
@@ -578,7 +578,14 @@ impl Tab {
terminals: &HashMap<TerminalId, TerminalState>,
terminal_runtimes: &TerminalRuntimeRegistry,
) -> Option<PathBuf> {
- self.foreground_cwd_for_pane(pane_id, terminal_runtimes)
- .or_else(|| self.cwd_for_pane(pane_id, terminals, terminal_runtimes))
+ let terminal_id = self.terminal_id(pane_id)?;
+ terminal_runtimes
+ .get(terminal_id)
+ .and_then(|runtime| runtime.follow_cwd())
+ .or_else(|| {
+ terminals
+ .get(terminal_id)
+ .map(|terminal| terminal.cwd.clone())
+ })
}
}