package platform import ( "fmt" "github.com/Print-and-Panic/panic-cli/internal/git" ) // MockSystem implements the System interface for dry-runs and testing. // It logs actions to stdout instead of performing system changes. type MockSystem struct{} // Ensure MockSystem implements System var _ System = (*MockSystem)(nil) func (m *MockSystem) SetGitIdentity(id git.GitIdentity) error { fmt.Printf("🔍 [DRY-RUN] Setting Git Identity to: Name='%s', Email='%s'\n", id.Name, id.Email) return nil } func (m *MockSystem) GetCurrentGitIdentity() (git.GitIdentity, error) { fmt.Println("🔍 [DRY-RUN] Retrieving current Git Identity (Mocked)") return git.GitIdentity{ Name: "Mock User", Email: "mock@example.com", }, nil } func (m *MockSystem) GetLocalGitIdentity() (git.GitIdentity, error) { fmt.Println("🔍 [DRY-RUN] Checking for local Git Identity (Mocked: None found)") return git.GitIdentity{}, nil } func (m *MockSystem) SetTheme(theme string) error { fmt.Printf("🔍 [DRY-RUN] Setting KDE Theme to: '%s'\n", theme) return nil } func (m *MockSystem) GetTheme() (string, error) { fmt.Println("🔍 [DRY-RUN] Retrieving current KDE Theme (Mocked)") return "Mock Theme", nil }