Skip to content

feat: add VSCode Dark+ theme - #590

Merged
eugenioenko merged 1 commit into
eugenioenko:mainfrom
DBinK:feat/vscode-dark-plus
Sep 5, 2026
Merged

feat: add VSCode Dark+ theme#590
eugenioenko merged 1 commit into
eugenioenko:mainfrom
DBinK:feat/vscode-dark-plus

Conversation

@DBinK

@DBinK DBinK commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

What

Adds a faithful vscode-dark-plus theme reproducing the VS Code Dark+ palette
end to end, sourced from the official VS Code theme files:

  • Editor/workbench colors from dark_plus.json / dark_vs.json — editor
    #1E1E1E background, #D4D4D4 foreground, #264F78 selection, #094771
    active list selection, #37373D selected tab, iconic #007ACC status bar.
  • Syntax tokens from Dark+ tokenColors — comment #6A9955, string
    #CE9178, keyword.control #C586C0, function #DCDCAA, type #4EC9B0,
    variable #9CDCFE, constant/builtin #4FC1FF, tag #569CD6.
  • Terminal ANSI palette from VS Code's terminalColorRegistry.ts dark
    defaults (red #CD3131, green #0DBC79, bright red #F14C4C, ...).
  • Bracket pair colors #FFD700 / #DA70D6 / #179FFF (Dark+ bracket
    highlight palette).

Why

default-dark.json reuses several Dark+ syntax colors but diverges on the
workbench and terminal surfaces, and colors keyword blue (#569CD6)
where Dark+ uses purple (#C586C0) for control flow. This theme gives the
actual Dark+ look across editor, tabs, sidebar, dialogs, status bar, and
terminal.

Usage

Select in settings.json:

{ "theme": "vscode-dark-plus" }

It is discovered automatically via the embedded themes FS
(go:embed *.json), so it also appears in the theme selector.

Verification

  • TestBundledThemesLoad and
    TestBundledThemeSemanticDiffForegroundsMeetNormalTextContrast pass with
    the new theme included.
  • Built and smoke-tested: --size 80x30 --exec render of a Go file with the
    theme selected.
  • LoadTheme("vscode-dark-plus") resolves Dark+ signature colors (keyword
    #c586c0, status bar #007acc, terminal red #cd3131).

Sources

@DBinK
DBinK requested a review from eugenioenko as a code owner September 5, 2026 13:07
@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Team

Run ID: 964ea2d6-cb3a-4db4-bd3f-2bc571c51478

📥 Commits

Reviewing files that changed from the base of the PR and between c91dedb and 8182736.

📒 Files selected for processing (1)
  • internal/config/themes/vscode-dark-plus.json

Included review availability: Your plan provides up to 2 included reviews per hour; 1 remains after this review.


📝 Walkthrough

Walkthrough

Adds a new VS Code Dark Plus theme configuration. The file defines UI colors, editor and syntax colors, terminal ANSI colors, and ASCII border characters.

Changes

VS Code Dark Plus theme

Layer / File(s) Summary
UI theme colors
internal/config/themes/vscode-dark-plus.json
Defines base colors and styles for tabs, sidebar, dialogs, menus, status elements, diffs, and scrollbars.
Editor and syntax colors
internal/config/themes/vscode-dark-plus.json
Defines editor state colors, bracket colors, and syntax token colors.
Terminal and border settings
internal/config/themes/vscode-dark-plus.json
Defines terminal foreground and background colors, a 16-color ANSI palette, and box-drawing border characters.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to 81827

This adds a bundled VS Code Dark+ theme configuration. No current merge-blocking correctness, security, or runtime risk remains.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: adding a VS Code Dark+ theme.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@eugenioenko eugenioenko left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @DBinK, thank you for putting this together! Really appreciate the thoughtful contribution :)

Happy to add this one to the core of ttt. Default Dark was inspired by VS Code's dark theme but, as you pointed out, it's not exactly the same.

If you're up for making more themes, there's a collection of community themes that ship as downloadable JSON rather than in the binary. The files live in config/themes/ and users install them with a one-line curl into ~/.config/ttt/themes/. Adding one is a .json in that folder plus a gallery entry in extra-themes.md; we can help generate the preview image.

Thanks for helping make ttt better for the community!

PS: next release gonna have the option to set background color as transparent so that should also allow for new theme styles. VScode Dark Plus looks fantastic with a dark background out of the box ^^

Screenshot from 2026-09-05 10-38-08

@eugenioenko
eugenioenko merged commit bdd2976 into eugenioenko:main Sep 5, 2026
12 checks passed
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.

2 participants