on main help sign in
feat: if a `.crush` directory is present in a parent dir, use that
f3a8061Andrey Nering
internal/config/load.go+6−1
@@ -15,6 +15,7 @@ import (
15 "github.com/charmbracelet/catwalk/pkg/catwalk"
15 "github.com/charmbracelet/catwalk/pkg/catwalk"
16 "github.com/charmbracelet/crush/internal/csync"
16 "github.com/charmbracelet/crush/internal/csync"
17 "github.com/charmbracelet/crush/internal/env"
17 "github.com/charmbracelet/crush/internal/env"
18+ "github.com/charmbracelet/crush/internal/fsext"
18 "github.com/charmbracelet/crush/internal/log"
19 "github.com/charmbracelet/crush/internal/log"
19)
20)
20
21
@@ -310,7 +311,11 @@ func (c *Config) setDefaults(workingDir string) {
310 c.Options.ContextPaths = []string{}
311 c.Options.ContextPaths = []string{}
311 }
312 }
312 if c.Options.DataDirectory == "" {
313 if c.Options.DataDirectory == "" {
314+ if path, ok := fsext.SearchParent(workingDir, defaultDataDirectory); ok {
315+ c.Options.DataDirectory = path
316+ } else {
313− c.Options.DataDirectory = filepath.Join(workingDir, defaultDataDirectory)
317+ c.Options.DataDirectory = filepath.Join(workingDir, defaultDataDirectory)
318+ }
314 }
319 }
315 if c.Providers == nil {
320 if c.Providers == nil {
316 c.Providers = csync.NewMap[string, ProviderConfig]()
321 c.Providers = csync.NewMap[string, ProviderConfig]()