дзеркало
https://github.com/l0ng-ai/openidea.git
синхронізовано 2026-11-09 11:15:40 +02:00
Add two contribution-only theme plugins, each with a light and a dark theme that sets every UI token plus an editor colour scheme with syntax, editor and terminal ANSI colours: - plugins/theme-solarized: Solarized Light, Solarized Dark - plugins/theme-one: One Light, One Dark (Atom One, original HSL values) They replace the partial theme-solarized-dark sample. Each package ships the MIT notice of its palette in LICENSE, which is now copied on install with the files the manifest references. scripts/theme checks every theme plugin in plugins/ against the token list of tokens.css. Theme handling that any theme benefits from: - Start-up: boot.js restores the selected plugin theme's stylesheet and the last resolved frame, text and accent colours before any CSS loads, so the splash and workbench no longer show the built-in theme until the plugin host answers. The UI keeps the boot theme until the first plugin list, and the list now waits for the initial plugin load. - Native windows: the UI reports the plugin theme's resolved frame colour, which the plugin host persists and new project windows open in. - hsl(), color-mix() and var() tokens are resolved to RGB for Tauri's window background, the native Settings window (hex) and Mermaid diagrams. - Mermaid, the terminal and the editor colour scheme follow switches between plugin themes of the same light / dark base; an explicit editor scheme now replaces a plugin theme's editor colours. Supersedes #85. Co-authored-by: bghtyu <[email protected]> Claude-Session: https://claude.ai/code/session_01VUYsdXA2nkF5v6zsC93dpn
104 рядки
4.6 KiB
JSON
104 рядки
4.6 KiB
JSON
// Atom One palette by GitHub Inc. (https://github.com/atom/one-dark-syntax and friends),
|
|
// MIT licence, see LICENSE. Adapted to OpenIDEA's tokens by bghtyu.
|
|
// Editor colour scheme: syntax, editor surfaces and terminal ANSI colours.
|
|
{
|
|
"name": "One Dark",
|
|
"tokens": {
|
|
// Syntax
|
|
"--syn-keyword": "hsl(286, 60%, 67%)",
|
|
"--syn-string": "hsl(95, 38%, 62%)",
|
|
"--syn-type": "hsl(39, 67%, 69%)",
|
|
"--syn-function": "hsl(207, 82%, 66%)",
|
|
"--syn-function-call": "hsl(207, 82%, 66%)",
|
|
"--syn-comment": "hsl(220, 10%, 40%)",
|
|
"--syn-comment-style": "italic",
|
|
"--syn-doc-comment": "hsl(220, 10%, 40%)",
|
|
"--syn-docstring": "hsl(95, 38%, 62%)",
|
|
"--syn-annotation": "hsl(29, 54%, 61%)",
|
|
"--syn-decorator": "hsl(29, 54%, 61%)",
|
|
"--syn-number": "hsl(29, 54%, 61%)",
|
|
"--syn-punct": "hsl(220, 14%, 71%)",
|
|
"--syn-variable": "hsl(355, 65%, 65%)",
|
|
"--syn-param": "hsl(220, 14%, 71%)",
|
|
"--syn-property": "hsl(220, 14%, 71%)",
|
|
"--syn-constant": "hsl(29, 54%, 61%)",
|
|
"--syn-builtin": "hsl(187, 47%, 55%)",
|
|
"--syn-self": "hsl(355, 65%, 65%)",
|
|
"--syn-keyword-arg": "hsl(355, 65%, 65%)",
|
|
"--syn-predefined": "hsl(187, 47%, 55%)",
|
|
"--syn-escape": "hsl(187, 47%, 55%)",
|
|
"--syn-regexp": "hsl(187, 47%, 55%)",
|
|
"--syn-tag": "hsl(355, 65%, 65%)",
|
|
"--syn-attribute": "hsl(29, 54%, 61%)",
|
|
"--syn-todo": "hsl(286, 60%, 67%)",
|
|
"--syn-link": "hsl(207, 82%, 66%)",
|
|
"--syn-markup-heading": "hsl(207, 82%, 66%)",
|
|
"--syn-markup-code": "hsl(95, 38%, 62%)",
|
|
"--syn-invalid": "hsl(355, 65%, 65%)",
|
|
"--syn-inline-value": "hsl(220, 9%, 55%)",
|
|
"--syn-rainbow-1": "hsl(187, 47%, 55%)",
|
|
"--syn-rainbow-2": "hsl(29, 54%, 61%)",
|
|
"--syn-rainbow-3": "hsl(95, 38%, 62%)",
|
|
"--syn-rainbow-4": "hsl(286, 60%, 67%)",
|
|
"--syn-rainbow-5": "hsl(207, 82%, 66%)",
|
|
"--syn-bracket-1": "hsl(39, 67%, 69%)",
|
|
"--syn-bracket-2": "hsl(286, 60%, 67%)",
|
|
"--syn-bracket-3": "hsl(207, 82%, 66%)",
|
|
|
|
// Editor
|
|
"--fg-editor": "hsl(220, 14%, 71%)",
|
|
"--caret": "hsl(220, 100%, 66%)",
|
|
"--fg-line-number": "hsl(220, 9%, 55%)",
|
|
"--fg-line-number-current": "hsl(220, 14%, 71%)",
|
|
"--border-gutter": "hsl(220, 13%, 10.8%)",
|
|
"--border-indent-guide": "hsl(220, 13%, 10.8%)",
|
|
"--border-indent-guide-active": "hsl(220, 100%, 66%)",
|
|
"--border-right-margin": "hsl(220, 13%, 10.8%)",
|
|
"--bg-editor-selection": "hsl(220, 13%, 28%)",
|
|
"--bg-editor-selection-inactive": "hsl(220, 13%, 28%)",
|
|
"--bg-text-search-result": "color-mix(in srgb, hsl(39, 67%, 69%) 22%, hsl(220, 13%, 18%))",
|
|
"--bg-text-search-result-current": "color-mix(in srgb, hsl(39, 67%, 69%) 36%, hsl(220, 13%, 18%))",
|
|
"--bg-matched-brace": "hsl(220, 13%, 28%)",
|
|
"--matched-brace-weight": "var(--fw-code-bold)",
|
|
"--bg-matched-tag": "hsl(220, 13%, 28%)",
|
|
"--bg-fold-placeholder": "hsl(220, 13%, 15%)",
|
|
"--fg-fold-placeholder": "hsl(220, 14%, 71%)",
|
|
"--fg-fold-marker": "hsl(220, 9%, 55%)",
|
|
"--fg-whitespace": "hsl(220, 9%, 55%)",
|
|
"--fg-unused": "hsl(220, 9%, 55%)",
|
|
"--bg-identifier-under-caret": "hsl(220, 13%, 28%)",
|
|
"--bg-identifier-under-caret-write": "color-mix(in srgb, hsl(355, 65%, 65%) 12%, hsl(220, 13%, 18%))",
|
|
"--fg-inlay": "hsl(220, 9%, 55%)",
|
|
"--bg-inlay": "hsl(220, 13%, 15%)",
|
|
"--wave-error": "hsl(355, 65%, 65%)",
|
|
"--wave-warning": "hsl(39, 67%, 69%)",
|
|
"--editor-error-decoration": "underline wavy var(--wave-error)",
|
|
"--editor-warning-decoration": "underline wavy var(--wave-warning)",
|
|
"--editor-warning-background": "color-mix(in srgb, hsl(39, 67%, 69%) 12%, hsl(220, 13%, 18%))",
|
|
"--bg-breakpoint-line": "color-mix(in srgb, hsl(355, 65%, 65%) 12%, hsl(220, 13%, 18%))",
|
|
"--fg-completion-match": "hsl(207, 82%, 66%)",
|
|
"--bg-editor-inline": "hsl(220, 13%, 15%)",
|
|
"--bg-editor-banner": "color-mix(in srgb, hsl(207, 82%, 66%) 12%, hsl(220, 13%, 18%))",
|
|
"--fg-weak-warning": "hsl(220, 9%, 55%)",
|
|
"--fg-bulb": "hsl(39, 67%, 69%)",
|
|
|
|
// ANSI palette
|
|
"--ansi-black": "hsl(220, 13%, 15%)",
|
|
"--ansi-red": "hsl(355, 65%, 65%)",
|
|
"--ansi-green": "hsl(95, 38%, 62%)",
|
|
"--ansi-yellow": "hsl(39, 67%, 69%)",
|
|
"--ansi-blue": "hsl(207, 82%, 66%)",
|
|
"--ansi-magenta": "hsl(286, 60%, 67%)",
|
|
"--ansi-cyan": "hsl(187, 47%, 55%)",
|
|
"--ansi-white": "hsl(220, 14%, 71%)",
|
|
"--ansi-bright-black": "hsl(220, 9%, 55%)",
|
|
"--ansi-bright-red": "hsl(355, 65%, 65%)",
|
|
"--ansi-bright-green": "hsl(95, 38%, 62%)",
|
|
"--ansi-bright-yellow": "hsl(39, 67%, 69%)",
|
|
"--ansi-bright-blue": "hsl(207, 82%, 66%)",
|
|
"--ansi-bright-magenta": "hsl(286, 60%, 67%)",
|
|
"--ansi-bright-cyan": "hsl(187, 47%, 55%)",
|
|
"--ansi-bright-white": "#ffffff"
|
|
}
|
|
}
|