Skip to content

Commit b125a72

Browse files
committed
waitForFileEvent
1 parent 8716477 commit b125a72

File tree

1 file changed

+23
-16
lines changed

1 file changed

+23
-16
lines changed

internal/cli/clu2adv/opts.go

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -64,26 +64,33 @@ func (o *opts) watchFile() error {
6464
return nil
6565
}
6666
defer watcher.Close()
67-
if err = watcher.Add(o.file); err != nil {
67+
if err := watcher.Add(o.file); err != nil {
6868
return err
6969
}
70-
watcherError := errors.New("watcher has been closed")
7170
for {
72-
select {
73-
case event, ok := <-watcher.Events:
74-
if !ok {
75-
return watcherError
76-
}
77-
if event.Has(fsnotify.Write) {
78-
if err := o.generateFile(true); err != nil {
79-
return err
80-
}
81-
}
82-
case err, ok := <-watcher.Errors:
83-
if !ok {
84-
return watcherError
85-
}
71+
if err := o.waitForFileEvent(watcher); err != nil {
8672
return err
8773
}
8874
}
8975
}
76+
77+
func (o *opts) waitForFileEvent(watcher *fsnotify.Watcher) error {
78+
watcherError := errors.New("watcher has been closed")
79+
select {
80+
case event, ok := <-watcher.Events:
81+
if !ok {
82+
return watcherError
83+
}
84+
if event.Has(fsnotify.Write) {
85+
if err := o.generateFile(true); err != nil {
86+
return err
87+
}
88+
}
89+
case err, ok := <-watcher.Errors:
90+
if !ok {
91+
return watcherError
92+
}
93+
return err
94+
}
95+
return nil
96+
}

0 commit comments

Comments
 (0)