diff options
author | Thomas Voss <mail@thomasvoss.com> | 2025-06-14 00:40:55 +0200 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2025-06-14 00:40:55 +0200 |
commit | 604cac8c0ab26a43d28341ff6f6e58e969eec925 (patch) | |
tree | b15ccb9ca705dd34ec50713e8e743b43e7e455d0 /main.go | |
parent | 197686a72cd464417d2e5afce1214a973d253946 (diff) |
Implement the ‘watch’ package
Diffstat (limited to 'main.go')
-rw-r--r-- | main.go | 25 |
1 files changed, 7 insertions, 18 deletions
@@ -5,16 +5,15 @@ package main import ( "flag" - "log" "os" "path/filepath" "syscall" - "time" "git.thomasvoss.com/euro-cash.eu/src" "git.thomasvoss.com/euro-cash.eu/src/dbx" "git.thomasvoss.com/euro-cash.eu/src/email" . "git.thomasvoss.com/euro-cash.eu/src/try" + "git.thomasvoss.com/euro-cash.eu/src/watch" ) func main() { @@ -39,24 +38,14 @@ func main() { flag.Parse() if *debugp { - go watch() + path := Try2(os.Executable()) + go watch.File(path, func() { + Try(syscall.Exec(path, os.Args, os.Environ())) + }) } + tmplFS := Try2(os.OpenRoot("src/templates")).FS() dbx.Init(Try2(os.OpenRoot("src/dbx/sql")).FS()) - app.BuildTemplates(Try2(os.OpenRoot("src/templates")).FS()) + app.BuildTemplates(tmplFS, *debugp) app.Run(*port) } - -func watch() { - path := Try2(os.Executable()) - ostat := Try2(os.Stat(path)) - - for { - nstat := Try2(os.Stat(path)) - if nstat.ModTime() != ostat.ModTime() { - dbx.Close() - Try(syscall.Exec(path, os.Args, os.Environ())) - } - time.Sleep(1 * time.Second) - } -} |