Skip to content

feat: add native Xcode 27 workspace themes - #24

Open
kylereddoch wants to merge 1 commit into
catppuccin:mainfrom
kylereddoch:feat/xcode-27-native-themes
Open

kylereddoch wants to merge 1 commit into
catppuccin:mainfrom
kylereddoch:feat/xcode-27-native-themes

Conversation

@kylereddoch

Copy link
Copy Markdown

Xcode 27 can import the existing classic themes, but in my Xcode 27.1 test the conversion changed their RGB values. This adds native .xcworkspacecolortheme files for all four flavors, preserving the intended palette values and directly corresponding syntax assignments.

Related to #22. This contribution is adapted from my native Xcode theme project, with the comparison and original test record linked for context.

Changes

  • Add Latte, Frappé, Macchiato and Mocha under themes/xcode-27/, with 38 explicit native color overrides, solid backgrounds and light/dark metadata.
  • Generate shared colors from the existing Whiskers-generated legacy files. Only the Lavender foreground seed and Red diff color require a small supplemental palette; the Python generator has no third-party dependencies.
  • Preserve all existing legacy theme files, the Whiskers template and its check workflow.
  • Add native installation instructions, measured import results, a manifest accounting for all 104 legacy settings, and a separate native validation workflow.

Validation

Tested Xcode 27.1 (27A9269) on macOS 27.2 (26B5091g). All four legacy flavors imported successfully with colors enabled and fonts/cursor shape disabled. For example, Mocha text displayed as #D6DFF6 after classic import versus the source/native #CDD6F4.

All four native themes loaded through direct installation. Their Plain Text and Debugger controls matched the intended values; Latte's light-appearance syntax controls were also spot-checked. The generated native files in this PR are byte-identical to those tested files.

Local checks pass:

  • python3 scripts/generate_native.py --check
  • python3 -m unittest discover -s tests -v — four tests covering all flavors, direct color parity, exhaustive legacy setting classification, native metadata/fallbacks and input validation
  • git diff --check

Scope for review

This does not claim complete visual parity with every legacy setting. Separate console colors, rendered markup, scrollbar markers and some syntax subcategories lack a verified one-to-one native control. Fonts remain separate. Broader console/diagnostic/workspace and language-specific visual review is still needed; the documentation distinguishes those gaps from the verified assignments.

I am happy to adjust the native generation layout or palette choices to the maintainers' preferred approach.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant