diff options
| author | Martin Kagamino Lehoux <martin@lehoux.net> | 2026-05-12 17:55:11 +0200 |
|---|---|---|
| committer | Martin Kagamino Lehoux <martin@lehoux.net> | 2026-05-12 17:55:11 +0200 |
| commit | 2a3cfd7077ec5e8d2888dcf79c47f86056dc6cff (patch) | |
| tree | a64cbcfa7304bffbce91a5330d3ff4bd4dc492a5 /cmd | |
| parent | 563f1a3a3c2db5eb595ae2f9e1c78b1e357cc25a (diff) | |
kdev: make config file optional, fail fast on missing keywords
.kdev.yaml is no longer required — missing file is silently ignored.
A clear panic is raised if no keywords are configured at startup.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'cmd')
| -rw-r--r-- | cmd/kdev/main.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/cmd/kdev/main.go b/cmd/kdev/main.go index b9c834e..0b23ffb 100644 --- a/cmd/kdev/main.go +++ b/cmd/kdev/main.go @@ -69,7 +69,11 @@ func initConfig() { viper.AddConfigPath(".") viper.AddConfigPath(repoPath) kcore.Expect(viper.BindPFlags(pflag.CommandLine), "Error binding flags") - kcore.Expect(viper.ReadInConfig(), "Error reading config file") + if err := viper.ReadInConfig(); err != nil { + if _, ok := err.(viper.ConfigFileNotFoundError); !ok { + kcore.Expect(err, "Error reading config file") + } + } if afterStr := viper.GetString("after"); afterStr != "" { after, err = time.Parse(time.DateOnly, viper.GetString("after")) @@ -113,6 +117,7 @@ func initConfig() { func main() { var err error initConfig() + kcore.Assert(len(keywords) > 0, "No keywords configured: set 'keywords' in .kdev.yaml or pass --keywords") records := []Record{} if cpuProfile != "" { |
