func (config *Config) SetPrintMode(printMode PrintModeEnum) {
	config.PrintMode = printMode
}
SetPrintMode assigns .PrintMode on the current config struct
package config
import (
	"fmt"
	"strings"
)
type Alias struct {
	Name        string
	Description string `json:"description"`
	Command     string `json:"command"`
}
type Config struct {
	DebugEnabled bool             `json:"debugEnabled"`
	APIDriver    string           `json:"apiDriver"`
	Experimental bool             `json:"experimental"`
	PrintMode    PrintModeEnum    `json:"printMode"`
	Aliases      map[string]Alias `json:"aliases"`
}
type PrintModeEnum string
const (
	PrintJSON   PrintModeEnum = "json"
	PrintLine   PrintModeEnum = "line"
	PrintPretty PrintModeEnum = "pretty"
)
func (config *Config) Validate() {
	validAliases := map[string]Alias{}
	for aliasName, alias := range config.Aliases {
		if len(strings.Fields(aliasName)) > 1 {
			fmt.Printf("Aliases error: Name '%s' must not contain whitespace\n", aliasName)
			continue
		}
		if AliasIsCyclic(alias, config.Aliases) {
			fmt.Printf("Alias error: '%s' creates an infinite loop\n", aliasName)
			continue
		}
		validAliases[aliasName] = Alias{
			Name:        aliasName,
			Command:     alias.Command,
			Description: alias.Description,
		}
	}
	config.Aliases = validAliases
	if config.DebugEnabled {
		fmt.Println("Debug mode on")
		fmt.Printf("Initialized with print mode '%s'\n", config.PrintMode)
		fmt.Printf("Loaded %d alias(es)\n", len(config.Aliases))
		fmt.Println("")
	}
}