Skip to content

Commit ffb5840

Browse files
committed
Refresh snippets on add/remove
1 parent 9ddd56b commit ffb5840

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

src/PackageWatcher.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ export class PackageWatcher {
2727
private packageFileWatcher?: vscode.FileSystemWatcher;
2828
private resolvedFileWatcher?: vscode.FileSystemWatcher;
2929
private workspaceStateFileWatcher?: vscode.FileSystemWatcher;
30+
private snippetWatcher?: vscode.FileSystemWatcher;
3031

3132
constructor(
3233
private folderContext: FolderContext,
@@ -41,6 +42,7 @@ export class PackageWatcher {
4142
this.packageFileWatcher = this.createPackageFileWatcher();
4243
this.resolvedFileWatcher = this.createResolvedFileWatcher();
4344
this.workspaceStateFileWatcher = this.createWorkspaceStateFileWatcher();
45+
this.snippetWatcher = this.createSnippetFileWatcher();
4446
}
4547

4648
/**
@@ -51,6 +53,7 @@ export class PackageWatcher {
5153
this.packageFileWatcher?.dispose();
5254
this.resolvedFileWatcher?.dispose();
5355
this.workspaceStateFileWatcher?.dispose();
56+
this.snippetWatcher?.dispose();
5457
}
5558

5659
private createPackageFileWatcher(): vscode.FileSystemWatcher {
@@ -87,6 +90,15 @@ export class PackageWatcher {
8790
return watcher;
8891
}
8992

93+
private createSnippetFileWatcher(): vscode.FileSystemWatcher {
94+
const watcher = vscode.workspace.createFileSystemWatcher(
95+
new vscode.RelativePattern(this.folderContext.folder, "Snippets/*.swift")
96+
);
97+
watcher.onDidCreate(async () => await this.handlePackageSwiftChange());
98+
watcher.onDidDelete(async () => await this.handlePackageSwiftChange());
99+
return watcher;
100+
}
101+
90102
/**
91103
* Handles a create or change event for **Package.swift**.
92104
*

test/integration-tests/ui/ProjectPanelProvider.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ suite("ProjectPanelProvider Test Suite", function () {
7575
"swift.debugger.useDebugAdapterFromToolchain": false,
7676
...lldbPath,
7777
});
78+
79+
await waitForNoRunningTasks();
7880
});
7981

8082
afterEach(async () => {

0 commit comments

Comments
 (0)