fix: read working directory from panelDirectories instead of TerminalPanel

TerminalPanel.directory is never updated (updateDirectory() is
never called anywhere). Workspace.panelDirectories is kept up to
date via updatePanelDirectory() from OSC 7 / shell integration.

Before: working directory always returns ""
After:  working directory returns correct cwd (e.g. "/Users/grimmer")

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Grimmer Kang 2026-03-20 04:15:44 +08:00
parent cf5162ff4a
commit 4b0ae5180d

View file

@ -538,7 +538,10 @@ final class ScriptTerminal: NSObject {
@objc(workingDirectory)
var workingDirectory: String {
guard NSApp.isAppleScriptEnabled else { return "" }
return terminal?.directory ?? ""
// TerminalPanel.directory is never updated (updateDirectory is never called).
// Read from Workspace.panelDirectories instead, which is kept up to date
// via updatePanelDirectory() from OSC 7 / shell integration.
return workspace?.panelDirectories[terminalId] ?? terminal?.directory ?? ""
}
func input(text: String) -> Bool {