Epic: A
Depends on: TP-03
Source: docs/theme-parser-github-issues.md
Goal
Support Querya custom HEX formats without duplicating incompatible color parsing logic.
Files
lib/core/theme/parser/color_parser.dart
test/core/theme/parser/color_parser_test.dart
Implementation
Add:
Color parseQueryaThemeColor(String raw)
Behavior:
- trim whitespace;
- accept
#RRGGBB;
- accept
RRGGBB;
- accept
#AARRGGBB;
- accept
AARRGGBB;
- delegate to
parseVsCodeColor where possible;
- throw
FormatException for invalid input.
If current parseVsCodeColor already supports all formats, implement this wrapper as normalization + delegate.
Acceptance Criteria
- Wrapper exists and is used by custom theme factory.
- No second unrelated parser implementation.
- Error messages mention the invalid value.
Tests
Cases:
#1E1E1E
1E1E1E
#FF1E1E1E
FF1E1E1E
- lowercase hex
- invalid length
- invalid characters
- empty string
Epic: A
Depends on: TP-03
Source:
docs/theme-parser-github-issues.mdGoal
Support Querya custom HEX formats without duplicating incompatible color parsing logic.
Files
lib/core/theme/parser/color_parser.darttest/core/theme/parser/color_parser_test.dartImplementation
Add:
Behavior:
#RRGGBB;RRGGBB;#AARRGGBB;AARRGGBB;parseVsCodeColorwhere possible;FormatExceptionfor invalid input.If current
parseVsCodeColoralready supports all formats, implement this wrapper as normalization + delegate.Acceptance Criteria
Tests
Cases:
#1E1E1E1E1E1E#FF1E1E1EFF1E1E1E