1 // Config: parse commands.yaml
3 // SPDX-License-Identifier: GPL-3.0-or-later
4 // Copyright (C) 2021-2024 Simon Ruderich
15 "ruderich.org/simon/safcm"
18 func LoadCommands(group string) ([]*safcm.Command, error) {
19 path := filepath.Join(group, "commands.yaml")
22 x, err := os.ReadFile(path)
24 if os.IsNotExist(err) {
29 err = yaml.UnmarshalStrict(x, &cmds)
31 return nil, fmt.Errorf("%s: failed to load: %v", path, err)
34 var res []*safcm.Command
35 for _, x := range cmds {
36 res = append(res, &safcm.Command{