@nonamelego/dsh-catppuccin 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -33,8 +33,10 @@
33
33
 
34
34
  ## 简介
35
35
 
36
- [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) Web GUI
37
- (`dsh web`)的 [Catppuccin](https://github.com/catppuccin/catppuccin) 主题插件。
36
+ [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)
37
+ [Catppuccin](https://github.com/catppuccin/catppuccin) 主题插件——一个包同时适配
38
+ **Web GUI**(`dsh web`)、**DSH Desktop** 与 **dsh-TUI** 终端:Web / 桌面端做全界面换色与玻璃质感,
39
+ TUI 端自动同步四套官方主题色板。
38
40
 
39
41
  它内置 Catppuccin 的四个主题——**Latte**、**Frappé**、**Macchiato**、**Mocha**——
40
42
  把整个界面的配色都换成对应的 Catppuccin 色板;并在 **设置 → 常规 → 外观**
@@ -62,6 +64,7 @@ Catppuccin 主题。
62
64
  纯色背景跟随主题底色——内容滚入视口边缘时柔化穿过,层次更立体
63
65
  - 🎨 玻璃配色取自当前主题的 token(color-mix 自动跟随四个 Catppuccin 色板)
64
66
  - 🔄 **检查 Catppuccin 插件更新**:设置页一键检测本插件(dsh-catppuccin)在 npm 上的最新版本,发现新版直接给出可复制的升级命令
67
+ - 💻 **dsh-TUI 终端主题**:一条安装命令装进 dsh-TUI,四套主题自动同步到 `~/.dsh-tui/themes/`,见[安装 · dsh-TUI](#dsh-tui-终端版主题)
65
68
 
66
69
  ## 预览
67
70
 
@@ -146,6 +149,30 @@ pnpm --dir C:\Users\LeGo\.dsh\profiles\web add link:D:\Vibe-Coding\dsh-catppucci
146
149
  重启 `dsh web` 即可。在 [DSH Desktop](https://github.com/anywhere-labs/deepseek-harness-desktop) 中使用时,把上面的路径换成桌面 profile
147
150
  (默认 `desktop`,位于 `~/.dsh/profiles/desktop`),装完重启 **[DSH Desktop](https://github.com/anywhere-labs/deepseek-harness-desktop)** 即可。
148
151
 
152
+ ### dsh-TUI(终端版)主题
153
+
154
+ 与 Web GUI 插件同一个包。用标准的插件安装命令装进 dsh-tui profile:
155
+
156
+ ```sh
157
+ dsh plugin --profile dsh-tui add @nonamelego/dsh-catppuccin
158
+ ```
159
+
160
+ 从仓库安装同理(npm 版尚未发版时可用 git 形式,效果一致):
161
+
162
+ ```sh
163
+ dsh plugin --profile dsh-tui add https://github.com/NoNameLeGo/dsh-catppuccin-theme
164
+ ```
165
+
166
+ 包里带一个只做主题同步的小插件行(`dsh-catppuccin-tui-themes`,不依赖任何服务):dsh-TUI 启动时自动把四套主题 JSON 同步到 `~/.dsh-tui/themes/`,之后升级包即同步新版配色。装完启动 `dsh --profile dsh-tui`,在 dsh-TUI 里用 `/theme` 选择 **Catppuccin Latte / Frappé / Macchiato / Mocha**,或直接 `/theme catppuccin-mocha` 切换(选择会持久化,下次启动自动恢复)。
167
+
168
+ > 💡 已经为 Web GUI 装过本插件、同时也用 dsh-TUI 的话:不用重复安装——Web 端每次启动都会自动同步主题到 `~/.dsh-tui/themes/`(仅当该目录已存在,纯 Web 用户不受影响)。
169
+
170
+ > 📁 不想在 dsh-tui profile 里装包的话,也可以手动复制:从仓库克隆后把 `themes/*.json` 拷进 `~/.dsh-tui/themes/`(Windows:`%USERPROFILE%\.dsh-tui\themes\`),效果相同,只是不随版本自动更新。
171
+
172
+ > ⚠️ `catppuccin-*.json` 这几个文件名归本插件所有,同步时会被覆盖;想自定义请复制一份改别的名字,其他主题文件不受影响。
173
+
174
+ > 💡 TUI 主题只管 TUI 内部配色,终端背景由你的终端决定——建议终端本身也配上对应风味的 Catppuccin(见 [Catppuccin 官方 ports 列表](https://github.com/catppuccin/catppuccin#-ports)),整体观感最一致。
175
+
149
176
  ## 使用
150
177
 
151
178
  1. 打开 Web GUI(默认 `http://127.0.0.1:3080`);在 [DSH Desktop](https://github.com/anywhere-labs/deepseek-harness-desktop) 中则直接打开桌面应用即可。
package/cordis.patch.yml CHANGED
@@ -4,3 +4,13 @@
4
4
  - insert:
5
5
  - id: dsh-catppuccin
6
6
  name: '@nonamelego/dsh-catppuccin'
7
+ # TUI theme sync: idempotently copies the four Catppuccin theme JSONs into
8
+ # ~/.dsh-tui/themes/ on activation. No inject, so it activates in EVERY
9
+ # profile — in a dsh-tui profile this is what makes the one-command
10
+ # install work (dsh-TUI reads themes only from that directory; there is
11
+ # no registration API); in a web/desktop profile it keeps themes in sync
12
+ # for users who also run dsh-TUI; with no ~/.dsh-tui on disk it is a
13
+ # strict no-op. The main row above stays pending on webServer there,
14
+ # same benign state as headless profiles.
15
+ - id: dsh-catppuccin-tui-themes
16
+ name: '@nonamelego/dsh-catppuccin/tui-themes'
package/lib/index.js CHANGED
@@ -3,7 +3,7 @@ import { basename, dirname, join } from "node:path";
3
3
  import { readFile, readdir } from "node:fs/promises";
4
4
  import { homedir } from "node:os";
5
5
  //#region package.json
6
- var version = "0.3.1";
6
+ var version = "0.4.0";
7
7
  //#endregion
8
8
  //#region src/versions.ts
9
9
  /** Parse a semver string, or null when it is not `v?x.y.z[-pre][+build]`. */
@@ -0,0 +1,80 @@
1
+ import { existsSync, mkdirSync, readFileSync, readdirSync, statSync, writeFileSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { homedir } from "node:os";
4
+ import { fileURLToPath } from "node:url";
5
+ //#region src/tui-themes.ts
6
+ /**
7
+ * TUI theme-sync half of the Catppuccin theme plugin.
8
+ *
9
+ * dsh-TUI has no theme registration API — custom themes are only ever read
10
+ * from `~/.dsh-tui/themes/<name>.json` (dsh-TUI src/customTheme.ts, DATA_DIR
11
+ * is fixed to `~/.dsh-tui` with no env override). So the "install-command"
12
+ * experience for the TUI surface is this tiny Cordis plugin: it ships as a
13
+ * second bundle row (`@nonamelego/dsh-catppuccin/tui-themes`, no inject,
14
+ * activates in every profile) and idempotently copies the four Catppuccin
15
+ * theme JSONs from this package into the TUI data dir on activation:
16
+ *
17
+ * - installed into a dsh-tui profile: themes land on first TUI start —
18
+ * `dsh plugin --profile dsh-tui add @nonamelego/dsh-catppuccin` is the
19
+ * whole install;
20
+ * - installed into a web/desktop profile of a user who also runs dsh-TUI:
21
+ * themes stay in sync on every web start, no second install needed;
22
+ * - no `~/.dsh-tui` on disk (web-only user, headless): strict no-op — the
23
+ * directory is never created by this plugin.
24
+ *
25
+ * The `catppuccin-*.json` namespace is plugin-owned: syncing overwrites
26
+ * those files when they differ from the shipped copies (that is how updates
27
+ * propagate). Users who want to customize copy one under their own name —
28
+ * other files in the themes directory are never touched.
29
+ *
30
+ * Best-effort by contract: any failure is swallowed silently — theme sync
31
+ * must never drag down profile startup (stdout stays quiet during TUI
32
+ * sessions, so no logging here either).
33
+ */
34
+ /** Stable cordis plugin name (matches the cordis.patch.yml row id). */
35
+ const name = "dsh-catppuccin-tui-themes";
36
+ /** File name shape this plugin owns and syncs. */
37
+ function isOwnedTheme(file) {
38
+ return file.startsWith("catppuccin-") && file.endsWith(".json");
39
+ }
40
+ /**
41
+ * Idempotently copy every `catppuccin-*.json` from `bundledDir` into
42
+ * `<tuiHome>/themes/`. Writes only files whose content differs from the
43
+ * shipped copy; never touches other files. Returns the files written
44
+ * (empty = already in sync, or `tuiHome` absent — the sync no-ops unless
45
+ * the user actually has a dsh-TUI data dir). Pure fs, no logging, never
46
+ * throws out of the caller's try-wrap.
47
+ */
48
+ function syncTuiThemes(bundledDir, tuiHome) {
49
+ if (!existsSync(tuiHome) || !statSync(tuiHome).isDirectory()) return [];
50
+ const written = [];
51
+ let targetReady = false;
52
+ for (const file of readdirSync(bundledDir).sort()) {
53
+ if (!isOwnedTheme(file)) continue;
54
+ const source = readFileSync(join(bundledDir, file));
55
+ const dest = join(tuiHome, "themes", file);
56
+ let identical = false;
57
+ try {
58
+ identical = readFileSync(dest).equals(source);
59
+ } catch {
60
+ identical = false;
61
+ }
62
+ if (identical) continue;
63
+ if (!targetReady) {
64
+ mkdirSync(join(tuiHome, "themes"), { recursive: true });
65
+ targetReady = true;
66
+ }
67
+ writeFileSync(dest, source);
68
+ written.push(file);
69
+ }
70
+ return written;
71
+ }
72
+ /** Cordis entry: sync once at activation. No inject — must activate in any
73
+ * profile (dsh-tui has no webServer; the main half waits there instead). */
74
+ function apply() {
75
+ try {
76
+ syncTuiThemes(fileURLToPath(new URL("../themes", import.meta.url)), join(homedir(), ".dsh-tui"));
77
+ } catch {}
78
+ }
79
+ //#endregion
80
+ export { apply, name, syncTuiThemes };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nonamelego/dsh-catppuccin",
3
3
  "description": "Catppuccin themes + a toggleable glassmorphism skin for the DeepSeek Harness web GUI — Latte, Frappé, Macchiato and Mocha registered into the official theme system (Appearance settings), fully remapping the --dsw-* token ladder, with adjustable frosted glass for the top bar, sidebar, composer, stats line and trajectory view.",
4
- "version": "0.3.1",
4
+ "version": "0.4.0",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -22,6 +22,7 @@
22
22
  "exports": {
23
23
  ".": "./lib/index.js",
24
24
  "./client": "./lib/client.js",
25
+ "./tui-themes": "./lib/tui-themes.js",
25
26
  "./package.json": "./package.json"
26
27
  },
27
28
  "dsh": {
@@ -43,6 +44,7 @@
43
44
  "files": [
44
45
  "lib",
45
46
  "assets",
47
+ "themes",
46
48
  "cordis.patch.yml",
47
49
  "README.md",
48
50
  "LICENSE"
@@ -56,7 +58,8 @@
56
58
  "watch": "tsdown --watch",
57
59
  "typecheck": "tsc --noEmit -p tsconfig.json",
58
60
  "test": "vitest run",
59
- "gen:palettes": "node scripts/generate-palettes.mjs"
61
+ "gen:palettes": "node scripts/generate-palettes.mjs",
62
+ "gen:themes": "node scripts/generate-tui-themes.mjs"
60
63
  },
61
64
  "license": "MIT",
62
65
  "peerDependencies": {
@@ -0,0 +1,102 @@
1
+ {
2
+ "name": "catppuccin-frappe",
3
+ "displayName": "Catppuccin Frappé",
4
+ "base": "dark",
5
+ "colors": {
6
+ "autoAccept": "#ca9ee6",
7
+ "bashBorder": "#eebebe",
8
+ "claude": "#ca9ee6",
9
+ "toolNameMutate": "#e5c890",
10
+ "toolNameExec": "#81c8be",
11
+ "claudeShimmer": "#c9adeb",
12
+ "claudeBlue_FOR_SYSTEM_SPINNER": "#ca9ee6",
13
+ "claudeBlueShimmer_FOR_SYSTEM_SPINNER": "#c9adeb",
14
+ "permission": "#ca9ee6",
15
+ "permissionShimmer": "#c9adeb",
16
+ "planMode": "#a6d189",
17
+ "ide": "#ca9ee6",
18
+ "promptBorder": "#626880",
19
+ "promptBorderShimmer": "#ca9ee6",
20
+ "text": "#c6d0f5",
21
+ "inverseText": "#303446",
22
+ "inactive": "#a5adce",
23
+ "inactiveShimmer": "#b5bfe2",
24
+ "subtle": "#737994",
25
+ "suggestion": "#ca9ee6",
26
+ "remember": "#ca9ee6",
27
+ "background": "#ca9ee6",
28
+ "success": "#a6d189",
29
+ "error": "#e78284",
30
+ "warning": "#e5c890",
31
+ "merged": "#ca9ee6",
32
+ "warningShimmer": "#dccaae",
33
+ "diffAdded": "#a6d18926",
34
+ "diffRemoved": "#e7828426",
35
+ "diffAddedDimmed": "#a6d18914",
36
+ "diffRemovedDimmed": "#e7828414",
37
+ "diffAddedWord": "#a6d18933",
38
+ "diffRemovedWord": "#e7828433",
39
+ "toolCardBackground": "#414559",
40
+ "toolCardBackgroundDim": "#292c3c",
41
+ "toolDotExec": "#a6d189",
42
+ "toolDotRead": "#81c8be",
43
+ "toolDotWrite": "#ca9ee6",
44
+ "toolDotWeb": "#8caaee",
45
+ "toolDotTask": "#f4b8e4",
46
+ "syntaxKeyword": "#ca9ee6",
47
+ "syntaxString": "#a6d189",
48
+ "syntaxComment": "#949cbb",
49
+ "syntaxNumber": "#ef9f76",
50
+ "syntaxFunction": "#8caaee",
51
+ "syntaxType": "#e5c890",
52
+ "syntaxVariable": "#c6d0f5",
53
+ "syntaxOperator": "#81c8be",
54
+ "syntaxPunctuation": "#949cbb",
55
+ "syntaxConstant": "#ef9f76",
56
+ "red_FOR_SUBAGENTS_ONLY": "#e78284",
57
+ "blue_FOR_SUBAGENTS_ONLY": "#8caaee",
58
+ "green_FOR_SUBAGENTS_ONLY": "#a6d189",
59
+ "yellow_FOR_SUBAGENTS_ONLY": "#e5c890",
60
+ "purple_FOR_SUBAGENTS_ONLY": "#ca9ee6",
61
+ "orange_FOR_SUBAGENTS_ONLY": "#ef9f76",
62
+ "pink_FOR_SUBAGENTS_ONLY": "#f4b8e4",
63
+ "cyan_FOR_SUBAGENTS_ONLY": "#81c8be",
64
+ "professionalBlue": "#ca9ee6",
65
+ "chromeYellow": "#e5c890",
66
+ "clawd_body": "#ef9f76",
67
+ "clawd_background": "#303446",
68
+ "userMessageBackgroundHover": "#41455980",
69
+ "messageActionsBackground": "#414559",
70
+ "selectionBg": "#949cbb40",
71
+ "bashMessageBackgroundColor": "#41455999",
72
+ "memoryBackgroundColor": "#41455999",
73
+ "rate_limit_fill": "#ca9ee6",
74
+ "rate_limit_empty": "#51576d",
75
+ "fastMode": "#ef9f76",
76
+ "fastModeShimmer": "#e3ae9c",
77
+ "briefLabelYou": "#e5c890",
78
+ "briefLabelClaude": "#ca9ee6",
79
+ "rainbow_red": "#e78284",
80
+ "rainbow_orange": "#ef9f76",
81
+ "rainbow_yellow": "#e5c890",
82
+ "rainbow_green": "#a6d189",
83
+ "rainbow_blue": "#8caaee",
84
+ "rainbow_indigo": "#babbf1",
85
+ "rainbow_violet": "#ca9ee6",
86
+ "rainbow_red_shimmer": "#dd99a6",
87
+ "rainbow_orange_shimmer": "#e3ae9c",
88
+ "rainbow_yellow_shimmer": "#dccaae",
89
+ "rainbow_green_shimmer": "#b0d1a9",
90
+ "rainbow_blue_shimmer": "#9db5f0",
91
+ "rainbow_indigo_shimmer": "#bec1f2",
92
+ "rainbow_violet_shimmer": "#c9adeb",
93
+ "subagentBullet": "#eebebe",
94
+ "subagentDescription": "#c6d0f5",
95
+ "subagentModel": "#a5adce",
96
+ "subagentElapsed": "#a5adce",
97
+ "subagentToolName": "#ca9ee6",
98
+ "subagentStatusRunning": "#ca9ee6",
99
+ "subagentStatusCompleted": "#a6d189",
100
+ "subagentStatusFailed": "#e78284"
101
+ }
102
+ }
@@ -0,0 +1,102 @@
1
+ {
2
+ "name": "catppuccin-latte",
3
+ "displayName": "Catppuccin Latte",
4
+ "base": "light",
5
+ "colors": {
6
+ "autoAccept": "#8839ef",
7
+ "bashBorder": "#dd7878",
8
+ "claude": "#8839ef",
9
+ "toolNameMutate": "#df8e1d",
10
+ "toolNameExec": "#179299",
11
+ "claudeShimmer": "#7640c7",
12
+ "claudeBlue_FOR_SYSTEM_SPINNER": "#8839ef",
13
+ "claudeBlueShimmer_FOR_SYSTEM_SPINNER": "#7640c7",
14
+ "permission": "#8839ef",
15
+ "permissionShimmer": "#7640c7",
16
+ "planMode": "#40a02b",
17
+ "ide": "#8839ef",
18
+ "promptBorder": "#acb0be",
19
+ "promptBorderShimmer": "#8839ef",
20
+ "text": "#4c4f69",
21
+ "inverseText": "#eff1f5",
22
+ "inactive": "#6c6f85",
23
+ "inactiveShimmer": "#5c5f77",
24
+ "subtle": "#9ca0b0",
25
+ "suggestion": "#8839ef",
26
+ "remember": "#8839ef",
27
+ "background": "#8839ef",
28
+ "success": "#40a02b",
29
+ "error": "#d20f39",
30
+ "warning": "#df8e1d",
31
+ "merged": "#8839ef",
32
+ "warningShimmer": "#b37b34",
33
+ "diffAdded": "#40a02b26",
34
+ "diffRemoved": "#d20f3926",
35
+ "diffAddedDimmed": "#40a02b14",
36
+ "diffRemovedDimmed": "#d20f3914",
37
+ "diffAddedWord": "#40a02b33",
38
+ "diffRemovedWord": "#d20f3933",
39
+ "toolCardBackground": "#ccd0da",
40
+ "toolCardBackgroundDim": "#e6e9ef",
41
+ "toolDotExec": "#40a02b",
42
+ "toolDotRead": "#179299",
43
+ "toolDotWrite": "#8839ef",
44
+ "toolDotWeb": "#1e66f5",
45
+ "toolDotTask": "#ea76cb",
46
+ "syntaxKeyword": "#8839ef",
47
+ "syntaxString": "#40a02b",
48
+ "syntaxComment": "#7c7f93",
49
+ "syntaxNumber": "#fe640b",
50
+ "syntaxFunction": "#1e66f5",
51
+ "syntaxType": "#df8e1d",
52
+ "syntaxVariable": "#4c4f69",
53
+ "syntaxOperator": "#179299",
54
+ "syntaxPunctuation": "#7c7f93",
55
+ "syntaxConstant": "#fe640b",
56
+ "red_FOR_SUBAGENTS_ONLY": "#d20f39",
57
+ "blue_FOR_SUBAGENTS_ONLY": "#1e66f5",
58
+ "green_FOR_SUBAGENTS_ONLY": "#40a02b",
59
+ "yellow_FOR_SUBAGENTS_ONLY": "#df8e1d",
60
+ "purple_FOR_SUBAGENTS_ONLY": "#8839ef",
61
+ "orange_FOR_SUBAGENTS_ONLY": "#fe640b",
62
+ "pink_FOR_SUBAGENTS_ONLY": "#ea76cb",
63
+ "cyan_FOR_SUBAGENTS_ONLY": "#179299",
64
+ "professionalBlue": "#8839ef",
65
+ "chromeYellow": "#df8e1d",
66
+ "clawd_body": "#fe640b",
67
+ "clawd_background": "#eff1f5",
68
+ "userMessageBackgroundHover": "#ccd0da80",
69
+ "messageActionsBackground": "#ccd0da",
70
+ "selectionBg": "#7c7f934d",
71
+ "bashMessageBackgroundColor": "#ccd0da99",
72
+ "memoryBackgroundColor": "#ccd0da99",
73
+ "rate_limit_fill": "#8839ef",
74
+ "rate_limit_empty": "#bcc0cc",
75
+ "fastMode": "#fe640b",
76
+ "fastModeShimmer": "#c95e27",
77
+ "briefLabelYou": "#df8e1d",
78
+ "briefLabelClaude": "#8839ef",
79
+ "rainbow_red": "#d20f39",
80
+ "rainbow_orange": "#fe640b",
81
+ "rainbow_yellow": "#df8e1d",
82
+ "rainbow_green": "#40a02b",
83
+ "rainbow_blue": "#1e66f5",
84
+ "rainbow_indigo": "#7287fd",
85
+ "rainbow_violet": "#8839ef",
86
+ "rainbow_red_shimmer": "#aa2247",
87
+ "rainbow_orange_shimmer": "#c95e27",
88
+ "rainbow_yellow_shimmer": "#b37b34",
89
+ "rainbow_green_shimmer": "#44883e",
90
+ "rainbow_blue_shimmer": "#2c5fcb",
91
+ "rainbow_indigo_shimmer": "#6776d1",
92
+ "rainbow_violet_shimmer": "#7640c7",
93
+ "subagentBullet": "#dd7878",
94
+ "subagentDescription": "#4c4f69",
95
+ "subagentModel": "#6c6f85",
96
+ "subagentElapsed": "#6c6f85",
97
+ "subagentToolName": "#8839ef",
98
+ "subagentStatusRunning": "#8839ef",
99
+ "subagentStatusCompleted": "#40a02b",
100
+ "subagentStatusFailed": "#d20f39"
101
+ }
102
+ }
@@ -0,0 +1,102 @@
1
+ {
2
+ "name": "catppuccin-macchiato",
3
+ "displayName": "Catppuccin Macchiato",
4
+ "base": "dark",
5
+ "colors": {
6
+ "autoAccept": "#c6a0f6",
7
+ "bashBorder": "#f0c6c6",
8
+ "claude": "#c6a0f6",
9
+ "toolNameMutate": "#eed49f",
10
+ "toolNameExec": "#8bd5ca",
11
+ "claudeShimmer": "#c7aff6",
12
+ "claudeBlue_FOR_SYSTEM_SPINNER": "#c6a0f6",
13
+ "claudeBlueShimmer_FOR_SYSTEM_SPINNER": "#c7aff6",
14
+ "permission": "#c6a0f6",
15
+ "permissionShimmer": "#c7aff6",
16
+ "planMode": "#a6da95",
17
+ "ide": "#c6a0f6",
18
+ "promptBorder": "#5b6078",
19
+ "promptBorderShimmer": "#c6a0f6",
20
+ "text": "#cad3f5",
21
+ "inverseText": "#24273a",
22
+ "inactive": "#a5adcb",
23
+ "inactiveShimmer": "#b8c0e0",
24
+ "subtle": "#6e738d",
25
+ "suggestion": "#c6a0f6",
26
+ "remember": "#c6a0f6",
27
+ "background": "#c6a0f6",
28
+ "success": "#a6da95",
29
+ "error": "#ed8796",
30
+ "warning": "#eed49f",
31
+ "merged": "#c6a0f6",
32
+ "warningShimmer": "#e3d4b9",
33
+ "diffAdded": "#a6da9526",
34
+ "diffRemoved": "#ed879626",
35
+ "diffAddedDimmed": "#a6da9514",
36
+ "diffRemovedDimmed": "#ed879614",
37
+ "diffAddedWord": "#a6da9533",
38
+ "diffRemovedWord": "#ed879633",
39
+ "toolCardBackground": "#363a4f",
40
+ "toolCardBackgroundDim": "#1e2030",
41
+ "toolDotExec": "#a6da95",
42
+ "toolDotRead": "#8bd5ca",
43
+ "toolDotWrite": "#c6a0f6",
44
+ "toolDotWeb": "#8aadf4",
45
+ "toolDotTask": "#f5bde6",
46
+ "syntaxKeyword": "#c6a0f6",
47
+ "syntaxString": "#a6da95",
48
+ "syntaxComment": "#939ab7",
49
+ "syntaxNumber": "#f5a97f",
50
+ "syntaxFunction": "#8aadf4",
51
+ "syntaxType": "#eed49f",
52
+ "syntaxVariable": "#cad3f5",
53
+ "syntaxOperator": "#8bd5ca",
54
+ "syntaxPunctuation": "#939ab7",
55
+ "syntaxConstant": "#f5a97f",
56
+ "red_FOR_SUBAGENTS_ONLY": "#ed8796",
57
+ "blue_FOR_SUBAGENTS_ONLY": "#8aadf4",
58
+ "green_FOR_SUBAGENTS_ONLY": "#a6da95",
59
+ "yellow_FOR_SUBAGENTS_ONLY": "#eed49f",
60
+ "purple_FOR_SUBAGENTS_ONLY": "#c6a0f6",
61
+ "orange_FOR_SUBAGENTS_ONLY": "#f5a97f",
62
+ "pink_FOR_SUBAGENTS_ONLY": "#f5bde6",
63
+ "cyan_FOR_SUBAGENTS_ONLY": "#8bd5ca",
64
+ "professionalBlue": "#c6a0f6",
65
+ "chromeYellow": "#eed49f",
66
+ "clawd_body": "#f5a97f",
67
+ "clawd_background": "#24273a",
68
+ "userMessageBackgroundHover": "#363a4f80",
69
+ "messageActionsBackground": "#363a4f",
70
+ "selectionBg": "#939ab740",
71
+ "bashMessageBackgroundColor": "#363a4f99",
72
+ "memoryBackgroundColor": "#363a4f99",
73
+ "rate_limit_fill": "#c6a0f6",
74
+ "rate_limit_empty": "#494d64",
75
+ "fastMode": "#f5a97f",
76
+ "fastModeShimmer": "#e8b6a2",
77
+ "briefLabelYou": "#eed49f",
78
+ "briefLabelClaude": "#c6a0f6",
79
+ "rainbow_red": "#ed8796",
80
+ "rainbow_orange": "#f5a97f",
81
+ "rainbow_yellow": "#eed49f",
82
+ "rainbow_green": "#a6da95",
83
+ "rainbow_blue": "#8aadf4",
84
+ "rainbow_indigo": "#b7bdf8",
85
+ "rainbow_violet": "#c6a0f6",
86
+ "rainbow_red_shimmer": "#e39eb3",
87
+ "rainbow_orange_shimmer": "#e8b6a2",
88
+ "rainbow_yellow_shimmer": "#e3d4b9",
89
+ "rainbow_green_shimmer": "#b1d8b2",
90
+ "rainbow_blue_shimmer": "#9db8f4",
91
+ "rainbow_indigo_shimmer": "#bdc4f7",
92
+ "rainbow_violet_shimmer": "#c7aff6",
93
+ "subagentBullet": "#f0c6c6",
94
+ "subagentDescription": "#cad3f5",
95
+ "subagentModel": "#a5adcb",
96
+ "subagentElapsed": "#a5adcb",
97
+ "subagentToolName": "#c6a0f6",
98
+ "subagentStatusRunning": "#c6a0f6",
99
+ "subagentStatusCompleted": "#a6da95",
100
+ "subagentStatusFailed": "#ed8796"
101
+ }
102
+ }
@@ -0,0 +1,102 @@
1
+ {
2
+ "name": "catppuccin-mocha",
3
+ "displayName": "Catppuccin Mocha",
4
+ "base": "dark",
5
+ "colors": {
6
+ "autoAccept": "#cba6f7",
7
+ "bashBorder": "#f2cdcd",
8
+ "claude": "#cba6f7",
9
+ "toolNameMutate": "#f9e2af",
10
+ "toolNameExec": "#94e2d5",
11
+ "claudeShimmer": "#ccb4f6",
12
+ "claudeBlue_FOR_SYSTEM_SPINNER": "#cba6f7",
13
+ "claudeBlueShimmer_FOR_SYSTEM_SPINNER": "#ccb4f6",
14
+ "permission": "#cba6f7",
15
+ "permissionShimmer": "#ccb4f6",
16
+ "planMode": "#a6e3a1",
17
+ "ide": "#cba6f7",
18
+ "promptBorder": "#585b70",
19
+ "promptBorderShimmer": "#cba6f7",
20
+ "text": "#cdd6f4",
21
+ "inverseText": "#1e1e2e",
22
+ "inactive": "#a6adc8",
23
+ "inactiveShimmer": "#bac2de",
24
+ "subtle": "#6c7086",
25
+ "suggestion": "#cba6f7",
26
+ "remember": "#cba6f7",
27
+ "background": "#cba6f7",
28
+ "success": "#a6e3a1",
29
+ "error": "#f38ba8",
30
+ "warning": "#f9e2af",
31
+ "merged": "#cba6f7",
32
+ "warningShimmer": "#ecdec4",
33
+ "diffAdded": "#a6e3a126",
34
+ "diffRemoved": "#f38ba826",
35
+ "diffAddedDimmed": "#a6e3a114",
36
+ "diffRemovedDimmed": "#f38ba814",
37
+ "diffAddedWord": "#a6e3a133",
38
+ "diffRemovedWord": "#f38ba833",
39
+ "toolCardBackground": "#313244",
40
+ "toolCardBackgroundDim": "#181825",
41
+ "toolDotExec": "#a6e3a1",
42
+ "toolDotRead": "#94e2d5",
43
+ "toolDotWrite": "#cba6f7",
44
+ "toolDotWeb": "#89b4fa",
45
+ "toolDotTask": "#f5c2e7",
46
+ "syntaxKeyword": "#cba6f7",
47
+ "syntaxString": "#a6e3a1",
48
+ "syntaxComment": "#9399b2",
49
+ "syntaxNumber": "#fab387",
50
+ "syntaxFunction": "#89b4fa",
51
+ "syntaxType": "#f9e2af",
52
+ "syntaxVariable": "#cdd6f4",
53
+ "syntaxOperator": "#94e2d5",
54
+ "syntaxPunctuation": "#9399b2",
55
+ "syntaxConstant": "#fab387",
56
+ "red_FOR_SUBAGENTS_ONLY": "#f38ba8",
57
+ "blue_FOR_SUBAGENTS_ONLY": "#89b4fa",
58
+ "green_FOR_SUBAGENTS_ONLY": "#a6e3a1",
59
+ "yellow_FOR_SUBAGENTS_ONLY": "#f9e2af",
60
+ "purple_FOR_SUBAGENTS_ONLY": "#cba6f7",
61
+ "orange_FOR_SUBAGENTS_ONLY": "#fab387",
62
+ "pink_FOR_SUBAGENTS_ONLY": "#f5c2e7",
63
+ "cyan_FOR_SUBAGENTS_ONLY": "#94e2d5",
64
+ "professionalBlue": "#cba6f7",
65
+ "chromeYellow": "#f9e2af",
66
+ "clawd_body": "#fab387",
67
+ "clawd_background": "#1e1e2e",
68
+ "userMessageBackgroundHover": "#31324480",
69
+ "messageActionsBackground": "#313244",
70
+ "selectionBg": "#9399b240",
71
+ "bashMessageBackgroundColor": "#31324499",
72
+ "memoryBackgroundColor": "#31324499",
73
+ "rate_limit_fill": "#cba6f7",
74
+ "rate_limit_empty": "#45475a",
75
+ "fastMode": "#fab387",
76
+ "fastModeShimmer": "#edbea8",
77
+ "briefLabelYou": "#f9e2af",
78
+ "briefLabelClaude": "#cba6f7",
79
+ "rainbow_red": "#f38ba8",
80
+ "rainbow_orange": "#fab387",
81
+ "rainbow_yellow": "#f9e2af",
82
+ "rainbow_green": "#a6e3a1",
83
+ "rainbow_blue": "#89b4fa",
84
+ "rainbow_indigo": "#b4befe",
85
+ "rainbow_violet": "#cba6f7",
86
+ "rainbow_red_shimmer": "#e8a2bf",
87
+ "rainbow_orange_shimmer": "#edbea8",
88
+ "rainbow_yellow_shimmer": "#ecdec4",
89
+ "rainbow_green_shimmer": "#b2dfba",
90
+ "rainbow_blue_shimmer": "#9dbef8",
91
+ "rainbow_indigo_shimmer": "#bcc5fb",
92
+ "rainbow_violet_shimmer": "#ccb4f6",
93
+ "subagentBullet": "#f2cdcd",
94
+ "subagentDescription": "#cdd6f4",
95
+ "subagentModel": "#a6adc8",
96
+ "subagentElapsed": "#a6adc8",
97
+ "subagentToolName": "#cba6f7",
98
+ "subagentStatusRunning": "#cba6f7",
99
+ "subagentStatusCompleted": "#a6e3a1",
100
+ "subagentStatusFailed": "#f38ba8"
101
+ }
102
+ }