aboutsummaryrefslogtreecommitdiffhomepage
path: root/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'cmd')
-rw-r--r--cmd/app/main.go21
1 files changed, 20 insertions, 1 deletions
diff --git a/cmd/app/main.go b/cmd/app/main.go
index 6171a27a..4cb711ba 100644
--- a/cmd/app/main.go
+++ b/cmd/app/main.go
@@ -7,6 +7,7 @@ package main
import (
"context"
"errors"
+ "io"
"log"
"os"
"os/exec"
@@ -134,14 +135,32 @@ func main() {
}
var config *hst.Config
+ var r io.Reader
f, err := os.Open(base.Append("app", args[0]).String())
if err != nil {
return err
}
- config, err = parse(args[0], base, f)
+ r = f
+
+ var common *os.File
+ if common, err = os.Open(base.Append("common").String()); err != nil {
+ if !errors.Is(err, os.ErrNotExist) {
+ _ = f.Close()
+ return err
+ }
+ } else {
+ r = io.MultiReader(f, common)
+ }
+
+ config, err = parse(args[0], base, r)
if closeErr := f.Close(); err == nil {
err = closeErr
}
+ if common != nil {
+ if closeErr := common.Close(); err == nil {
+ err = closeErr
+ }
+ }
if err != nil {
return err
}