@@ -27,6 +27,7 @@ export class PackageWatcher {
27
27
private packageFileWatcher ?: vscode . FileSystemWatcher ;
28
28
private resolvedFileWatcher ?: vscode . FileSystemWatcher ;
29
29
private workspaceStateFileWatcher ?: vscode . FileSystemWatcher ;
30
+ private snippetWatcher ?: vscode . FileSystemWatcher ;
30
31
31
32
constructor (
32
33
private folderContext : FolderContext ,
@@ -41,6 +42,7 @@ export class PackageWatcher {
41
42
this . packageFileWatcher = this . createPackageFileWatcher ( ) ;
42
43
this . resolvedFileWatcher = this . createResolvedFileWatcher ( ) ;
43
44
this . workspaceStateFileWatcher = this . createWorkspaceStateFileWatcher ( ) ;
45
+ this . snippetWatcher = this . createSnippetFileWatcher ( ) ;
44
46
}
45
47
46
48
/**
@@ -51,6 +53,7 @@ export class PackageWatcher {
51
53
this . packageFileWatcher ?. dispose ( ) ;
52
54
this . resolvedFileWatcher ?. dispose ( ) ;
53
55
this . workspaceStateFileWatcher ?. dispose ( ) ;
56
+ this . snippetWatcher ?. dispose ( ) ;
54
57
}
55
58
56
59
private createPackageFileWatcher ( ) : vscode . FileSystemWatcher {
@@ -87,6 +90,15 @@ export class PackageWatcher {
87
90
return watcher ;
88
91
}
89
92
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
+
90
102
/**
91
103
* Handles a create or change event for **Package.swift**.
92
104
*
0 commit comments