feat: Improve theme not found handling

Modify  to return a boolean instead of throwing an error when a theme is not found. Update CLI startup and  hook to handle the boolean return value for more graceful error handling.
This commit is contained in:
Taylor Mullen
2025-05-09 10:20:08 -07:00
committed by N. Taylor Mullen
parent c58f879026
commit b8fa38a6e8
3 changed files with 23 additions and 59 deletions

View File

@@ -24,23 +24,10 @@ async function main() {
const settings = loadSettings(process.cwd());
const config = await loadCliConfig(settings.merged);
if (settings.merged.theme) {
try {
themeManager.setActiveTheme(settings.merged.theme);
} catch (error: unknown) {
if (!themeManager.setActiveTheme(settings.merged.theme)) {
// If the theme is not found during initial load, log a warning and continue.
// The useThemeCommand hook in App.tsx will handle opening the dialog.
if (
error instanceof Error &&
error.message.includes('Theme') &&
error.message.includes('not found')
) {
console.warn(
`Warning: ${error instanceof Error ? error.message : String(error)}`,
);
} else {
// Re-throw other errors to be caught by the main catch block
throw error;
}
console.warn(`Warning: Theme "${settings.merged.theme}" not found.`);
}
}