diff --git a/.gitignore b/.gitignore index 0aa895e..24e8ebc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ bin* +.env *.log *.sqlite diff --git a/examples/demo/etc/etc.go b/examples/demo/etc/etc.go index 79613fa..de95d58 100644 --- a/examples/demo/etc/etc.go +++ b/examples/demo/etc/etc.go @@ -16,6 +16,7 @@ func Config() lib.Config { Home: ovr(".", HOME), Logging: &logging.Cfg{ Logfile: ovr("log/scopes.log", LOGFILE), + Level: ovr("info", LOGLEVEL), }, } @@ -25,6 +26,7 @@ func Config() lib.Config { // collect here the names of fields that may be overridden via // explicit Override() or SCOPES_* environment settings. const ( - HOME = "home" - LOGFILE = "logfile" + HOME = "home" + LOGFILE = "logfile" + LOGLEVEL = "loglevel" ) diff --git a/examples/demo/go.mod b/examples/demo/go.mod index 01c6289..aadde17 100644 --- a/examples/demo/go.mod +++ b/examples/demo/go.mod @@ -1,6 +1,8 @@ module demo -go 1.20 +go 1.21 + +toolchain go1.21.0 require git.sr.ht/~cco/go-scopes v0.1.20 diff --git a/examples/demo/rundemo.sh b/examples/demo/rundemo.sh new file mode 100755 index 0000000..c2cb60b --- /dev/null +++ b/examples/demo/rundemo.sh @@ -0,0 +1,6 @@ +set -a +source .env +echo "log level: $SCOPES_LOGLEVEL" + +bin/demo + diff --git a/forge/rep/rep.go b/forge/rep/rep.go index 58c4af6..2f02b4e 100644 --- a/forge/rep/rep.go +++ b/forge/rep/rep.go @@ -82,6 +82,9 @@ type module map[string]citem func (m module) Compile(f forge.FE) forge.FPtr { v := voc.NewVoc(f.Voc()) + for key, val := range m { + v.Register(key, val) + } return f.Code(v) } @@ -102,7 +105,7 @@ type record struct { } func (r *record) Compile(f forge.FE) forge.FPtr { - return nil + return f.Code(r) } func (r *record) Data() interface{} {