Document the db_path config variable #8

Merged
isthisnagee merged 3 commits from issues/6-config-documentation into main 3 years ago

@ -6,3 +6,33 @@
```
go install git.nagee.dev/isthisnagee/diary@v0.0.1
```
## Configuration
### Valid locations for the config file
The config file can be passed to the `diary` command through a command line
arg. For example: `diary --config=~/.diary.toml`
When there is no config argument, `diary` looks for the config here:
- `$HOME/.config/diary/diary.toml`
### Configuration options
#### `db_path`
- Name: `db_path`
- Type: String
- Default: `~/.diary.sql`
- Description: The location of the sqlite database. If the file does not exist,
it will be created.
```
db_path = "path/to/wherever/you/want/the/db/file"
```

@ -39,24 +39,22 @@ func initConfig() Cfg {
// Use config file from the flag.
viper.SetConfigFile(cfgFile)
} else {
// Search config in home directory with name ".diary" (without extension).
viper.AddConfigPath(home)
viper.AddConfigPath(path.Join(home, ".config", "diary"))
viper.SetConfigType("toml")
viper.SetConfigName(".diary")
viper.SetConfigName("diary.toml")
}
if viper.Get("db_path") == nil {
var db_path = path.Join(home, ".diary.sql")
viper.SetDefault("db_path", db_path)
}
viper.AutomaticEnv() // read in environment variables that match
// If a config file is found, read it in.
if err := viper.ReadInConfig(); err == nil {
fmt.Fprintln(os.Stderr, "Using config file:", viper.ConfigFileUsed())
}
err = viper.ReadInConfig()
cobra.CheckErr(err)
return Cfg{db_path}
return Cfg{viper.GetString("db_path")}
}
func InitApp() {
@ -64,13 +62,13 @@ func InitApp() {
if _, err := os.Stat(cfg.DbPath); errors.Is(err, os.ErrNotExist) {
_, err := os.Create(cfg.DbPath)
if err != nil {
log.Fatal(err.Error())
}
cobra.CheckErr(err)
}
var app = model.NewApp(cfg.DbPath)
App = &TApp{&app, &cfg}
var app, err = model.NewApp(cfg.DbPath)
cobra.CheckErr(err)
App = &TApp{app, &cfg}
}
var fmt_str = "%-10s %-20s %s\n"

@ -20,12 +20,12 @@ type App struct {
*db.DbCtx
}
func NewApp(db_path string) App {
func NewApp(db_path string) (*App, error) {
app, err := db.Init(db_path)
if err != nil {
log.Fatal(err.Error())
return nil, err
}
return App{app}
return &App{app}, nil
}

Loading…
Cancel
Save