Skip to content

Commit 5785405

Browse files
committed
Lint
1 parent 1dbb03b commit 5785405

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)
@@ -89,8 +89,8 @@ func TestService(t *testing.T) {
8989
t.Parallel()
9090
t.Run("update script info eagerly and program lazily", func(t *testing.T) {
9191
t.Parallel()
92-
service, _ := projecttestutil.Setup(files)
93-
service.OpenFile("/home/projects/TS/p1/src/x.ts", files["/home/projects/TS/p1/src/x.ts"], core.ScriptKindTS, "")
92+
service, _ := projecttestutil.Setup(defaultFiles)
93+
service.OpenFile("/home/projects/TS/p1/src/x.ts", defaultFiles["/home/projects/TS/p1/src/x.ts"], core.ScriptKindTS, "")
9494
info, proj := service.EnsureDefaultProjectForFile("/home/projects/TS/p1/src/x.ts")
9595
programBefore := proj.GetProgram()
9696
service.ChangeFile("/home/projects/TS/p1/src/x.ts", []ls.TextChange{{TextRange: core.NewTextRange(17, 18), NewText: "2"}})
@@ -102,8 +102,8 @@ func TestService(t *testing.T) {
102102

103103
t.Run("unchanged source files are reused", func(t *testing.T) {
104104
t.Parallel()
105-
service, _ := projecttestutil.Setup(files)
106-
service.OpenFile("/home/projects/TS/p1/src/x.ts", files["/home/projects/TS/p1/src/x.ts"], core.ScriptKindTS, "")
105+
service, _ := projecttestutil.Setup(defaultFiles)
106+
service.OpenFile("/home/projects/TS/p1/src/x.ts", defaultFiles["/home/projects/TS/p1/src/x.ts"], core.ScriptKindTS, "")
107107
_, proj := service.EnsureDefaultProjectForFile("/home/projects/TS/p1/src/x.ts")
108108
programBefore := proj.GetProgram()
109109
indexFileBefore := programBefore.GetSourceFile("/home/projects/TS/p1/src/index.ts")
@@ -113,10 +113,10 @@ func TestService(t *testing.T) {
113113

114114
t.Run("change can pull in new files", func(t *testing.T) {
115115
t.Parallel()
116-
filesCopy := maps.Clone(files)
117-
filesCopy["/home/projects/TS/p1/y.ts"] = `export const y = 2;`
118-
service, _ := projecttestutil.Setup(filesCopy)
119-
service.OpenFile("/home/projects/TS/p1/src/index.ts", filesCopy["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
116+
files := maps.Clone(defaultFiles)
117+
files["/home/projects/TS/p1/y.ts"] = `export const y = 2;`
118+
service, _ := projecttestutil.Setup(files)
119+
service.OpenFile("/home/projects/TS/p1/src/index.ts", files["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
120120
assert.Check(t, service.GetScriptInfo("/home/projects/TS/p1/y.ts") == nil)
121121

122122
service.ChangeFile("/home/projects/TS/p1/src/index.ts", []ls.TextChange{{TextRange: core.NewTextRange(0, 0), NewText: `import { y } from "../y";\n`}})
@@ -130,23 +130,23 @@ func TestService(t *testing.T) {
130130
t.Parallel()
131131
t.Run("delete a file, close it, recreate it", func(t *testing.T) {
132132
t.Parallel()
133-
service, host := projecttestutil.Setup(files)
134-
service.OpenFile("/home/projects/TS/p1/src/x.ts", files["/home/projects/TS/p1/src/x.ts"], core.ScriptKindTS, "")
135-
service.OpenFile("/home/projects/TS/p1/src/index.ts", files["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
133+
service, host := projecttestutil.Setup(defaultFiles)
134+
service.OpenFile("/home/projects/TS/p1/src/x.ts", defaultFiles["/home/projects/TS/p1/src/x.ts"], core.ScriptKindTS, "")
135+
service.OpenFile("/home/projects/TS/p1/src/index.ts", defaultFiles["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
136136
assert.Equal(t, service.SourceFileCount(), 2)
137137

138-
filesCopy := maps.Clone(files)
139-
delete(filesCopy, "/home/projects/TS/p1/src/x.ts")
140-
host.ReplaceFS(filesCopy)
138+
files := maps.Clone(defaultFiles)
139+
delete(files, "/home/projects/TS/p1/src/x.ts")
140+
host.ReplaceFS(files)
141141

142142
service.CloseFile("/home/projects/TS/p1/src/x.ts")
143143
assert.Check(t, service.GetScriptInfo("/home/projects/TS/p1/src/x.ts") == nil)
144144
assert.Check(t, service.Projects()[0].GetProgram().GetSourceFile("/home/projects/TS/p1/src/x.ts") == nil)
145145
assert.Equal(t, service.SourceFileCount(), 1)
146146

147-
filesCopy["/home/projects/TS/p1/src/x.ts"] = ``
148-
host.ReplaceFS(filesCopy)
149-
service.OpenFile("/home/projects/TS/p1/src/x.ts", filesCopy["/home/projects/TS/p1/src/x.ts"], core.ScriptKindTS, "")
147+
files["/home/projects/TS/p1/src/x.ts"] = ``
148+
host.ReplaceFS(files)
149+
service.OpenFile("/home/projects/TS/p1/src/x.ts", files["/home/projects/TS/p1/src/x.ts"], core.ScriptKindTS, "")
150150
assert.Equal(t, service.GetScriptInfo("/home/projects/TS/p1/src/x.ts").Text(), "")
151151
assert.Check(t, service.Projects()[0].GetProgram().GetSourceFile("/home/projects/TS/p1/src/x.ts") != nil)
152152
assert.Equal(t, service.Projects()[0].GetProgram().GetSourceFile("/home/projects/TS/p1/src/x.ts").Text(), "")
@@ -157,22 +157,22 @@ func TestService(t *testing.T) {
157157
t.Parallel()
158158
t.Run("delete a file, close it, recreate it", func(t *testing.T) {
159159
t.Parallel()
160-
filesCopy := maps.Clone(files)
161-
delete(filesCopy, "/home/projects/TS/p1/tsconfig.json")
162-
service, host := projecttestutil.Setup(filesCopy)
163-
service.OpenFile("/home/projects/TS/p1/src/x.ts", files["/home/projects/TS/p1/src/x.ts"], core.ScriptKindTS, "")
164-
service.OpenFile("/home/projects/TS/p1/src/index.ts", files["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
160+
files := maps.Clone(defaultFiles)
161+
delete(files, "/home/projects/TS/p1/tsconfig.json")
162+
service, host := projecttestutil.Setup(files)
163+
service.OpenFile("/home/projects/TS/p1/src/x.ts", defaultFiles["/home/projects/TS/p1/src/x.ts"], core.ScriptKindTS, "")
164+
service.OpenFile("/home/projects/TS/p1/src/index.ts", defaultFiles["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
165165

166-
delete(filesCopy, "/home/projects/TS/p1/src/x.ts")
167-
host.ReplaceFS(filesCopy)
166+
delete(files, "/home/projects/TS/p1/src/x.ts")
167+
host.ReplaceFS(files)
168168

169169
service.CloseFile("/home/projects/TS/p1/src/x.ts")
170170
assert.Check(t, service.GetScriptInfo("/home/projects/TS/p1/src/x.ts") == nil)
171171
assert.Check(t, service.Projects()[0].GetProgram().GetSourceFile("/home/projects/TS/p1/src/x.ts") == nil)
172172

173-
filesCopy["/home/projects/TS/p1/src/x.ts"] = ``
174-
host.ReplaceFS(filesCopy)
175-
service.OpenFile("/home/projects/TS/p1/src/x.ts", filesCopy["/home/projects/TS/p1/src/x.ts"], core.ScriptKindTS, "")
173+
files["/home/projects/TS/p1/src/x.ts"] = ``
174+
host.ReplaceFS(files)
175+
service.OpenFile("/home/projects/TS/p1/src/x.ts", files["/home/projects/TS/p1/src/x.ts"], core.ScriptKindTS, "")
176176
assert.Equal(t, service.GetScriptInfo("/home/projects/TS/p1/src/x.ts").Text(), "")
177177
assert.Check(t, service.Projects()[0].GetProgram().GetSourceFile("/home/projects/TS/p1/src/x.ts") != nil)
178178
assert.Equal(t, service.Projects()[0].GetProgram().GetSourceFile("/home/projects/TS/p1/src/x.ts").Text(), "")
@@ -184,19 +184,19 @@ func TestService(t *testing.T) {
184184
t.Parallel()
185185
t.Run("projects with similar options share source files", func(t *testing.T) {
186186
t.Parallel()
187-
filesCopy := maps.Clone(files)
188-
filesCopy["/home/projects/TS/p2/tsconfig.json"] = `{
187+
files := maps.Clone(defaultFiles)
188+
files["/home/projects/TS/p2/tsconfig.json"] = `{
189189
"compilerOptions": {
190190
"noLib": true,
191191
"module": "nodenext",
192192
"strict": true,
193193
"noCheck": true // Added
194194
},
195195
}`
196-
filesCopy["/home/projects/TS/p2/src/index.ts"] = `import { x } from "../../p1/src/x";`
197-
service, _ := projecttestutil.Setup(filesCopy)
198-
service.OpenFile("/home/projects/TS/p1/src/index.ts", filesCopy["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
199-
service.OpenFile("/home/projects/TS/p2/src/index.ts", filesCopy["/home/projects/TS/p2/src/index.ts"], core.ScriptKindTS, "")
196+
files["/home/projects/TS/p2/src/index.ts"] = `import { x } from "../../p1/src/x";`
197+
service, _ := projecttestutil.Setup(files)
198+
service.OpenFile("/home/projects/TS/p1/src/index.ts", files["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
199+
service.OpenFile("/home/projects/TS/p2/src/index.ts", files["/home/projects/TS/p2/src/index.ts"], core.ScriptKindTS, "")
200200
assert.Equal(t, len(service.Projects()), 2)
201201
_, p1 := service.EnsureDefaultProjectForFile("/home/projects/TS/p1/src/index.ts")
202202
_, p2 := service.EnsureDefaultProjectForFile("/home/projects/TS/p2/src/index.ts")
@@ -209,17 +209,17 @@ func TestService(t *testing.T) {
209209

210210
t.Run("projects with different options do not share source files", func(t *testing.T) {
211211
t.Parallel()
212-
filesCopy := maps.Clone(files)
213-
filesCopy["/home/projects/TS/p2/tsconfig.json"] = `{
212+
files := maps.Clone(defaultFiles)
213+
files["/home/projects/TS/p2/tsconfig.json"] = `{
214214
"compilerOptions": {
215215
"module": "nodenext",
216216
"jsx": "react"
217217
}
218218
}`
219-
filesCopy["/home/projects/TS/p2/src/index.ts"] = `import { x } from "../../p1/src/x";`
220-
service, _ := projecttestutil.Setup(filesCopy)
221-
service.OpenFile("/home/projects/TS/p1/src/index.ts", filesCopy["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
222-
service.OpenFile("/home/projects/TS/p2/src/index.ts", filesCopy["/home/projects/TS/p2/src/index.ts"], core.ScriptKindTS, "")
219+
files["/home/projects/TS/p2/src/index.ts"] = `import { x } from "../../p1/src/x";`
220+
service, _ := projecttestutil.Setup(files)
221+
service.OpenFile("/home/projects/TS/p1/src/index.ts", files["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
222+
service.OpenFile("/home/projects/TS/p2/src/index.ts", files["/home/projects/TS/p2/src/index.ts"], core.ScriptKindTS, "")
223223
assert.Equal(t, len(service.Projects()), 2)
224224
_, p1 := service.EnsureDefaultProjectForFile("/home/projects/TS/p1/src/index.ts")
225225
_, p2 := service.EnsureDefaultProjectForFile("/home/projects/TS/p2/src/index.ts")
@@ -235,41 +235,41 @@ func TestService(t *testing.T) {
235235

236236
t.Run("change open file", func(t *testing.T) {
237237
t.Parallel()
238-
service, host := projecttestutil.Setup(files)
239-
service.OpenFile("/home/projects/TS/p1/src/x.ts", files["/home/projects/TS/p1/src/x.ts"], core.ScriptKindTS, "")
240-
service.OpenFile("/home/projects/TS/p1/src/index.ts", files["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
238+
service, host := projecttestutil.Setup(defaultFiles)
239+
service.OpenFile("/home/projects/TS/p1/src/x.ts", defaultFiles["/home/projects/TS/p1/src/x.ts"], core.ScriptKindTS, "")
240+
service.OpenFile("/home/projects/TS/p1/src/index.ts", defaultFiles["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
241241
_, project := service.EnsureDefaultProjectForFile("/home/projects/TS/p1/src/index.ts")
242242
programBefore := project.GetProgram()
243243

244-
filesCopy := maps.Clone(files)
245-
filesCopy["/home/projects/TS/p1/src/x.ts"] = `export const x = 2;`
246-
host.ReplaceFS(filesCopy)
247-
service.OnWatchedFilesChanged([]*lsproto.FileEvent{
244+
files := maps.Clone(defaultFiles)
245+
files["/home/projects/TS/p1/src/x.ts"] = `export const x = 2;`
246+
host.ReplaceFS(files)
247+
assert.NilError(t, service.OnWatchedFilesChanged([]*lsproto.FileEvent{
248248
{
249249
Type: lsproto.FileChangeTypeChanged,
250250
Uri: "file:///home/projects/TS/p1/src/x.ts",
251251
},
252-
})
252+
}))
253253

254254
assert.Equal(t, programBefore, project.GetProgram())
255255
})
256256

257257
t.Run("change closed program file", func(t *testing.T) {
258258
t.Parallel()
259-
service, host := projecttestutil.Setup(files)
260-
service.OpenFile("/home/projects/TS/p1/src/index.ts", files["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
259+
service, host := projecttestutil.Setup(defaultFiles)
260+
service.OpenFile("/home/projects/TS/p1/src/index.ts", defaultFiles["/home/projects/TS/p1/src/index.ts"], core.ScriptKindTS, "")
261261
_, project := service.EnsureDefaultProjectForFile("/home/projects/TS/p1/src/index.ts")
262262
programBefore := project.GetProgram()
263263

264-
filesCopy := maps.Clone(files)
265-
filesCopy["/home/projects/TS/p1/src/x.ts"] = `export const x = 2;`
266-
host.ReplaceFS(filesCopy)
267-
service.OnWatchedFilesChanged([]*lsproto.FileEvent{
264+
files := maps.Clone(defaultFiles)
265+
files["/home/projects/TS/p1/src/x.ts"] = `export const x = 2;`
266+
host.ReplaceFS(files)
267+
assert.NilError(t, service.OnWatchedFilesChanged([]*lsproto.FileEvent{
268268
{
269269
Type: lsproto.FileChangeTypeChanged,
270270
Uri: "file:///home/projects/TS/p1/src/x.ts",
271271
},
272-
})
272+
}))
273273

274274
assert.Check(t, project.GetProgram() != programBefore)
275275
})
@@ -303,12 +303,12 @@ func TestService(t *testing.T) {
303303
}
304304
}`
305305
host.ReplaceFS(filesCopy)
306-
service.OnWatchedFilesChanged([]*lsproto.FileEvent{
306+
assert.NilError(t, service.OnWatchedFilesChanged([]*lsproto.FileEvent{
307307
{
308308
Type: lsproto.FileChangeTypeChanged,
309309
Uri: "file:///home/projects/TS/p1/tsconfig.json",
310310
},
311-
})
311+
}))
312312

313313
program = project.GetProgram()
314314
assert.Equal(t, len(program.GetSemanticDiagnostics(program.GetSourceFile("/home/projects/TS/p1/src/index.ts"))), 1)
@@ -335,12 +335,12 @@ func TestService(t *testing.T) {
335335
filesCopy := maps.Clone(files)
336336
delete(filesCopy, "/home/projects/TS/p1/src/x.ts")
337337
host.ReplaceFS(filesCopy)
338-
service.OnWatchedFilesChanged([]*lsproto.FileEvent{
338+
assert.NilError(t, service.OnWatchedFilesChanged([]*lsproto.FileEvent{
339339
{
340340
Type: lsproto.FileChangeTypeDeleted,
341341
Uri: "file:///home/projects/TS/p1/src/x.ts",
342342
},
343-
})
343+
}))
344344

345345
program = project.GetProgram()
346346
assert.Equal(t, len(program.GetSemanticDiagnostics(program.GetSourceFile("/home/projects/TS/p1/src/index.ts"))), 1)
@@ -368,12 +368,12 @@ func TestService(t *testing.T) {
368368
filesCopy := maps.Clone(files)
369369
delete(filesCopy, "/home/projects/TS/p1/src/index.ts")
370370
host.ReplaceFS(filesCopy)
371-
service.OnWatchedFilesChanged([]*lsproto.FileEvent{
371+
assert.NilError(t, service.OnWatchedFilesChanged([]*lsproto.FileEvent{
372372
{
373373
Type: lsproto.FileChangeTypeDeleted,
374374
Uri: "file:///home/projects/TS/p1/src/index.ts",
375375
},
376-
})
376+
}))
377377

378378
program = project.GetProgram()
379379
assert.Equal(t, len(program.GetSemanticDiagnostics(program.GetSourceFile("/home/projects/TS/p1/src/x.ts"))), 1)
@@ -402,12 +402,12 @@ func TestService(t *testing.T) {
402402
filesCopy := maps.Clone(files)
403403
filesCopy["/home/projects/TS/p1/src/y.ts"] = `export const y = 1;`
404404
host.ReplaceFS(filesCopy)
405-
service.OnWatchedFilesChanged([]*lsproto.FileEvent{
405+
assert.NilError(t, service.OnWatchedFilesChanged([]*lsproto.FileEvent{
406406
{
407407
Type: lsproto.FileChangeTypeCreated,
408408
Uri: "file:///home/projects/TS/p1/src/y.ts",
409409
},
410-
})
410+
}))
411411

412412
// Error should be resolved
413413
program = project.GetProgram()
@@ -438,12 +438,12 @@ func TestService(t *testing.T) {
438438
filesCopy := maps.Clone(files)
439439
filesCopy["/home/projects/TS/p1/src/z.ts"] = `export const z = 1;`
440440
host.ReplaceFS(filesCopy)
441-
service.OnWatchedFilesChanged([]*lsproto.FileEvent{
441+
assert.NilError(t, service.OnWatchedFilesChanged([]*lsproto.FileEvent{
442442
{
443443
Type: lsproto.FileChangeTypeCreated,
444444
Uri: "file:///home/projects/TS/p1/src/z.ts",
445445
},
446-
})
446+
}))
447447

448448
// Error should be resolved and the new file should be included in the program
449449
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)