diff --git a/README.md b/README.md index 024d6fb..ad83a7d 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,6 @@ Its primary goal is to provide the user with a stack/column-based navigation his ## Features - [x] Basic file editing - [x] Terminal integration -- [x] File watching (note: slow!) +- [x] File watching - [ ] Warn on exit when there are unsaved files - [ ] LSP support \ No newline at end of file diff --git a/src/app/foldernav.ts b/src/app/foldernav.ts index a0329e3..588d5ab 100644 --- a/src/app/foldernav.ts +++ b/src/app/foldernav.ts @@ -15,7 +15,9 @@ async function openFolder() { } // Refresh the current folder tree from main (re-open) +let refreshScheduled = false; async function refreshFolder() { + refreshScheduled = false; const folderTree = await window.electronAPI.getWorkspaceTree().catch(alert); if (!folderTree) return; folderTreeState.val = folderTree; @@ -36,7 +38,10 @@ window.electronAPI.onFsEvent(async (ev: { event: string; path: string }) => { ev.event === "unlink" ) { // Debounce-ish: schedule a refresh - setTimeout(() => refreshFolder(), 50); + if(!refreshScheduled) { + refreshScheduled = true; + setTimeout(() => refreshFolder(), 50); + } } // If a file changed on disk and it's open, show disk version panels