From f3a8061d405da1b6b999f9fe90672ec1bbf707a1 Mon Sep 17 00:00:00 2001 From: Andrey Nering Date: Tue, 19 Aug 2025 15:22:30 -0300 Subject: [PATCH] feat: if a `.crush` directory is present in a parent dir, use that Ref #254 --- internal/config/load.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/internal/config/load.go b/internal/config/load.go index 05128e64e00d2957c99b194124556d0ecb747fff..9810f64cdc4a8672aca95ac4aa6fbffc0881e72c 100644 --- a/internal/config/load.go +++ b/internal/config/load.go @@ -15,6 +15,7 @@ import ( "github.com/charmbracelet/catwalk/pkg/catwalk" "github.com/charmbracelet/crush/internal/csync" "github.com/charmbracelet/crush/internal/env" + "github.com/charmbracelet/crush/internal/fsext" "github.com/charmbracelet/crush/internal/log" ) @@ -310,7 +311,11 @@ func (c *Config) setDefaults(workingDir string) { c.Options.ContextPaths = []string{} } if c.Options.DataDirectory == "" { - c.Options.DataDirectory = filepath.Join(workingDir, defaultDataDirectory) + if path, ok := fsext.SearchParent(workingDir, defaultDataDirectory); ok { + c.Options.DataDirectory = path + } else { + c.Options.DataDirectory = filepath.Join(workingDir, defaultDataDirectory) + } } if c.Providers == nil { c.Providers = csync.NewMap[string, ProviderConfig]()