Skip to content

TP-09 — Add typed theme load result #104

Description

@ZhuchkaTriplesix

Epic: A
Depends on: TP-08

Source: docs/theme-parser-github-issues.md

Goal

Introduce result types for loading/parsing themes so UI and startup can handle failures without exceptions leaking.

Files

  • lib/core/theme/theme_load_result.dart

Implementation

Add sealed result:

sealed class ThemeLoadResult {
  const ThemeLoadResult();
}

class ThemeLoadSuccess extends ThemeLoadResult {
  const ThemeLoadSuccess({
    required this.definition,
    required this.theme,
  });
}

class ThemeLoadFailure extends ThemeLoadResult {
  const ThemeLoadFailure({
    required this.definition,
    required this.message,
    this.error,
  });
}

Use this result in later registry APIs.

Acceptance Criteria

  • Result can represent success/failure without throwing.
  • Failure keeps enough data to show user-facing error and debug logs.

Tests

No direct tests required unless lint coverage demands it. Later registry tests will cover usage.


Metadata

Metadata

Assignees

No one assigned

    Labels

    error-handlingTheme parser epic label: error-handlingparserTheme parser epic label: parserthemeTheming, colors, VS Code themes

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions