summaryrefslogtreecommitdiffstats
path: root/hugolib/config.go
diff options
context:
space:
mode:
Diffstat (limited to 'hugolib/config.go')
-rw-r--r--hugolib/config.go18
1 files changed, 15 insertions, 3 deletions
diff --git a/hugolib/config.go b/hugolib/config.go
index b21981304..32fa2dfca 100644
--- a/hugolib/config.go
+++ b/hugolib/config.go
@@ -16,10 +16,11 @@ package hugolib
import (
"errors"
"fmt"
-
"io"
"strings"
+ "github.com/gohugoio/hugo/common/herrors"
+
"github.com/gohugoio/hugo/hugolib/paths"
_errors "github.com/pkg/errors"
@@ -106,12 +107,23 @@ func LoadConfig(d ConfigSourceDescriptor, doWithConfig ...func(cfg config.Provid
v.SetConfigFile(configFilenames[0])
v.AddConfigPath(d.Path)
+ applyFileContext := func(filename string, err error) error {
+ err, _ = herrors.WithFileContextForFile(
+ err,
+ filename,
+ filename,
+ fs,
+ herrors.SimpleLineMatcher)
+
+ return err
+ }
+
var configFileErr error
err := v.ReadInConfig()
if err != nil {
if _, ok := err.(viper.ConfigParseError); ok {
- return nil, configFiles, err
+ return nil, configFiles, applyFileContext(v.ConfigFileUsed(), err)
}
configFileErr = ErrNoConfigFile
}
@@ -129,7 +141,7 @@ func LoadConfig(d ConfigSourceDescriptor, doWithConfig ...func(cfg config.Provid
return nil, configFiles, fmt.Errorf("Unable to open Config file.\n (%s)\n", err)
}
if err = v.MergeConfig(r); err != nil {
- return nil, configFiles, fmt.Errorf("Unable to parse/merge Config file (%s).\n (%s)\n", configFile, err)
+ return nil, configFiles, applyFileContext(configFile, err)
}
configFiles = append(configFiles, configFile)
}