ghostty-theme 1.0.1 → 1.1.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 +18 -20
- package/dist/lib/prompt.js +6 -6
- package/dist/lib/prompt.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,9 +1,19 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
1
3
|
# ghostty-theme
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
**Switch [Ghostty](https://ghostty.org) themes from your terminal — with fuzzy search, favorites, and random mode.**
|
|
6
|
+
|
|
7
|
+
[](https://www.npmjs.com/package/ghostty-theme)
|
|
8
|
+
[](./LICENSE)
|
|
9
|
+
|
|
10
|
+
<br>
|
|
11
|
+
|
|
12
|
+
<img src="docs/demo.gif" alt="ghostty-theme demo" width="500">
|
|
4
13
|
|
|
5
|
-
|
|
6
|
-
|
|
14
|
+
<br>
|
|
15
|
+
|
|
16
|
+
</div>
|
|
7
17
|
|
|
8
18
|
## Install
|
|
9
19
|
|
|
@@ -31,18 +41,6 @@ ghostty-theme remove # Remove a theme from favorites (interactive)
|
|
|
31
41
|
|
|
32
42
|
Running `ghostty-theme` opens a fuzzy-searchable theme picker:
|
|
33
43
|
|
|
34
|
-
```
|
|
35
|
-
Favorites:
|
|
36
|
-
Type to search, ↑↓/jk to move, Enter to select, q to cancel
|
|
37
|
-
Cobalt2
|
|
38
|
-
❯ TokyoNight *
|
|
39
|
-
Dracula
|
|
40
|
-
Catppuccin Mocha
|
|
41
|
-
Nord
|
|
42
|
-
▼ 7 more below
|
|
43
|
-
12 items
|
|
44
|
-
```
|
|
45
|
-
|
|
46
44
|
- **Type** to fuzzy search
|
|
47
45
|
- **↑↓** or **j/k** to navigate
|
|
48
46
|
- **Enter** to apply
|
|
@@ -53,11 +51,11 @@ Favorites:
|
|
|
53
51
|
|
|
54
52
|
Your favorite themes are stored in `~/.config/ghostty-theme-cli/favorites.json`. On first run, a curated set of popular dark themes is added automatically:
|
|
55
53
|
|
|
56
|
-
Cobalt2, TokyoNight, Dracula, Catppuccin Mocha, Nord, Gruvbox Dark, Solarized Dark Higher Contrast, Atom One Dark, Ayu, Kanagawa Dragon, Rose Pine, Everforest Dark Hard
|
|
54
|
+
> Cobalt2, TokyoNight, Dracula, Catppuccin Mocha, Nord, Gruvbox Dark, Solarized Dark Higher Contrast, Atom One Dark, Ayu, Kanagawa Dragon, Rose Pine, Everforest Dark Hard
|
|
57
55
|
|
|
58
56
|
### Random Mode
|
|
59
57
|
|
|
60
|
-
|
|
58
|
+
Shuffle through your favorites (or all themes) with a single command:
|
|
61
59
|
|
|
62
60
|
```bash
|
|
63
61
|
ghostty-theme random # Pick from favorites
|
|
@@ -68,9 +66,9 @@ It always picks a different theme from the one currently set.
|
|
|
68
66
|
|
|
69
67
|
## How It Works
|
|
70
68
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
69
|
+
1. Reads available themes via `ghostty +list-themes`
|
|
70
|
+
2. Directly edits the `theme = ...` line in your Ghostty config (`~/.config/ghostty/config`)
|
|
71
|
+
3. Ghostty live-reloads, so theme changes apply instantly — no restart needed
|
|
74
72
|
|
|
75
73
|
You can override the config path with the `GHOSTTY_CONFIG_PATH` environment variable.
|
|
76
74
|
|
package/dist/lib/prompt.js
CHANGED
|
@@ -40,7 +40,7 @@ export function select(options) {
|
|
|
40
40
|
lines.push(chalk.dim(` 🔍 search: ${searchQuery}`));
|
|
41
41
|
}
|
|
42
42
|
else {
|
|
43
|
-
lines.push(chalk.dim(" Type to search, ↑↓/jk to move, Enter to select, q to cancel"));
|
|
43
|
+
lines.push(chalk.dim(" Type to search, ↑↓/jk/Ctrl+jk to move, Enter to select, q to cancel"));
|
|
44
44
|
}
|
|
45
45
|
filteredItems = getFilteredItems();
|
|
46
46
|
if (filteredItems.length === 0) {
|
|
@@ -113,7 +113,7 @@ export function select(options) {
|
|
|
113
113
|
return;
|
|
114
114
|
}
|
|
115
115
|
// Enter
|
|
116
|
-
if (key === "\r"
|
|
116
|
+
if (key === "\r") {
|
|
117
117
|
cleanup();
|
|
118
118
|
const selected = filteredItems[cursor];
|
|
119
119
|
stdout.write("\n");
|
|
@@ -125,14 +125,14 @@ export function select(options) {
|
|
|
125
125
|
}
|
|
126
126
|
return;
|
|
127
127
|
}
|
|
128
|
-
// Arrow up / k (when not searching)
|
|
129
|
-
if (key === "\x1B[A" || (key === "k" && searchQuery === "")) {
|
|
128
|
+
// Arrow up / k (when not searching) / Ctrl+k
|
|
129
|
+
if (key === "\x1B[A" || (key === "k" && searchQuery === "") || key === "\x0B") {
|
|
130
130
|
cursor = Math.max(0, cursor - 1);
|
|
131
131
|
render();
|
|
132
132
|
return;
|
|
133
133
|
}
|
|
134
|
-
// Arrow down / j (when not searching)
|
|
135
|
-
if (key === "\x1B[B" || (key === "j" && searchQuery === "")) {
|
|
134
|
+
// Arrow down / j (when not searching) / Ctrl+j
|
|
135
|
+
if (key === "\x1B[B" || (key === "j" && searchQuery === "") || key === "\x0A") {
|
|
136
136
|
cursor = Math.min(filteredItems.length - 1, cursor + 1);
|
|
137
137
|
render();
|
|
138
138
|
return;
|
package/dist/lib/prompt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/lib/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,MAAM,UAAU,MAAM,CAAC,OAAsB;IAC3C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;QAEjD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAE9B,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,aAAa,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAC/B,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,SAAS,WAAW;YAClB,mEAAmE;YACnE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,SAAS,gBAAgB;YACvB,IAAI,WAAW,KAAK,EAAE;gBAAE,OAAO,KAAK,CAAC;YACrC,MAAM,CAAC,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,SAAS,MAAM;YACb,wBAAwB;YACxB,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,CAAC,KAAK,CAAC,QAAQ,aAAa,GAAG,CAAC,CAAC;gBACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;oBACvC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC5B,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC,QAAQ,aAAa,GAAG,CAAC,CAAC;YACzC,CAAC;YAED,MAAM,KAAK,GAAa,EAAE,CAAC;YAE3B,SAAS;YACT,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAErC,aAAa;YACb,IAAI,WAAW,EAAE,CAAC;gBAChB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,WAAW,EAAE,CAAC,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/lib/prompt.ts"],"names":[],"mappings":"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"}
|