X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=cmd%2Fsafcm%2Fconfig%2Fcommands.go;h=50c5f123b74a8176e7724ed5fe82bedf33004bb8;hb=7181f7906e7fb6e73ebc0daa46975bfa9c71478f;hp=8a6f24014e4783c07defe314b1dd1b9db30238ae;hpb=f2f2bc47e8729548f3c10117f7f008b547c4afc5;p=safcm%2Fsafcm.git diff --git a/cmd/safcm/config/commands.go b/cmd/safcm/config/commands.go index 8a6f240..50c5f12 100644 --- a/cmd/safcm/config/commands.go +++ b/cmd/safcm/config/commands.go @@ -1,6 +1,6 @@ // Config: parse commands.yaml -// Copyright (C) 2021 Simon Ruderich +// Copyright (C) 2021-2024 Simon Ruderich // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -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,17 @@ 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{ + OrigGroup: group, + Cmd: x, + }) + } return res, nil }