mirror of
https://github.com/adnanh/webhook.git
synced 2025-05-12 08:34:43 +00:00
Fix to support hot reload with vim editor changes
This commit is contained in:
parent
cfd138c96d
commit
142e912d6a
1 changed files with 9 additions and 3 deletions
12
webhook.go
12
webhook.go
|
@ -11,6 +11,7 @@ import (
|
|||
"os"
|
||||
"os/exec"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/adnanh/webhook/hook"
|
||||
|
||||
|
@ -427,10 +428,13 @@ func watchForFileChange() {
|
|||
log.Printf("hooks file %s modified\n", event.Name)
|
||||
reloadHooks(event.Name)
|
||||
} else if event.Op&fsnotify.Remove == fsnotify.Remove {
|
||||
log.Printf("hooks file %s removed, no longer watching this file for changes, removing hooks that were loaded from it\n", event.Name)
|
||||
(*watcher).Remove(event.Name)
|
||||
removeHooks(event.Name)
|
||||
if _, err := os.Stat(event.Name); os.IsNotExist(err) {
|
||||
log.Printf("hooks file %s removed, no longer watching this file for changes, removing hooks that were loaded from it\n", event.Name)
|
||||
(*watcher).Remove(event.Name)
|
||||
removeHooks(event.Name)
|
||||
}
|
||||
} else if event.Op&fsnotify.Rename == fsnotify.Rename {
|
||||
time.Sleep(100 * time.Millisecond)
|
||||
if _, err := os.Stat(event.Name); os.IsNotExist(err) {
|
||||
// file was removed
|
||||
log.Printf("hooks file %s removed, no longer watching this file for changes, and removing hooks that were loaded from it\n", event.Name)
|
||||
|
@ -440,6 +444,8 @@ func watchForFileChange() {
|
|||
// file was overwritten
|
||||
log.Printf("hooks file %s overwritten\n", event.Name)
|
||||
reloadHooks(event.Name)
|
||||
(*watcher).Remove(event.Name)
|
||||
(*watcher).Add(event.Name)
|
||||
}
|
||||
}
|
||||
case err := <-(*watcher).Errors:
|
||||
|
|
Loading…
Add table
Reference in a new issue