summaryrefslogtreecommitdiffhomepage
path: root/main.go
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2025-06-14 00:40:55 +0200
committerThomas Voss <mail@thomasvoss.com> 2025-06-14 00:40:55 +0200
commit604cac8c0ab26a43d28341ff6f6e58e969eec925 (patch)
treeb15ccb9ca705dd34ec50713e8e743b43e7e455d0 /main.go
parent197686a72cd464417d2e5afce1214a973d253946 (diff)
Implement the ‘watch’ package
Diffstat (limited to 'main.go')
-rw-r--r--main.go25
1 files changed, 7 insertions, 18 deletions
diff --git a/main.go b/main.go
index 4d37cf2..71e652e 100644
--- a/main.go
+++ b/main.go
@@ -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)
- }
-}