Use configured Shiki colors in both editors #105

Merged
eleith merged 2 commits from feat/configured-editor-theme into main 2026-10-05 13:27:48 +00:00
Owner

Summary

Make both application editors follow the existing theme.markdown.code.light / dark Shiki selections rather than hardcoded Gruvbox colors.

  • Add a build-side @luzzle/web.theme/editor palette generator using @shikijs/themes@3.22.0.
  • Emit editor palette variables into the existing global theme CSS; use ordinary .cm-editor and syntax-token CSS classes.
  • Migrate the Markdown source and text-asset editors; remove the old hardcoded Gruvbox theme modules.
  • Retain native CodeMirror parsing/highlighting and existing widget variables. This is a bounded palette projection, not a second browser tokenizer or a complete TextMate selector engine.
  • Set the demo's selected code/editor themes to min-light and min-dark.
  • Include tests, documentation and a changeset. No Shiki browser runtime is added.

Commits

  • 71d40d3a — [web] derive editor colors from configured Shiki themes
  • dc47bcdf — [web] use Min themes in the demo

Verification

Previously completed during feature verification (not rerun merely to open this PR):

  • Root pnpm lint, pnpm check, and pnpm test passed.
  • Theme package: 21 tests, 100% coverage; web: 349 tests.
  • All 24 projected colors matched the accepted comparison fixture for each of four themes; all 64 bundled themes generated valid palettes.
  • Owner reviewed the isolated color comparison and chose Min for the demo.

No root/web/theme/content build or Docker operation was run during this handoff. Live CSS generation remains owner-controlled; use the normal deployment workflow to pick up the dependency/export and regenerate configured theme CSS. Until then, editor CSS has application-token fallbacks.

Landing / dependent work

Base: main. This is the first PR in the editor stack. The Vim keybindings branch is based on this branch and should land afterward.

Prefer fast-forward-only merging to preserve the reviewed commits. After this lands, retarget the dependent Vim PR to main before landing it. No merge is being performed by the agent.

TypeBox planning, ignored research artifacts, and the owner's untracked demo archive file are not part of this PR.

Dependent PR: #106 — #106

## Summary Make both application editors follow the existing `theme.markdown.code.light` / `dark` Shiki selections rather than hardcoded Gruvbox colors. - Add a build-side `@luzzle/web.theme/editor` palette generator using `@shikijs/themes@3.22.0`. - Emit editor palette variables into the existing global theme CSS; use ordinary `.cm-editor` and syntax-token CSS classes. - Migrate the Markdown source and text-asset editors; remove the old hardcoded Gruvbox theme modules. - Retain native CodeMirror parsing/highlighting and existing widget variables. This is a bounded palette projection, not a second browser tokenizer or a complete TextMate selector engine. - Set the demo's selected code/editor themes to `min-light` and `min-dark`. - Include tests, documentation and a changeset. No Shiki browser runtime is added. ## Commits - `71d40d3a` — `[web] derive editor colors from configured Shiki themes` - `dc47bcdf` — `[web] use Min themes in the demo` ## Verification Previously completed during feature verification (not rerun merely to open this PR): - Root `pnpm lint`, `pnpm check`, and `pnpm test` passed. - Theme package: 21 tests, 100% coverage; web: 349 tests. - All 24 projected colors matched the accepted comparison fixture for each of four themes; all 64 bundled themes generated valid palettes. - Owner reviewed the isolated color comparison and chose Min for the demo. No root/web/theme/content build or Docker operation was run during this handoff. Live CSS generation remains owner-controlled; use the normal deployment workflow to pick up the dependency/export and regenerate configured theme CSS. Until then, editor CSS has application-token fallbacks. ## Landing / dependent work Base: `main`. This is the first PR in the editor stack. The Vim keybindings branch is based on this branch and should land afterward. Prefer fast-forward-only merging to preserve the reviewed commits. After this lands, retarget the dependent Vim PR to `main` before landing it. No merge is being performed by the agent. TypeBox planning, ignored research artifacts, and the owner's untracked demo archive file are not part of this PR. Dependent PR: #106 — https://git.eleith.com/eleith/luzzle/pulls/106
eleith added the enhancement label 2026-10-05 13:25:38 +00:00
eleith added 2 commits 2026-10-05 13:25:38 +00:00
[web] use Min themes in the demo
ci/woodpecker/pr/web-theme Pipeline was successful
ci/woodpecker/pr/web-worker Pipeline was successful
ci/woodpecker/pr/web Pipeline was successful
ci/woodpecker/push/web-theme Pipeline was successful
ci/woodpecker/push/web-worker Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
dc47bcdfbb
eleith merged commit dc47bcdfbb into main 2026-10-05 13:27:48 +00:00
eleith deleted branch feat/configured-editor-theme 2026-10-05 13:27:48 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: eleith/luzzle#105