From 963ca4f768e9d4d1bcb3fb22455e0f7bfc4d5ea6 Mon Sep 17 00:00:00 2001 From: Alexandre Bourget Date: Fri, 8 Jan 2016 23:53:37 -0500 Subject: [PATCH] Expose the default Viper instance through methods. To open up programming switching of configs, related to https://github.com/spf13/hugo/pull/1734 --- viper.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/viper.go b/viper.go index 389a58e..087bcad 100644 --- a/viper.go +++ b/viper.go @@ -174,6 +174,18 @@ func New() *Viper { return v } +// DefaultConfig retrieves the default Viper instance. To be loaded +// later with SetDefaultConfig. +func DefaultConfig() *Viper { + return v +} + +// SetDefaultConfig applies this Viper instance as the default. Used +// when calling the functions defined in the viper package. +func SetDefaultConfig(conf *Viper) { + v = conf +} + // Intended for testing, will reset all to default settings. // In the public interface for the viper package so applications // can use it in their testing as well.