diff options
| author | Adam <[email protected]> | 2026-02-09 07:22:40 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2026-02-09 07:38:06 -0600 |
| commit | 30f0d3b3941f5c01826e9903cc4ebcb791704dec (patch) | |
| tree | 5b7ca5e1e9cf81cd8a9ffd9939f07bb02f5f366c /packages/app/src/context/file.tsx | |
| parent | 03f3029dc697f520a0e154c31f8188743113deb4 (diff) | |
| download | opencode-30f0d3b3941f5c01826e9903cc4ebcb791704dec.tar.gz opencode-30f0d3b3941f5c01826e9903cc4ebcb791704dec.zip | |
fix(app): update tab file contents on change
Diffstat (limited to 'packages/app/src/context/file.tsx')
| -rw-r--r-- | packages/app/src/context/file.tsx | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/packages/app/src/context/file.tsx b/packages/app/src/context/file.tsx index 996ea2aaf..88b70cd41 100644 --- a/packages/app/src/context/file.tsx +++ b/packages/app/src/context/file.tsx @@ -7,6 +7,7 @@ import { getFilename } from "@opencode-ai/util/path" import { useSDK } from "./sdk" import { useSync } from "./sync" import { useLanguage } from "@/context/language" +import { useLayout } from "@/context/layout" import { createPathHelpers } from "./file/path" import { approxBytes, @@ -50,9 +51,11 @@ export const { use: useFile, provider: FileProvider } = createSimpleContext({ useSync() const params = useParams() const language = useLanguage() + const layout = useLayout() const scope = createMemo(() => sdk.directory) const path = createPathHelpers(scope) + const tabs = layout.tabs(() => `${params.dir}${params.id ? "/" + params.id : ""}`) const inflight = new Map<string, Promise<void>>() const [store, setStore] = createStore<{ @@ -183,6 +186,7 @@ export const { use: useFile, provider: FileProvider } = createSimpleContext({ invalidateFromWatcher(e.details, { normalize: path.normalize, hasFile: (file) => Boolean(store.file[file]), + isOpen: (file) => tabs.all().some((tab) => path.pathFromTab(tab) === file), loadFile: (file) => { void load(file, { force: true }) }, |
