mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-05 07:00:39 +08:00
31 lines
654 B
Go
31 lines
654 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 := engine.NewEngineFromTOML(options.Config)
|
|
signalHandler := signal.NewSignalHandler(func() {
|
|
watcherEngine.Stop()
|
|
stopChan <- struct{}{}
|
|
})
|
|
signalHandler.ExitMessage = func(sig os.Signal) string {
|
|
return ""
|
|
}
|
|
signalHandler.Start()
|
|
err := watcherEngine.Start()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
<-stopChan
|
|
return nil
|
|
}
|