From 9bf223e584e115569bf2ffe64c3118e54d021a90 Mon Sep 17 00:00:00 2001 From: Anthony Fok Date: Tue, 17 Feb 2015 03:19:30 -0700 Subject: [PATCH] Quote strings in `hugo config` output Also, use ` = ` to separate keys and values if metaformatdata is "toml". --- commands/list_config.go | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/commands/list_config.go b/commands/list_config.go index 02c5d6957..8dad011cd 100644 --- a/commands/list_config.go +++ b/commands/list_config.go @@ -1,4 +1,4 @@ -// Copyright © 2013-14 Steve Francia . +// Copyright © 2013-15 Steve Francia . // // Licensed under the Simple Public License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -17,6 +17,7 @@ import ( "fmt" "github.com/spf13/cobra" "github.com/spf13/viper" + "reflect" "sort" ) @@ -27,13 +28,26 @@ var config = &cobra.Command{ Run: func(cmd *cobra.Command, args []string) { InitializeConfig() allSettings := viper.AllSettings() + + var separator string + if allSettings["metadataformat"] == "toml" { + separator = " = " + } else { + separator = ": " + } + var keys []string for k := range allSettings { keys = append(keys, k) } sort.Strings(keys) for _, k := range keys { - fmt.Printf("%s: %+v\n", k, allSettings[k]) + kv := reflect.ValueOf(allSettings[k]) + if kv.Kind() == reflect.String { + fmt.Printf("%s%s\"%+v\"\n", k, separator, allSettings[k]) + } else { + fmt.Printf("%s%s%+v\n", k, separator, allSettings[k]) + } } }, }