summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/context/file.tsx
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-02-09 07:22:40 -0600
committerAdam <[email protected]>2026-02-09 07:38:06 -0600
commit30f0d3b3941f5c01826e9903cc4ebcb791704dec (patch)
tree5b7ca5e1e9cf81cd8a9ffd9939f07bb02f5f366c /packages/app/src/context/file.tsx
parent03f3029dc697f520a0e154c31f8188743113deb4 (diff)
downloadopencode-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.tsx4
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 })
},