30 lines
539 B
Go
30 lines
539 B
Go
package config
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
|
|
"github.com/spf13/viper"
|
|
)
|
|
|
|
func Init() {
|
|
viper.SetConfigName("config")
|
|
viper.SetConfigType("json")
|
|
|
|
configDir := filepath.Join(userConfigDir(), "mach")
|
|
viper.AddConfigPath(configDir)
|
|
|
|
viper.SetDefault("input_type", "md")
|
|
viper.SetDefault("output_type", "rtf")
|
|
|
|
_ = viper.ReadInConfig() // config file is optional
|
|
}
|
|
|
|
func userConfigDir() string {
|
|
if dir, err := os.UserConfigDir(); err == nil {
|
|
return dir
|
|
}
|
|
home, _ := os.UserHomeDir()
|
|
return filepath.Join(home, ".config")
|
|
}
|