Add a TOML configuration file

This commit is contained in:
2018-10-13 03:23:55 +01:00
parent 3c3a688406
commit 019108bff8
19 changed files with 3448 additions and 0 deletions

32
internal/config/config.go Normal file
View File

@@ -0,0 +1,32 @@
package config
import (
"path/filepath"
"github.com/BurntSushi/toml"
)
type WH40K struct {
DataDir string `toml:"data_dir"`
VideoPlayer []string `toml:"video_player"`
}
type Config struct {
WH40K `toml:"wh40k"`
}
func Load(filename string) (*Config, error) {
var out Config
_, err := toml.DecodeFile(filename, &out)
if err != nil {
return nil, err
}
return &out, err
}
// TODO: case-insensitive lookup
func (c *Config) DataFile(path string) string {
return filepath.Join(c.DataDir, path)
}