merge: combine zoxide and Atuin context navigation

# Conflicts:
#	README.md
#	internal/config/config.go
#	internal/config/config_test.go
#	root/config_cmd.go
#	root/config_cmd_test.go
#	root/init.go
This commit is contained in:
2026-08-14 13:31:01 +03:00
13 changed files with 560 additions and 30 deletions
+18
View File
@@ -33,6 +33,9 @@ func TestDefaultConfigAndState(t *testing.T) {
if cfg.Zoxide.ExtendCd {
t.Errorf("expected zoxide cd extension to be disabled by default")
}
if cfg.History.Scope != "global" {
t.Errorf("expected global history scope, got %q", cfg.History.Scope)
}
// test manual provider registration
cfg.AI.Provider = "custom"
@@ -210,6 +213,21 @@ func TestValidateAutoUpdateRange(t *testing.T) {
}
}
func TestValidateHistoryScope(t *testing.T) {
cfg := DefaultConfig()
for _, scope := range []string{"global", "directory", "workspace", "hybrid"} {
cfg.History.Scope = scope
if err := validate(cfg); err != nil {
t.Errorf("expected history scope %q to be valid: %v", scope, err)
}
}
cfg.History.Scope = "session"
if err := validate(cfg); err == nil {
t.Error("expected unsupported history scope to be rejected")
}
}
func TestLoadSave(t *testing.T) {
tmpDir, err := os.MkdirTemp("", "iris-config-test")
if err != nil {