package config import ( _ "embed" "sync" "go.yaml.in/yaml/v3" ) //go:embed presets.yaml var presetsYAML []byte // Preset is a built-in watch: patterns, and where the lines usually are. type Preset struct { Description string `yaml:"description"` File string `yaml:"file"` Journal *Journal `yaml:"journal"` Source string `yaml:"source"` Match []string `yaml:"match"` Ignore []string `yaml:"ignore"` } // Presets are the built-in presets by name. var Presets = sync.OnceValue(func() map[string]Preset { out := map[string]Preset{} if err := yaml.Unmarshal(presetsYAML, &out); err != nil { panic("presets.yaml: " + err.Error()) } return out }) //go:embed example.yaml var exampleYAML []byte // Example is a commented configuration (guard config --example). func Example() string { return string(exampleYAML) }