Skip to content

Commit 2c32256

Browse files
committed
Lint
1 parent a7b2328 commit 2c32256

File tree

4 files changed

+77
-76
lines changed

4 files changed

+77
-76
lines changed

internal/lsp/server.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ func (s *Server) read() (*lsproto.RequestMessage, error) {
202202
req := &lsproto.RequestMessage{}
203203
if err := json.Unmarshal(data, req); err != nil {
204204
res := &lsproto.ResponseMessage{}
205-
if err := json.Unmarshal(data, res); err == nil {
205+
if err = json.Unmarshal(data, res); err == nil {
206206
// !!! TODO: handle response
207207
return nil, nil
208208
}
@@ -425,8 +425,7 @@ func (s *Server) handleDidClose(req *lsproto.RequestMessage) error {
425425

426426
func (s *Server) handleDidChangeWatchedFiles(req *lsproto.RequestMessage) error {
427427
params := req.Params.(*lsproto.DidChangeWatchedFilesParams)
428-
s.projectService.OnWatchedFilesChanged(params.Changes)
429-
return nil
428+
return s.projectService.OnWatchedFilesChanged(params.Changes)
430429
}
431430

432431
func (s *Server) handleDocumentDiagnostic(req *lsproto.RequestMessage) error {

internal/project/service.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,9 @@ func (s *Service) OnWatchedFilesChanged(changes []*lsproto.FileEvent) error {
263263

264264
for _, project := range s.configuredProjects {
265265
if project.updateIfDirty() {
266-
s.publishDiagnosticsForOpenFiles(project)
266+
if err := s.publishDiagnosticsForOpenFiles(project); err != nil {
267+
return err
268+
}
267269
}
268270
}
269271
return nil

internal/project/service_test.go

Lines changed: 71 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ func TestService(t *testing.T) {
1919
t.Skip("bundled files are not embedded")
2020
}
2121

22-
files := map[string]string{
22+
defaultFiles := map[string]string{
2323
"/home/projects/TS/p1/tsconfig.json": `{
2424
"compilerOptions": {
2525
"noLib": true,
@@ -37,9 +37,9 @@ func TestService(t *testing.T) {
3737
t.Parallel()
3838
t.Run("create configured project", func(t *testing.T) {
3939
t.Parallel()
40-
service, _ := projecttestutil.Setup(files)
40+
service, _ := projecttestutil.Setup(defaultFiles)
4141
assert.Equal(t, len(service.Projects()), 0)
42-
service.OpenFile("/home/projects/TS/p1/src/index.ts", files["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
42+
service.OpenFile("/home/projects/TS/p1/src/index.ts", defaultFiles["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
4343
assert.Equal(t, len(service.Projects()), 1)
4444
p := service.Projects()[0]
4545
assert.Equal(t, p.Kind(), project.KindConfigured)
@@ -50,8 +50,8 @@ func TestService(t *testing.T) {
5050

5151
t.Run("create inferred project", func(t *testing.T) {
5252
t.Parallel()
53-
service, _ := projecttestutil.Setup(files)
54-
service.OpenFile("/home/projects/TS/p1/config.ts", files["/home/projects/TS/p1/config.ts"], core.ScriptKindTS, "")
53+
service, _ := projecttestutil.Setup(defaultFiles)
54+
service.OpenFile("/home/projects/TS/p1/config.ts", defaultFiles["/home/projects/TS/p1/config.ts"], core.ScriptKindTS, "")
5555
// Find tsconfig, load, notice config.ts is not included, create inferred project
5656
assert.Equal(t, len(service.Projects()), 2)
5757
_, proj := service.EnsureDefaultProjectForFile("/home/projects/TS/p1/config.ts")
@@ -60,8 +60,8 @@ func TestService(t *testing.T) {
6060

6161
t.Run("inferred project for in-memory files", func(t *testing.T) {
6262
t.Parallel()
63-
service, _ := projecttestutil.Setup(files)
64-
service.OpenFile("/home/projects/TS/p1/config.ts", files["/home/projects/TS/p1/config.ts"], core.ScriptKindTS, "")
63+
service, _ := projecttestutil.Setup(defaultFiles)
64+
service.OpenFile("/home/projects/TS/p1/config.ts", defaultFiles["/home/projects/TS/p1/config.ts"], core.ScriptKindTS, "")
6565
service.OpenFile("^/untitled/ts-nul-authority/Untitled-1", "x", core.ScriptKindTS, "")
6666
service.OpenFile("^/untitled/ts-nul-authority/Untitled-2", "y", core.ScriptKindTS, "")
6767
assert.Equal(t, len(service.Projects()), 2)
@@ -77,8 +77,8 @@ func TestService(t *testing.T) {
7777
t.Parallel()
7878
t.Run("update script info eagerly and program lazily", func(t *testing.T) {
7979
t.Parallel()
80-
service, _ := projecttestutil.Setup(files)
81-
service.OpenFile("/home/projects/TS/p1/src/x.ts", files["/home/projects/TS/p1/src/x.ts"], core.ScriptKindTS, "")
80+
service, _ := projecttestutil.Setup(defaultFiles)
81+
service.OpenFile("/home/projects/TS/p1/src/x.ts", defaultFiles["/home/projects/TS/p1/src/x.ts"], core.ScriptKindTS, "")
8282
info, proj := service.EnsureDefaultProjectForFile("/home/projects/TS/p1/src/x.ts")
8383
programBefore := proj.GetProgram()
8484
service.ChangeFile("/home/projects/TS/p1/src/x.ts", []ls.TextChange{{TextRange: core.NewTextRange(17, 18), NewText: "2"}})
@@ -90,8 +90,8 @@ func TestService(t *testing.T) {
9090

9191
t.Run("unchanged source files are reused", func(t *testing.T) {
9292
t.Parallel()
93-
service, _ := projecttestutil.Setup(files)
94-
service.OpenFile("/home/projects/TS/p1/src/x.ts", files["/home/projects/TS/p1/src/x.ts"], core.ScriptKindTS, "")
93+
service, _ := projecttestutil.Setup(defaultFiles)
94+
service.OpenFile("/home/projects/TS/p1/src/x.ts", defaultFiles["/home/projects/TS/p1/src/x.ts"], core.ScriptKindTS, "")
9595
_, proj := service.EnsureDefaultProjectForFile("/home/projects/TS/p1/src/x.ts")
9696
programBefore := proj.GetProgram()
9797
indexFileBefore := programBefore.GetSourceFile("/home/projects/TS/p1/src/index.ts")
@@ -101,10 +101,10 @@ func TestService(t *testing.T) {
101101

102102
t.Run("change can pull in new files", func(t *testing.T) {
103103
t.Parallel()
104-
filesCopy := maps.Clone(files)
105-
filesCopy["/home/projects/TS/p1/y.ts"] = `export const y = 2;`
106-
service, _ := projecttestutil.Setup(filesCopy)
107-
service.OpenFile("/home/projects/TS/p1/src/index.ts", filesCopy["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
104+
files := maps.Clone(defaultFiles)
105+
files["/home/projects/TS/p1/y.ts"] = `export const y = 2;`
106+
service, _ := projecttestutil.Setup(files)
107+
service.OpenFile("/home/projects/TS/p1/src/index.ts", files["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
108108
assert.Check(t, service.GetScriptInfo("/home/projects/TS/p1/y.ts") == nil)
109109

110110
service.ChangeFile("/home/projects/TS/p1/src/index.ts", []ls.TextChange{{TextRange: core.NewTextRange(0, 0), NewText: `import { y } from "../y";\n`}})
@@ -118,23 +118,23 @@ func TestService(t *testing.T) {
118118
t.Parallel()
119119
t.Run("delete a file, close it, recreate it", func(t *testing.T) {
120120
t.Parallel()
121-
service, host := projecttestutil.Setup(files)
122-
service.OpenFile("/home/projects/TS/p1/src/x.ts", files["/home/projects/TS/p1/src/x.ts"], core.ScriptKindTS, "")
123-
service.OpenFile("/home/projects/TS/p1/src/index.ts", files["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
121+
service, host := projecttestutil.Setup(defaultFiles)
122+
service.OpenFile("/home/projects/TS/p1/src/x.ts", defaultFiles["/home/projects/TS/p1/src/x.ts"], core.ScriptKindTS, "")
123+
service.OpenFile("/home/projects/TS/p1/src/index.ts", defaultFiles["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
124124
assert.Equal(t, service.SourceFileCount(), 2)
125125

126-
filesCopy := maps.Clone(files)
127-
delete(filesCopy, "/home/projects/TS/p1/src/x.ts")
128-
host.ReplaceFS(filesCopy)
126+
files := maps.Clone(defaultFiles)
127+
delete(files, "/home/projects/TS/p1/src/x.ts")
128+
host.ReplaceFS(files)
129129

130130
service.CloseFile("/home/projects/TS/p1/src/x.ts")
131131
assert.Check(t, service.GetScriptInfo("/home/projects/TS/p1/src/x.ts") == nil)
132132
assert.Check(t, service.Projects()[0].GetProgram().GetSourceFile("/home/projects/TS/p1/src/x.ts") == nil)
133133
assert.Equal(t, service.SourceFileCount(), 1)
134134

135-
filesCopy["/home/projects/TS/p1/src/x.ts"] = ``
136-
host.ReplaceFS(filesCopy)
137-
service.OpenFile("/home/projects/TS/p1/src/x.ts", filesCopy["/home/projects/TS/p1/src/x.ts"], core.ScriptKindTS, "")
135+
files["/home/projects/TS/p1/src/x.ts"] = ``
136+
host.ReplaceFS(files)
137+
service.OpenFile("/home/projects/TS/p1/src/x.ts", files["/home/projects/TS/p1/src/x.ts"], core.ScriptKindTS, "")
138138
assert.Equal(t, service.GetScriptInfo("/home/projects/TS/p1/src/x.ts").Text(), "")
139139
assert.Check(t, service.Projects()[0].GetProgram().GetSourceFile("/home/projects/TS/p1/src/x.ts") != nil)
140140
assert.Equal(t, service.Projects()[0].GetProgram().GetSourceFile("/home/projects/TS/p1/src/x.ts").Text(), "")
@@ -145,22 +145,22 @@ func TestService(t *testing.T) {
145145
t.Parallel()
146146
t.Run("delete a file, close it, recreate it", func(t *testing.T) {
147147
t.Parallel()
148-
filesCopy := maps.Clone(files)
149-
delete(filesCopy, "/home/projects/TS/p1/tsconfig.json")
150-
service, host := projecttestutil.Setup(filesCopy)
151-
service.OpenFile("/home/projects/TS/p1/src/x.ts", files["/home/projects/TS/p1/src/x.ts"], core.ScriptKindTS, "")
152-
service.OpenFile("/home/projects/TS/p1/src/index.ts", files["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
148+
files := maps.Clone(defaultFiles)
149+
delete(files, "/home/projects/TS/p1/tsconfig.json")
150+
service, host := projecttestutil.Setup(files)
151+
service.OpenFile("/home/projects/TS/p1/src/x.ts", defaultFiles["/home/projects/TS/p1/src/x.ts"], core.ScriptKindTS, "")
152+
service.OpenFile("/home/projects/TS/p1/src/index.ts", defaultFiles["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
153153

154-
delete(filesCopy, "/home/projects/TS/p1/src/x.ts")
155-
host.ReplaceFS(filesCopy)
154+
delete(files, "/home/projects/TS/p1/src/x.ts")
155+
host.ReplaceFS(files)
156156

157157
service.CloseFile("/home/projects/TS/p1/src/x.ts")
158158
assert.Check(t, service.GetScriptInfo("/home/projects/TS/p1/src/x.ts") == nil)
159159
assert.Check(t, service.Projects()[0].GetProgram().GetSourceFile("/home/projects/TS/p1/src/x.ts") == nil)
160160

161-
filesCopy["/home/projects/TS/p1/src/x.ts"] = ``
162-
host.ReplaceFS(filesCopy)
163-
service.OpenFile("/home/projects/TS/p1/src/x.ts", filesCopy["/home/projects/TS/p1/src/x.ts"], core.ScriptKindTS, "")
161+
files["/home/projects/TS/p1/src/x.ts"] = ``
162+
host.ReplaceFS(files)
163+
service.OpenFile("/home/projects/TS/p1/src/x.ts", files["/home/projects/TS/p1/src/x.ts"], core.ScriptKindTS, "")
164164
assert.Equal(t, service.GetScriptInfo("/home/projects/TS/p1/src/x.ts").Text(), "")
165165
assert.Check(t, service.Projects()[0].GetProgram().GetSourceFile("/home/projects/TS/p1/src/x.ts") != nil)
166166
assert.Equal(t, service.Projects()[0].GetProgram().GetSourceFile("/home/projects/TS/p1/src/x.ts").Text(), "")
@@ -172,19 +172,19 @@ func TestService(t *testing.T) {
172172
t.Parallel()
173173
t.Run("projects with similar options share source files", func(t *testing.T) {
174174
t.Parallel()
175-
filesCopy := maps.Clone(files)
176-
filesCopy["/home/projects/TS/p2/tsconfig.json"] = `{
175+
files := maps.Clone(defaultFiles)
176+
files["/home/projects/TS/p2/tsconfig.json"] = `{
177177
"compilerOptions": {
178178
"noLib": true,
179179
"module": "nodenext",
180180
"strict": true,
181181
"noCheck": true // Added
182182
},
183183
}`
184-
filesCopy["/home/projects/TS/p2/src/index.ts"] = `import { x } from "../../p1/src/x";`
185-
service, _ := projecttestutil.Setup(filesCopy)
186-
service.OpenFile("/home/projects/TS/p1/src/index.ts", filesCopy["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
187-
service.OpenFile("/home/projects/TS/p2/src/index.ts", filesCopy["/home/projects/TS/p2/src/index.ts"], core.ScriptKindTS, "")
184+
files["/home/projects/TS/p2/src/index.ts"] = `import { x } from "../../p1/src/x";`
185+
service, _ := projecttestutil.Setup(files)
186+
service.OpenFile("/home/projects/TS/p1/src/index.ts", files["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
187+
service.OpenFile("/home/projects/TS/p2/src/index.ts", files["/home/projects/TS/p2/src/index.ts"], core.ScriptKindTS, "")
188188
assert.Equal(t, len(service.Projects()), 2)
189189
_, p1 := service.EnsureDefaultProjectForFile("/home/projects/TS/p1/src/index.ts")
190190
_, p2 := service.EnsureDefaultProjectForFile("/home/projects/TS/p2/src/index.ts")
@@ -197,17 +197,17 @@ func TestService(t *testing.T) {
197197

198198
t.Run("projects with different options do not share source files", func(t *testing.T) {
199199
t.Parallel()
200-
filesCopy := maps.Clone(files)
201-
filesCopy["/home/projects/TS/p2/tsconfig.json"] = `{
200+
files := maps.Clone(defaultFiles)
201+
files["/home/projects/TS/p2/tsconfig.json"] = `{
202202
"compilerOptions": {
203203
"module": "nodenext",
204204
"jsx": "react"
205205
}
206206
}`
207-
filesCopy["/home/projects/TS/p2/src/index.ts"] = `import { x } from "../../p1/src/x";`
208-
service, _ := projecttestutil.Setup(filesCopy)
209-
service.OpenFile("/home/projects/TS/p1/src/index.ts", filesCopy["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
210-
service.OpenFile("/home/projects/TS/p2/src/index.ts", filesCopy["/home/projects/TS/p2/src/index.ts"], core.ScriptKindTS, "")
207+
files["/home/projects/TS/p2/src/index.ts"] = `import { x } from "../../p1/src/x";`
208+
service, _ := projecttestutil.Setup(files)
209+
service.OpenFile("/home/projects/TS/p1/src/index.ts", files["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
210+
service.OpenFile("/home/projects/TS/p2/src/index.ts", files["/home/projects/TS/p2/src/index.ts"], core.ScriptKindTS, "")
211211
assert.Equal(t, len(service.Projects()), 2)
212212
_, p1 := service.EnsureDefaultProjectForFile("/home/projects/TS/p1/src/index.ts")
213213
_, p2 := service.EnsureDefaultProjectForFile("/home/projects/TS/p2/src/index.ts")
@@ -223,41 +223,41 @@ func TestService(t *testing.T) {
223223

224224
t.Run("change open file", func(t *testing.T) {
225225
t.Parallel()
226-
service, host := projecttestutil.Setup(files)
227-
service.OpenFile("/home/projects/TS/p1/src/x.ts", files["/home/projects/TS/p1/src/x.ts"], core.ScriptKindTS, "")
228-
service.OpenFile("/home/projects/TS/p1/src/index.ts", files["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
226+
service, host := projecttestutil.Setup(defaultFiles)
227+
service.OpenFile("/home/projects/TS/p1/src/x.ts", defaultFiles["/home/projects/TS/p1/src/x.ts"], core.ScriptKindTS, "")
228+
service.OpenFile("/home/projects/TS/p1/src/index.ts", defaultFiles["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
229229
_, project := service.EnsureDefaultProjectForFile("/home/projects/TS/p1/src/index.ts")
230230
programBefore := project.GetProgram()
231231

232-
filesCopy := maps.Clone(files)
233-
filesCopy["/home/projects/TS/p1/src/x.ts"] = `export const x = 2;`
234-
host.ReplaceFS(filesCopy)
235-
service.OnWatchedFilesChanged([]*lsproto.FileEvent{
232+
files := maps.Clone(defaultFiles)
233+
files["/home/projects/TS/p1/src/x.ts"] = `export const x = 2;`
234+
host.ReplaceFS(files)
235+
assert.NilError(t, service.OnWatchedFilesChanged([]*lsproto.FileEvent{
236236
{
237237
Type: lsproto.FileChangeTypeChanged,
238238
Uri: "file:///home/projects/TS/p1/src/x.ts",
239239
},
240-
})
240+
}))
241241

242242
assert.Equal(t, programBefore, project.GetProgram())
243243
})
244244

245245
t.Run("change closed program file", func(t *testing.T) {
246246
t.Parallel()
247-
service, host := projecttestutil.Setup(files)
248-
service.OpenFile("/home/projects/TS/p1/src/index.ts", files["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
247+
service, host := projecttestutil.Setup(defaultFiles)
248+
service.OpenFile("/home/projects/TS/p1/src/index.ts", defaultFiles["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
249249
_, project := service.EnsureDefaultProjectForFile("/home/projects/TS/p1/src/index.ts")
250250
programBefore := project.GetProgram()
251251

252-
filesCopy := maps.Clone(files)
253-
filesCopy["/home/projects/TS/p1/src/x.ts"] = `export const x = 2;`
254-
host.ReplaceFS(filesCopy)
255-
service.OnWatchedFilesChanged([]*lsproto.FileEvent{
252+
files := maps.Clone(defaultFiles)
253+
files["/home/projects/TS/p1/src/x.ts"] = `export const x = 2;`
254+
host.ReplaceFS(files)
255+
assert.NilError(t, service.OnWatchedFilesChanged([]*lsproto.FileEvent{
256256
{
257257
Type: lsproto.FileChangeTypeChanged,
258258
Uri: "file:///home/projects/TS/p1/src/x.ts",
259259
},
260-
})
260+
}))
261261

262262
assert.Check(t, project.GetProgram() != programBefore)
263263
})
@@ -291,12 +291,12 @@ func TestService(t *testing.T) {
291291
}
292292
}`
293293
host.ReplaceFS(filesCopy)
294-
service.OnWatchedFilesChanged([]*lsproto.FileEvent{
294+
assert.NilError(t, service.OnWatchedFilesChanged([]*lsproto.FileEvent{
295295
{
296296
Type: lsproto.FileChangeTypeChanged,
297297
Uri: "file:///home/projects/TS/p1/tsconfig.json",
298298
},
299-
})
299+
}))
300300

301301
program = project.GetProgram()
302302
assert.Equal(t, len(program.GetSemanticDiagnostics(program.GetSourceFile("/home/projects/TS/p1/src/index.ts"))), 1)
@@ -323,12 +323,12 @@ func TestService(t *testing.T) {
323323
filesCopy := maps.Clone(files)
324324
delete(filesCopy, "/home/projects/TS/p1/src/x.ts")
325325
host.ReplaceFS(filesCopy)
326-
service.OnWatchedFilesChanged([]*lsproto.FileEvent{
326+
assert.NilError(t, service.OnWatchedFilesChanged([]*lsproto.FileEvent{
327327
{
328328
Type: lsproto.FileChangeTypeDeleted,
329329
Uri: "file:///home/projects/TS/p1/src/x.ts",
330330
},
331-
})
331+
}))
332332

333333
program = project.GetProgram()
334334
assert.Equal(t, len(program.GetSemanticDiagnostics(program.GetSourceFile("/home/projects/TS/p1/src/index.ts"))), 1)
@@ -356,12 +356,12 @@ func TestService(t *testing.T) {
356356
filesCopy := maps.Clone(files)
357357
delete(filesCopy, "/home/projects/TS/p1/src/index.ts")
358358
host.ReplaceFS(filesCopy)
359-
service.OnWatchedFilesChanged([]*lsproto.FileEvent{
359+
assert.NilError(t, service.OnWatchedFilesChanged([]*lsproto.FileEvent{
360360
{
361361
Type: lsproto.FileChangeTypeDeleted,
362362
Uri: "file:///home/projects/TS/p1/src/index.ts",
363363
},
364-
})
364+
}))
365365

366366
program = project.GetProgram()
367367
assert.Equal(t, len(program.GetSemanticDiagnostics(program.GetSourceFile("/home/projects/TS/p1/src/x.ts"))), 1)
@@ -390,12 +390,12 @@ func TestService(t *testing.T) {
390390
filesCopy := maps.Clone(files)
391391
filesCopy["/home/projects/TS/p1/src/y.ts"] = `export const y = 1;`
392392
host.ReplaceFS(filesCopy)
393-
service.OnWatchedFilesChanged([]*lsproto.FileEvent{
393+
assert.NilError(t, service.OnWatchedFilesChanged([]*lsproto.FileEvent{
394394
{
395395
Type: lsproto.FileChangeTypeCreated,
396396
Uri: "file:///home/projects/TS/p1/src/y.ts",
397397
},
398-
})
398+
}))
399399

400400
// Error should be resolved
401401
program = project.GetProgram()
@@ -426,12 +426,12 @@ func TestService(t *testing.T) {
426426
filesCopy := maps.Clone(files)
427427
filesCopy["/home/projects/TS/p1/src/z.ts"] = `export const z = 1;`
428428
host.ReplaceFS(filesCopy)
429-
service.OnWatchedFilesChanged([]*lsproto.FileEvent{
429+
assert.NilError(t, service.OnWatchedFilesChanged([]*lsproto.FileEvent{
430430
{
431431
Type: lsproto.FileChangeTypeCreated,
432432
Uri: "file:///home/projects/TS/p1/src/z.ts",
433433
},
434-
})
434+
}))
435435

436436
// Error should be resolved and the new file should be included in the program
437437
program = project.GetProgram()

internal/project/watch.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ func (w *watchedFiles[T]) update(newData T) (updated bool, err error) {
3838

3939
w.globs = newGlobs
4040
if w.watcherID != "" {
41-
if err := w.client.UnwatchFiles(w.watcherID); err != nil {
41+
if err = w.client.UnwatchFiles(w.watcherID); err != nil {
4242
return false, err
4343
}
4444
}

0 commit comments

Comments
 (0)