Vendor srcery-textmate tokenColors and align workbench palette#44
Vendor srcery-textmate tokenColors and align workbench palette#44MindTooth wants to merge 6 commits into
Conversation
Replaces the inline 35-entry tokenColors array with a path reference to a vendored srcery.tmTheme, fetched from srcery-textmate master (includes PR #3's palette sync with srcery-vim plus a follow-up JSON-key fix). Re-run node scripts/sync-tmtheme.mjs <ref> to pin a specific revision.
Exclude scripts/, docs/, and pnpm workspace files from the .vsix; document the vendoring change in the changelog.
Replace drifted bright_black (#918175), Monokai leftovers (#75715E, #272822, #3B3A32), and inconsistent olive selection greens with canonical palette values; move editor.background to true black (#121110) and fix terminal.ansiWhite/ansiBrightCyan/list.invalidItemForeground.
The vendoring layer and override-patch layer never existed in this repo prior to this branch (per the plan's Task 1 note), so "replacing ... the local override-patch layer" misdescribed history. Also resolved a dangling "(see below)" reference.
Documents the design decisions behind the sync pipeline and the 34 workbench color replacements for future reference.
|
@roosta now that TextMate is "up2date". We can look at actually using it here. I still need to verify that it's working as it should. Claude mentioned that some of the syntax will be overridden when using an LSP.
Will dedicate more time on this going forward as textmate is merged. |
|
@gagbo if you have the time: Thoughts about using textmate directly? And if you have the time to test, please do. Off-topic: I see that you still have a fork listed on the marketplace, do you know if it's possible to be archived and redirected to the upstream one? |
|
thats great, very nice that we could merge those two themes like that. I'll also verify when I get the chance, I'll let you know my findings. |
roosta
left a comment
There was a problem hiding this comment.
I ran through the filetypes in syntax tester, as as with bat it looks spot on, couldn't really find any notable issues. Keep up the good work!
Summary
scripts/sync-tmtheme.mjsvendoring pipeline (fetchessrcery.tmThemefromsrcery-colors/srcery-textmate, defaults tomaster, accepts a ref/SHA argument for a pinned re-fetch) and replaces the hand-maintained inlinetokenColorsarray inthemes/Srcery-color-theme.jsonwith a"./srcery.tmTheme"path reference.vscodeignore(excludesscripts/**,pnpm-lock.yaml,pnpm-workspace.yaml,docs/**;themes/srcery.tmThemestill ships) andCHANGELOG.mdcolorssection with the srcery palette v2: fixes a drifted "bright_black" hex used in 20+ places, three Monokai leftover colors, consolidates three inconsistent olive selection greens into two new named colors, and moveseditor.backgroundto true blackEach change is its own commit (vendoring pipeline / packaging / workbench palette) so they're independently revertable. Full design rationale and the exact 34-value replacement table are in
docs/superpowers/plans/2026-07-10-post-pr3-tmtheme-sync.md.Test plan
themes/srcery.tmThemeparses as valid plist (plistlib), 308 settings entries, 0[OVERRIDE]rules, 0 drift hexesthemes/Srcery-color-theme.jsonparses as strict JSON;colorssection has 163 keys;tokenColorsis"./srcery.tmTheme"pnpm exec vsce lsconfirmsthemes/srcery.tmThemeships,scripts//docs//pnpm workspace files excludedmeta.mapping.key.json→#68A8E4) and Python-operator rule (source.python keyword.operator.*→#FCE8C3) both present in vendored plist.json,.py, and.shfile; confirm JSON keys render bright_blue, Python operators render plain foreground (not white), editor background is true black, and selection highlight is the new dim green. Not run in this session (no GUI available) — please verify before merging.🤖 Generated with Claude Code