From 047801d760cbaf4cc49dc0ae58711a608ec74d04 Mon Sep 17 00:00:00 2001 From: Alec Thomas Date: Wed, 8 Jul 2020 21:12:29 +1000 Subject: [PATCH] Correctly return errors when configuration parsing fails. Fixes #93. --- options.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/options.go b/options.go index 681dfb9..6839ceb 100644 --- a/options.go +++ b/options.go @@ -2,6 +2,7 @@ package kong import ( "io" + "os" "os/user" "path/filepath" "reflect" @@ -251,7 +252,13 @@ func Configuration(loader ConfigurationLoader, paths ...string) Option { return OptionFunc(func(k *Kong) error { k.loader = loader for _, path := range paths { - resolver, _ := k.LoadConfig(path) + if _, err := os.Stat(ExpandPath(path)); os.IsNotExist(err) { + continue + } + resolver, err := k.LoadConfig(path) + if err != nil { + return errors.Wrap(err, path) + } if resolver != nil { k.resolvers = append(k.resolvers, resolver) }