Skip to content

Commit 0952ae4

Browse files
committed
feat: auto-refresh suggested actions when source files change
1 parent b1c7315 commit 0952ae4

2 files changed

Lines changed: 22 additions & 1 deletion

File tree

src/extension.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import {
1313
registerPlacementCommands,
1414
} from "./commands";
1515
import { setupConfigFileWatcher } from "./watchers/configWatcher";
16+
import { createSuggestedFilesWatcher } from "./watchers/suggestedFilesWatcher";
1617
import {
1718
addSuggestionToConfig,
1819
createConfigFile,
@@ -41,13 +42,15 @@ export function activate(context: vscode.ExtensionContext) {
4142

4243
vscode.window.registerTreeDataProvider("suggestedActionsView", suggestedProvider);
4344

45+
const suggestedFilesWatcher = createSuggestedFilesWatcher(suggestedProvider);
46+
4447
const watcher = setupConfigFileWatcher({
4548
projectActions: projectActionsProvider,
4649
statusBar: statusBarManager,
4750
editorTitle: editorTitleManager,
4851
});
4952

50-
context.subscriptions.push(projectActionsView, watcher, statusBarManager, editorTitleManager);
53+
context.subscriptions.push(projectActionsView, watcher, suggestedFilesWatcher, statusBarManager, editorTitleManager);
5154

5255
statusBarManager.refresh();
5356
editorTitleManager.refresh();
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import * as vscode from "vscode";
2+
import { SuggestedActionsProvider } from "../suggestedActionsProvider";
3+
4+
export function createSuggestedFilesWatcher(
5+
provider: SuggestedActionsProvider,
6+
): vscode.Disposable {
7+
const watcher = vscode.workspace.createFileSystemWatcher(
8+
"**/{package.json,composer.json,Makefile,makefile,GNUmakefile}",
9+
);
10+
11+
const refresh = () => provider.refresh();
12+
13+
watcher.onDidChange(refresh);
14+
watcher.onDidCreate(refresh);
15+
watcher.onDidDelete(refresh);
16+
17+
return watcher;
18+
}

0 commit comments

Comments
 (0)