diff options
Diffstat (limited to 'src/workspace/tab.rs')
| -rw-r--r-- | src/workspace/tab.rs | 11 |
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()) + }) } } |
