1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
diff --git a/cmd/cfg/main.go b/cmd/cfg/main.go
index 71625957efd9690d9ff4f81139406b09a15068fa..ccb142eef5410054bc4359e8af877717d7376604 100644
--- a/cmd/cfg/main.go
+++ b/cmd/cfg/main.go
@@ -24,7 +24,7 @@ }
unmarshal = e.Unmarshal
return nil
}
- fs.Func("from", "The format to convert from", fromFunc)
+ fs.Func("from", "The format to convert from [json(c), yaml, toml, nix, dhall]", fromFunc)
fs.Func("f", "--from", fromFunc)
toFunc := func(s string) error {
e, err := cfg.ParseEncoding(s)
@@ -34,7 +34,7 @@ }
marshal = e.Marshal
return nil
}
- fs.Func("to", "The format to convert to", toFunc)
+ fs.Func("to", "The format to convert to [json, yaml, toml, nix]", toFunc)
fs.Func("t", "--to", toFunc)
if err := fs.Parse(os.Args[1:]); err != nil {
return err
@@ -44,9 +44,13 @@ if fs.NArg() < 1 {
return errors.New("cfg requires at least an input file")
}
+ cleanArg := func(arg string) string {
+ return strings.TrimPrefix(filepath.Ext(arg), ".")
+ }
+
in := fs.Arg(0)
if unmarshal == nil {
- if err := fromFunc(strings.TrimPrefix(filepath.Ext(fs.Arg(0)), ".")); err != nil {
+ if err := fromFunc(cleanArg(fs.Arg(0))); err != nil {
return err
}
}
@@ -61,7 +65,7 @@ defer fi.Close()
out = fi
if marshal == nil {
- if err := toFunc(strings.TrimPrefix(filepath.Ext(fs.Arg(1)), ".")); err != nil {
+ if err := toFunc(cleanArg(fs.Arg(1))); err != nil {
return err
}
}
|