diff options
| -rw-r--r-- | internal/config/args.go | 50 |
1 files changed, 29 insertions, 21 deletions
diff --git a/internal/config/args.go b/internal/config/args.go index 8df6555..87ef393 100644 --- a/internal/config/args.go +++ b/internal/config/args.go @@ -136,29 +136,37 @@ func DeserializeOptions(opts []string) (map[string]string, lcontext.LContext, er val = string(decoded) } - switch key { - case "before": - iVal, err := strconv.Atoi(val) - if err != nil { - return options, ltx, err - } - ltx.BeforeContext = iVal - case "after": - iVal, err := strconv.Atoi(val) - if err != nil { - return options, ltx, err - } - ltx.AfterContext = iVal - case "max": - iVal, err := strconv.Atoi(val) - if err != nil { - return options, ltx, err - } - ltx.MaxCount = iVal - default: - options[key] = val + var err error + if options, err = setOption(key, val, options, <x); err != nil { + return options, ltx, err } } return options, ltx, nil } + +func setOption(key, val string, options map[string]string, ltx *lcontext.LContext) (map[string]string, error) { + switch key { + case "before": + iVal, err := strconv.Atoi(val) + if err != nil { + return options, err + } + ltx.BeforeContext = iVal + case "after": + iVal, err := strconv.Atoi(val) + if err != nil { + return options, err + } + ltx.AfterContext = iVal + case "max": + iVal, err := strconv.Atoi(val) + if err != nil { + return options, err + } + ltx.MaxCount = iVal + default: + options[key] = val + } + return options, nil +} |
