URI: 
       commands: Add --lang to hugo config - hugo - [fork] hugo port for 9front
  HTML git clone git@git.drkhsh.at/hugo.git
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
   DIR README
   DIR LICENSE
       ---
   DIR commit 0ef29528469975bf2251dea78699dbeac55d02ae
   DIR parent e3ae8f025d5919dd6675d5176b10bcf8884baa95
  HTML Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
       Date:   Thu,  1 Jun 2023 09:53:40 +0200
       
       commands: Add --lang to hugo config
       
       Fixes #11057
       
       Diffstat:
         M commands/config.go                  |      14 +++++++++++++-
         M config/allconfig/allconfig.go       |       5 +++++
         M config/allconfig/integration_test.… |       2 +-
         M hugolib/config_test.go              |       5 ++---
       
       4 files changed, 21 insertions(+), 5 deletions(-)
       ---
   DIR diff --git a/commands/config.go b/commands/config.go
       @@ -23,6 +23,7 @@ import (
                "time"
        
                "github.com/bep/simplecobra"
       +        "github.com/gohugoio/hugo/config/allconfig"
                "github.com/gohugoio/hugo/modules"
                "github.com/gohugoio/hugo/parser"
                "github.com/gohugoio/hugo/parser/metadecoders"
       @@ -42,6 +43,7 @@ type configCommand struct {
                r *rootCommand
        
                format string
       +        lang   string
        
                commands []simplecobra.Commander
        }
       @@ -59,7 +61,16 @@ func (c *configCommand) Run(ctx context.Context, cd *simplecobra.Commandeer, arg
                if err != nil {
                        return err
                }
       -        config := conf.configs.Base
       +        var config *allconfig.Config
       +        if c.lang != "" {
       +                var found bool
       +                config, found = conf.configs.LanguageConfigMap[c.lang]
       +                if !found {
       +                        return fmt.Errorf("language %q not found", c.lang)
       +                }
       +        } else {
       +                config = conf.configs.LanguageConfigSlice[0]
       +        }
        
                var buf bytes.Buffer
                dec := json.NewEncoder(&buf)
       @@ -100,6 +111,7 @@ func (c *configCommand) Init(cd *simplecobra.Commandeer) error {
                cmd.Short = "Print the site configuration"
                cmd.Long = `Print the site configuration, both default and custom settings.`
                cmd.Flags().StringVar(&c.format, "format", "toml", "preferred file format (toml, yaml or json)")
       +        cmd.Flags().StringVar(&c.lang, "lang", "", "the language to display config for. Defaults to the first language defined.")
                applyLocalFlagsBuildConfig(cmd, c.r)
        
                return nil
   DIR diff --git a/config/allconfig/allconfig.go b/config/allconfig/allconfig.go
       @@ -664,6 +664,11 @@ func (c *Configs) Init() error {
                        }
                }
        
       +        // Transfer the changed mounts to the language versions (all share the same mount set, but can be displayed in different languages).
       +        for _, l := range c.LanguageConfigSlice {
       +                l.Module.Mounts = c.Base.Module.Mounts
       +        }
       +
                return nil
        }
        
   DIR diff --git a/config/allconfig/integration_test.go b/config/allconfig/integration_test.go
       @@ -60,7 +60,7 @@ Title: {{ .Title }}
        
                b.Assert(enConcp.BaseURL().String(), qt.Equals, "https://example.com")
                modConf := enConf.Module
       -        b.Assert(modConf.Mounts, qt.HasLen, 2)
       +        b.Assert(modConf.Mounts, qt.HasLen, 8)
                b.Assert(modConf.Mounts[0].Source, qt.Equals, filepath.FromSlash("content/en"))
                b.Assert(modConf.Mounts[0].Target, qt.Equals, "content")
                b.Assert(modConf.Mounts[0].Lang, qt.Equals, "en")
   DIR diff --git a/hugolib/config_test.go b/hugolib/config_test.go
       @@ -1172,8 +1172,7 @@ Home.
                        },
                ).Build()
        
       -        modConf := b.H.Configs.Base.Module
       -
       -        b.Assert(modConf.Mounts, qt.HasLen, 7)
       +        b.Assert(b.H.Configs.Base.Module.Mounts, qt.HasLen, 7)
       +        b.Assert(b.H.Configs.LanguageConfigSlice[0].Module.Mounts, qt.HasLen, 7)
        
        }