diff options
| author | adamelmore <[email protected]> | 2026-01-26 16:46:01 -0600 |
|---|---|---|
| committer | adamelmore <[email protected]> | 2026-01-26 16:46:09 -0600 |
| commit | 021d9d105e1dc8d096390b1b392de642c033901c (patch) | |
| tree | 76754b375baf9327b6b03987e6a531103a3a2695 /packages/app/src/context | |
| parent | b07d7cdb71301b9b0381f1a94b5670f954a56d4c (diff) | |
| download | opencode-021d9d105e1dc8d096390b1b392de642c033901c.tar.gz opencode-021d9d105e1dc8d096390b1b392de642c033901c.zip | |
fix(app): reactive file tree
Diffstat (limited to 'packages/app/src/context')
| -rw-r--r-- | packages/app/src/context/file.tsx | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/packages/app/src/context/file.tsx b/packages/app/src/context/file.tsx index 306bce922..805936cd8 100644 --- a/packages/app/src/context/file.tsx +++ b/packages/app/src/context/file.tsx @@ -571,6 +571,18 @@ export const { use: useFile, provider: FileProvider } = createSimpleContext({ } const kind = event.properties.event + if (kind === "change") { + const dir = (() => { + if (path === "") return "" + const node = tree.node[path] + if (node?.type !== "directory") return + return path + })() + if (dir === undefined) return + if (!tree.dir[dir]?.loaded) return + listDir(dir, { force: true }) + return + } if (kind !== "add" && kind !== "unlink") return const parent = path.split("/").slice(0, -1).join("/") |
