From 661eb00333d4a01831ed61be9762350d637dd4ac Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Thu, 21 Sep 2023 15:56:45 -0500 Subject: [PATCH] task: adding options on the watch command --- tailo.go | 33 --------------------------------- watch.go | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 33 deletions(-) create mode 100644 watch.go diff --git a/tailo.go b/tailo.go index 61df4ca..45048b4 100644 --- a/tailo.go +++ b/tailo.go @@ -5,7 +5,6 @@ package tailo import ( "fmt" - "log" "os" "path/filepath" @@ -24,38 +23,6 @@ func (e extensions) Has(ext string) bool { return false } -func Watch() { - Build() - - watcher, err := buildWatcher() - if err != nil { - panic(err) - } - - // Start listening for events. - go func() { - for { - select { - case event, ok := <-watcher.Events: - if !ok { - return - } - - if event.Has(fsnotify.Write) { - Build() - } - case err, ok := <-watcher.Errors: - if !ok { - return - } - log.Println("error:", err) - } - } - }() - - <-make(chan struct{}) -} - // Extensions to watch for changes. var watchExtensions = extensions{".html", ".css"} diff --git a/watch.go b/watch.go new file mode 100644 index 0000000..007786b --- /dev/null +++ b/watch.go @@ -0,0 +1,39 @@ +package tailo + +import ( + "log" + + "github.com/fsnotify/fsnotify" +) + +func Watch(options ...option) { + Build(options...) + + watcher, err := buildWatcher() + if err != nil { + panic(err) + } + + // Start listening for events. + go func() { + for { + select { + case event, ok := <-watcher.Events: + if !ok { + return + } + + if event.Has(fsnotify.Write) { + Build(options...) + } + case err, ok := <-watcher.Errors: + if !ok { + return + } + log.Println("error:", err) + } + } + }() + + <-make(chan struct{}) +}