]> ruderich.org/simon Gitweb - safcm/safcm.git/blobdiff - cmd/safcm/config/commands.go
safcm: use Command struct instead of string to run commands
[safcm/safcm.git] / cmd / safcm / config / commands.go
index 8a6f24014e4783c07defe314b1dd1b9db30238ae..1ba2b18a4f530b1ba2deb43035b597e3032da87b 100644 (file)
@@ -23,12 +23,14 @@ import (
        "path/filepath"
 
        "gopkg.in/yaml.v2"
+
+       "ruderich.org/simon/safcm"
 )
 
-func LoadCommands(group string) ([]string, error) {
+func LoadCommands(group string) ([]*safcm.Command, error) {
        path := filepath.Join(group, "commands.yaml")
 
-       var res []string
+       var cmds []string
        x, err := os.ReadFile(path)
        if err != nil {
                if os.IsNotExist(err) {
@@ -36,9 +38,16 @@ func LoadCommands(group string) ([]string, error) {
                }
                return nil, err
        }
-       err = yaml.UnmarshalStrict(x, &res)
+       err = yaml.UnmarshalStrict(x, &cmds)
        if err != nil {
                return nil, fmt.Errorf("%s: failed to load: %v", path, err)
        }
+
+       var res []*safcm.Command
+       for _, x := range cmds {
+               res = append(res, &safcm.Command{
+                       Cmd: x,
+               })
+       }
        return res, nil
 }