5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-04 23:11:53 +08:00
wails/v3/internal/commands/watcher.go
2024-05-05 17:27:53 +10:00

33 lines
668 B
Go

package commands
import (
"github.com/atterpac/refresh/engine"
"github.com/wailsapp/wails/v3/internal/signal"
"os"
)
type WatcherOptions struct {
Config string `description:"The config file including path" default:"."`
}
func Watcher(options *WatcherOptions) error {
stopChan := make(chan struct{})
watcherEngine, err := engine.NewEngineFromYAML(options.Config)
if err != nil {
return err
}
signalHandler := signal.NewSignalHandler(func() {
stopChan <- struct{}{}
})
signalHandler.ExitMessage = func(sig os.Signal) string {
return ""
}
signalHandler.Start()
err = watcherEngine.Start()
if err != nil {
return err
}
<-stopChan
return nil
}