lockbox

password manager
Log | Files | Refs | README | LICENSE

commit 153043dd7054e2eb53f9d201f81b35736c0d1931
parent 9b67862028cfd8ffe2dfd7fa607d3562ff5972da
Author: Sean Enck <sean@ttypty.com>
Date:   Fri,  6 Dec 2024 19:10:44 -0500

support file globbing

Diffstat:
Minternal/config/toml.go | 23+++++++++++++++++------
1 file changed, 17 insertions(+), 6 deletions(-)

diff --git a/internal/config/toml.go b/internal/config/toml.go @@ -7,6 +7,7 @@ import ( "fmt" "io" "os" + "path/filepath" "slices" "strings" @@ -146,13 +147,23 @@ func overlayConfig(r io.Reader, canInclude bool, m *map[string]interface{}, load return errors.New("nested includes not allowed") } for _, s := range including { - read := os.Expand(s, os.Getenv) - reader, err := loader(read) - if err != nil { - return err + use := os.Expand(s, os.Getenv) + files := []string{use} + if strings.Contains(use, "*") { + matched, err := filepath.Glob(use) + if err != nil { + return err + } + files = matched } - if err := overlayConfig(reader, false, m, nil); err != nil { - return err + for _, file := range files { + reader, err := loader(file) + if err != nil { + return err + } + if err := overlayConfig(reader, false, m, nil); err != nil { + return err + } } } }