---
epic: 8
story: 8.3
title: "Syntax Highlighting"
status: draft
---

## Epic 8 — Windows App (Rust + iced)
**Goal:** Fast, lightweight native Windows app -- single .exe, no runtime dependencies.

### Story 8.3: Syntax Highlighting

As a **Windows user**,
I want syntax highlighting in the editor that colors numbers, operators, units, variables, comments, and errors,
So that I can visually parse my calculations quickly.

**Acceptance Criteria:**

**Given** the user types `total_cost = $1250 + $300 // monthly`
**When** the text is rendered
**Then** `total_cost` is colored as a variable, `=` and `+` as operators, `$1250` and `$300` as numbers/currency, and `// monthly` as a comment

**Given** the user types an expression that produces an error
**When** the text is rendered
**Then** the erroneous portion is highlighted with an error indicator (e.g., red underline or distinct color)

**Given** the Windows system theme is Light mode
**When** the editor renders
**Then** syntax colors have sufficient contrast on a light background

**Given** the Windows system theme is Dark mode
**When** the editor renders
**Then** syntax colors have sufficient contrast on a dark background

**Given** the syntax highlighting is implemented
**When** colors are applied to text spans
**Then** the engine tokenizer provides the span boundaries and token types, and the iced text renderer applies corresponding colors
