lumira 0.5.0 → 0.6.1
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 +69 -12
- package/dist/config.d.ts +1 -0
- package/dist/config.js +20 -1
- package/dist/config.js.map +1 -1
- package/dist/parsers/config-health.d.ts +8 -0
- package/dist/parsers/config-health.js +35 -0
- package/dist/parsers/config-health.js.map +1 -0
- package/dist/render/colors.js +4 -1
- package/dist/render/colors.js.map +1 -1
- package/dist/render/hyperlink.d.ts +4 -0
- package/dist/render/hyperlink.js +42 -0
- package/dist/render/hyperlink.js.map +1 -0
- package/dist/render/index.js +9 -3
- package/dist/render/index.js.map +1 -1
- package/dist/render/line1.js +9 -3
- package/dist/render/line1.js.map +1 -1
- package/dist/render/line2.js +26 -2
- package/dist/render/line2.js.map +1 -1
- package/dist/render/powerline-line1.d.ts +5 -0
- package/dist/render/powerline-line1.js +106 -0
- package/dist/render/powerline-line1.js.map +1 -0
- package/dist/render/powerline-line2.d.ts +5 -0
- package/dist/render/powerline-line2.js +61 -0
- package/dist/render/powerline-line2.js.map +1 -0
- package/dist/render/powerline-line3.d.ts +5 -0
- package/dist/render/powerline-line3.js +62 -0
- package/dist/render/powerline-line3.js.map +1 -0
- package/dist/render/powerline.d.ts +31 -0
- package/dist/render/powerline.js +164 -0
- package/dist/render/powerline.js.map +1 -0
- package/dist/render/shared.d.ts +8 -0
- package/dist/render/shared.js +17 -2
- package/dist/render/shared.js.map +1 -1
- package/dist/themes.d.ts +29 -0
- package/dist/themes.js +124 -3
- package/dist/themes.js.map +1 -1
- package/dist/tui/preview.js +7 -10
- package/dist/tui/preview.js.map +1 -1
- package/dist/types.d.ts +7 -0
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -11,12 +11,16 @@ Real-time statusline plugin for [Claude Code](https://code.claude.com) and Qwen
|
|
|
11
11
|
## Features
|
|
12
12
|
|
|
13
13
|
- **3-line custom mode** + **1-line minimal mode** (auto-switches at <70 columns)
|
|
14
|
-
- **
|
|
15
|
-
- **
|
|
14
|
+
- **Powerline mode** — opt-in colored segments with 7 separator presets (`arrow`, `flame`, `slant`, `round`, `diamond`, `compatible`, `plain`) across all 3 lines
|
|
15
|
+
- **OSC 8 hyperlinks** — clickable directory (file://) and version (npm) on supported terminals (iTerm2, WezTerm, Kitty, VS Code, Alacritty)
|
|
16
|
+
- **7 built-in themes** — `dracula`, `nord`, `tokyo-night`, `catppuccin`, `monokai`, `gruvbox`, `solarized` with hand-curated powerline palettes
|
|
17
|
+
- **Context bar** with color thresholds (green → yellow → orange → blinking red) and actionable `/compact?` hint at high fill
|
|
18
|
+
- **Git status** with branch, staged/modified/untracked counts (5s TTL cache); branch turns red on dirty repos in powerline mode
|
|
16
19
|
- **Token metrics** — input/output counts, speed (tok/s), cost + burn rate ($/h)
|
|
17
20
|
- **Rate limits** — 5h/7d usage with color warnings and reset countdown
|
|
18
21
|
- **Transcript parsing** — active tools, agents, and todo progress
|
|
19
22
|
- **GSD integration** — current task and update notifications
|
|
23
|
+
- **Config health widget** (opt-in) — surfaces silent fallbacks (theme/powerline in named-ANSI, missing GSD STATE.md)
|
|
20
24
|
- **Memory usage** display
|
|
21
25
|
- **Nerd Font icons** throughout
|
|
22
26
|
- **3-tier color system** — named ANSI, 256-color, truecolor (auto-detected)
|
|
@@ -91,21 +95,38 @@ If installed from source:
|
|
|
91
95
|
my-project | main | Opus 4.6 | ████░░░░░░░░░░░░░░░░ 21% | 131k↑ 25k↓ | $1.31
|
|
92
96
|
```
|
|
93
97
|
|
|
98
|
+
### Powerline Mode (opt-in via `style: "powerline"`)
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
Opus 4.6 main my-project Fix the bug v2.1.92
|
|
102
|
+
████░░░░░░░░░░░░░░░░ 21% 131k↑ 25k↓ $1.31 35m06s
|
|
103
|
+
✓ Read ×3 ✓ Edit ×2 ████████░░ 8/10
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Each segment renders with a distinct background colour drawn from the active theme; segments are separated by a Nerd Font glyph (default ``). On dirty git repos the branch segment turns red. Falls back to classic mode silently in named-ANSI terminals (powerline needs RGB backgrounds). See [Powerline](#powerline) below for the 7 separator styles.
|
|
107
|
+
|
|
94
108
|
## Configuration
|
|
95
109
|
|
|
96
110
|
Create `~/.config/lumira/config.json`:
|
|
97
111
|
|
|
98
112
|
```json
|
|
99
113
|
{
|
|
100
|
-
"
|
|
114
|
+
"preset": "balanced",
|
|
115
|
+
"theme": "tokyo-night",
|
|
116
|
+
"icons": "nerd",
|
|
117
|
+
"style": "classic",
|
|
118
|
+
"powerline": { "style": "auto" },
|
|
101
119
|
"gsd": false,
|
|
120
|
+
"colors": { "mode": "auto" },
|
|
102
121
|
"display": {
|
|
103
122
|
"model": true,
|
|
104
123
|
"branch": true,
|
|
105
124
|
"gitChanges": true,
|
|
106
125
|
"directory": true,
|
|
107
126
|
"contextBar": true,
|
|
127
|
+
"contextTokens": true,
|
|
108
128
|
"tokens": true,
|
|
129
|
+
"cacheMetrics": true,
|
|
109
130
|
"cost": true,
|
|
110
131
|
"burnRate": true,
|
|
111
132
|
"duration": true,
|
|
@@ -113,6 +134,7 @@ Create `~/.config/lumira/config.json`:
|
|
|
113
134
|
"rateLimits": true,
|
|
114
135
|
"tools": true,
|
|
115
136
|
"todos": true,
|
|
137
|
+
"mcp": true,
|
|
116
138
|
"vim": true,
|
|
117
139
|
"effort": true,
|
|
118
140
|
"worktree": true,
|
|
@@ -121,23 +143,58 @@ Create `~/.config/lumira/config.json`:
|
|
|
121
143
|
"style": true,
|
|
122
144
|
"version": true,
|
|
123
145
|
"linesChanged": true,
|
|
124
|
-
"memory": true
|
|
125
|
-
|
|
126
|
-
"colors": {
|
|
127
|
-
"mode": "auto"
|
|
146
|
+
"memory": true,
|
|
147
|
+
"health": false
|
|
128
148
|
}
|
|
129
149
|
}
|
|
130
150
|
```
|
|
131
151
|
|
|
132
|
-
All fields are optional — defaults are shown above.
|
|
152
|
+
All fields are optional — defaults are shown above. `display.health` defaults to `false` (opt-in widget).
|
|
133
153
|
|
|
134
154
|
### CLI Flags
|
|
135
155
|
|
|
136
156
|
```bash
|
|
137
|
-
lumira --minimal
|
|
138
|
-
lumira --balanced
|
|
139
|
-
lumira --full
|
|
140
|
-
lumira --gsd
|
|
157
|
+
lumira --minimal # Force single-line mode
|
|
158
|
+
lumira --balanced # Force balanced preset
|
|
159
|
+
lumira --full # Force full multi-line preset
|
|
160
|
+
lumira --gsd # Enable GSD integration
|
|
161
|
+
lumira --powerline # Enable powerline visual style
|
|
162
|
+
lumira --classic # Force classic (pipe-separated) line 1
|
|
163
|
+
lumira --powerline-style=arrow # Pick separator: arrow|flame|slant|round|diamond|compatible|plain|auto
|
|
164
|
+
lumira --icons=nerd|emoji|none # Override icon set
|
|
165
|
+
lumira --preset=full|balanced|minimal
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
## Powerline
|
|
169
|
+
|
|
170
|
+
`style: "powerline"` (or `--powerline`) renders the statusline with colored segment backgrounds and glyph separators inspired by powerline-go / oh-my-posh. Available separator presets via `powerline.style` (or `--powerline-style=<name>`):
|
|
171
|
+
|
|
172
|
+
| Style | Look |
|
|
173
|
+
|---|---|
|
|
174
|
+
| `arrow` | classic right-pointing triangle separator (default) |
|
|
175
|
+
| `flame` | wavy flame-shaped separator |
|
|
176
|
+
| `slant` | forward-slanting separator |
|
|
177
|
+
| `round` | rounded caps at line ends + thin internal separators |
|
|
178
|
+
| `diamond` | each segment isolated as its own pill with rounded caps |
|
|
179
|
+
| `compatible` | unicode `▶` separator (no Nerd Font required) |
|
|
180
|
+
| `plain` | no separator glyphs — just colored blocks |
|
|
181
|
+
| `auto` | picks `arrow` if Nerd Font icons are configured, else `compatible` |
|
|
182
|
+
|
|
183
|
+
### Themes
|
|
184
|
+
|
|
185
|
+
Pick one of the 7 built-in themes via `theme: "<name>"` in config or during `lumira install`:
|
|
186
|
+
|
|
187
|
+
`dracula` · `nord` · `tokyo-night` · `catppuccin` · `monokai` · `gruvbox` · `solarized`
|
|
188
|
+
|
|
189
|
+
Each theme ships with a hand-curated **powerline palette** (per-segment background colors) that meets WCAG AA contrast for white foreground. Themes apply in truecolor and 256-color terminals; named-ANSI terminals fall back to default colors (8 base hues can't represent arbitrary palettes).
|
|
190
|
+
|
|
191
|
+
### Hyperlinks (OSC 8)
|
|
192
|
+
|
|
193
|
+
The directory on line 1 becomes a clickable `file://` link, and the version tag links to its npm release page on terminals that support [OSC 8](https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda) (iTerm2, WezTerm, Kitty, Alacritty, VS Code terminal, tmux ≥3.4 with passthrough). Other terminals show plain text. Auto-disabled in `Apple_Terminal` (which leaks markers) and `TERM=dumb`.
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
NO_HYPERLINKS=1 claude # disable
|
|
197
|
+
FORCE_HYPERLINK=1 claude # force-enable (overrides denylist)
|
|
141
198
|
```
|
|
142
199
|
|
|
143
200
|
### Qwen Code
|
package/dist/config.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { type HudConfig } from './types.js';
|
|
|
2
2
|
/** Test-only — resets the process-scoped qwenWarningShown flag. Do not call in production. */
|
|
3
3
|
export declare function _resetMigrationFlags(): void;
|
|
4
4
|
export declare function loadConfig(configDir?: string): HudConfig;
|
|
5
|
+
export declare function applyPreset(r: HudConfig, preset: NonNullable<HudConfig['preset']>): void;
|
|
5
6
|
export declare function mergeCliFlags(config: HudConfig, argv: string[]): HudConfig;
|
|
6
7
|
export interface WizardResult {
|
|
7
8
|
preset: 'full' | 'balanced' | 'minimal';
|
package/dist/config.js
CHANGED
|
@@ -53,6 +53,15 @@ function mergeConfig(rawIn) {
|
|
|
53
53
|
const validIcons = ['nerd', 'emoji', 'none'];
|
|
54
54
|
if (validIcons.includes(raw.icons))
|
|
55
55
|
result.icons = raw.icons;
|
|
56
|
+
if (raw.style === 'classic' || raw.style === 'powerline')
|
|
57
|
+
result.style = raw.style;
|
|
58
|
+
if (raw.powerline && typeof raw.powerline === 'object') {
|
|
59
|
+
const plRaw = raw.powerline;
|
|
60
|
+
const validPlStyles = ['arrow', 'flame', 'slant', 'round', 'diamond', 'compatible', 'plain', 'auto'];
|
|
61
|
+
if (validPlStyles.includes(plRaw.style)) {
|
|
62
|
+
result.powerline = { style: plRaw.style };
|
|
63
|
+
}
|
|
64
|
+
}
|
|
56
65
|
return result;
|
|
57
66
|
}
|
|
58
67
|
const PRESET_DEFS = {
|
|
@@ -100,7 +109,7 @@ const PRESET_DEFS = {
|
|
|
100
109
|
},
|
|
101
110
|
},
|
|
102
111
|
};
|
|
103
|
-
function applyPreset(r, preset) {
|
|
112
|
+
export function applyPreset(r, preset) {
|
|
104
113
|
const def = PRESET_DEFS[preset];
|
|
105
114
|
r.preset = preset;
|
|
106
115
|
r.layout = def.layout;
|
|
@@ -119,6 +128,10 @@ export function mergeCliFlags(config, argv) {
|
|
|
119
128
|
applyPreset(r, 'balanced');
|
|
120
129
|
if (argv.includes('--full'))
|
|
121
130
|
applyPreset(r, 'full');
|
|
131
|
+
if (argv.includes('--powerline'))
|
|
132
|
+
r.style = 'powerline';
|
|
133
|
+
if (argv.includes('--classic'))
|
|
134
|
+
r.style = 'classic';
|
|
122
135
|
for (const arg of argv) {
|
|
123
136
|
const presetMatch = arg.match(/^--preset[= ]?(full|balanced|minimal)$/);
|
|
124
137
|
if (presetMatch) {
|
|
@@ -130,6 +143,12 @@ export function mergeCliFlags(config, argv) {
|
|
|
130
143
|
r.icons = iconsMatch[1];
|
|
131
144
|
continue;
|
|
132
145
|
}
|
|
146
|
+
const plStyleMatch = arg.match(/^--powerline-style[= ](arrow|flame|slant|round|diamond|compatible|plain|auto)$/);
|
|
147
|
+
if (plStyleMatch) {
|
|
148
|
+
r.style = 'powerline';
|
|
149
|
+
r.powerline = { ...(r.powerline ?? {}), style: plStyleMatch[1] };
|
|
150
|
+
continue;
|
|
151
|
+
}
|
|
133
152
|
}
|
|
134
153
|
return r;
|
|
135
154
|
}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { HudConfig } from '../types.js';
|
|
2
|
+
import type { ColorMode } from '../render/colors.js';
|
|
3
|
+
export type HealthSeverity = 'warn' | 'info';
|
|
4
|
+
export interface HealthHint {
|
|
5
|
+
severity: HealthSeverity;
|
|
6
|
+
hint: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function getConfigHealth(config: HudConfig, colorMode: ColorMode, cwd: string): HealthHint[];
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { dirname, join } from 'node:path';
|
|
3
|
+
export function getConfigHealth(config, colorMode, cwd) {
|
|
4
|
+
const hints = [];
|
|
5
|
+
// Theme set but named-ANSI mode can't render RGB colors
|
|
6
|
+
if (config.theme && colorMode === 'named') {
|
|
7
|
+
hints.push({ severity: 'warn', hint: 'theme has no effect in named-ANSI mode' });
|
|
8
|
+
}
|
|
9
|
+
// Powerline requested but named-ANSI can't render RGB backgrounds
|
|
10
|
+
if (config.style === 'powerline' && colorMode === 'named') {
|
|
11
|
+
hints.push({ severity: 'warn', hint: 'powerline falling back to classic (named-ANSI)' });
|
|
12
|
+
}
|
|
13
|
+
// GSD enabled but no STATE.md found walking up from cwd.
|
|
14
|
+
// Use `dirname` (resolves), not `join(dir, '..')` (which appends literal `..`
|
|
15
|
+
// and never reaches root — so the equality break never fires and the loop
|
|
16
|
+
// would silently bail at the iteration cap on deeply-nested projects).
|
|
17
|
+
if (config.gsd && cwd) {
|
|
18
|
+
let found = false;
|
|
19
|
+
let dir = cwd;
|
|
20
|
+
for (let i = 0; i < 32; i++) {
|
|
21
|
+
if (existsSync(join(dir, '.planning', 'STATE.md'))) {
|
|
22
|
+
found = true;
|
|
23
|
+
break;
|
|
24
|
+
}
|
|
25
|
+
const parent = dirname(dir);
|
|
26
|
+
if (parent === dir)
|
|
27
|
+
break;
|
|
28
|
+
dir = parent;
|
|
29
|
+
}
|
|
30
|
+
if (!found)
|
|
31
|
+
hints.push({ severity: 'info', hint: 'GSD on but no .planning/STATE.md found' });
|
|
32
|
+
}
|
|
33
|
+
return hints;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=config-health.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-health.js","sourceRoot":"","sources":["../../src/parsers/config-health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAW1C,MAAM,UAAU,eAAe,CAAC,MAAiB,EAAE,SAAoB,EAAE,GAAW;IAClF,MAAM,KAAK,GAAiB,EAAE,CAAC;IAE/B,wDAAwD;IACxD,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,wCAAwC,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,kEAAkE;IAClE,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,gDAAgD,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,yDAAyD;IACzD,8EAA8E;IAC9E,0EAA0E;IAC1E,uEAAuE;IACvE,IAAI,MAAM,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,GAAG,GAAG,GAAG,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;gBAAC,KAAK,GAAG,IAAI,CAAC;gBAAC,MAAM;YAAC,CAAC;YAC5E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,MAAM,KAAK,GAAG;gBAAE,MAAM;YAC1B,GAAG,GAAG,MAAM,CAAC;QACf,CAAC;QACD,IAAI,CAAC,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,wCAAwC,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/dist/render/colors.js
CHANGED
|
@@ -45,7 +45,10 @@ export function createColors(mode, theme) {
|
|
|
45
45
|
return named;
|
|
46
46
|
}
|
|
47
47
|
export function stripAnsi(str) {
|
|
48
|
-
|
|
48
|
+
// OSC sequences terminate with either BEL (\x07) or ST (\x1b\\). OSC 8
|
|
49
|
+
// hyperlinks use ST, so both terminators must be matched — otherwise the
|
|
50
|
+
// URL and the wrapping markers leak into displayWidth() calculations.
|
|
51
|
+
return str.replace(/\x1b\[\??[0-9;]*[a-zA-Z]|\x1b\][\s\S]*?(?:\x07|\x1b\\)|\x1b[()][AB012]/g, '');
|
|
49
52
|
}
|
|
50
53
|
export function detectColorMode() {
|
|
51
54
|
const colorterm = (process.env['COLORTERM'] ?? '').toLowerCase();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/render/colors.ts"],"names":[],"mappings":"AAGA,MAAM,GAAG,GAAG,SAAS,CAAC;AAgBtB,MAAM,UAAU,YAAY,CAAC,IAAe,EAAE,KAAkD;IAC9F,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;IAElE,iFAAiF;IACjF,yDAAyD;IACzD,mEAAmE;IACnE,MAAM,KAAK,GAAW;QACpB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC;QACjD,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC;QACjD,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC;QACrD,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;QACpD,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;KAC1E,CAAC;IAEF,mEAAmE;IACnE,6EAA6E;IAC7E,0EAA0E;IAC1E,2EAA2E;IAC3E,yEAAyE;IACzE,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QACtD,OAAO;YACL,GAAG,KAAK;YACR,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YACpD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YACpD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YAChD,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;SAC3D,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,OAAO;YACL,GAAG,KAAK;YACR,IAAI,EAAE,IAAI,CAAC,sBAAsB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC;YACzE,MAAM,EAAE,IAAI,CAAC,sBAAsB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC;YACvE,MAAM,EAAE,IAAI,CAAC,sBAAsB,CAAC;YACpC,UAAU,EAAE,IAAI,CAAC,wBAAwB,CAAC;SAC3C,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO;YACL,GAAG,KAAK;YACR,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC;YAC5D,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC;YAC5D,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC;SACnC,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,OAAO,GAAG,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/render/colors.ts"],"names":[],"mappings":"AAGA,MAAM,GAAG,GAAG,SAAS,CAAC;AAgBtB,MAAM,UAAU,YAAY,CAAC,IAAe,EAAE,KAAkD;IAC9F,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;IAElE,iFAAiF;IACjF,yDAAyD;IACzD,mEAAmE;IACnE,MAAM,KAAK,GAAW;QACpB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC;QACjD,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC;QACjD,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC;QACrD,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;QACpD,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;KAC1E,CAAC;IAEF,mEAAmE;IACnE,6EAA6E;IAC7E,0EAA0E;IAC1E,2EAA2E;IAC3E,yEAAyE;IACzE,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QACtD,OAAO;YACL,GAAG,KAAK;YACR,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YACpD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YACpD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YAChD,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;SAC3D,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,OAAO;YACL,GAAG,KAAK;YACR,IAAI,EAAE,IAAI,CAAC,sBAAsB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC;YACzE,MAAM,EAAE,IAAI,CAAC,sBAAsB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC;YACvE,MAAM,EAAE,IAAI,CAAC,sBAAsB,CAAC;YACpC,UAAU,EAAE,IAAI,CAAC,wBAAwB,CAAC;SAC3C,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO;YACL,GAAG,KAAK;YACR,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC;YAC5D,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC;YAC5D,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC;SACnC,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,uEAAuE;IACvE,yEAAyE;IACzE,sEAAsE;IACtE,OAAO,GAAG,CAAC,OAAO,CAAC,yEAAyE,EAAE,EAAE,CAAC,CAAC;AACpG,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACjE,IAAI,SAAS,KAAK,WAAW,IAAI,SAAS,KAAK,OAAO;QAAE,OAAO,WAAW,CAAC;IAC3E,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IACtD,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,WAAW,KAAK,WAAW,IAAI,WAAW,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACvG,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,IAAI,GAAG,GAAG,EAAE;QAAE,OAAO,OAAO,CAAC;IAC7B,IAAI,GAAG,GAAG,EAAE;QAAE,OAAO,QAAQ,CAAC;IAC9B,IAAI,GAAG,GAAG,EAAE;QAAE,OAAO,QAAQ,CAAC;IAC9B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,IAAI,GAAG,GAAG,EAAE;QAAE,OAAO,OAAO,CAAC;IAC7B,IAAI,GAAG,GAAG,EAAE;QAAE,OAAO,QAAQ,CAAC;IAC9B,IAAI,GAAG,GAAG,EAAE;QAAE,OAAO,QAAQ,CAAC;IAC9B,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// OSC 8 hyperlink support.
|
|
2
|
+
// Sequence: ESC ] 8 ; ; URL ST TEXT ESC ] 8 ; ; ST (ST = ESC \)
|
|
3
|
+
// Terminals that don't support it render only TEXT; the wrappers are ignored.
|
|
4
|
+
let cached = null;
|
|
5
|
+
export function resetHyperlinkSupport() {
|
|
6
|
+
cached = null;
|
|
7
|
+
}
|
|
8
|
+
// Exposed for tests; prod code should call supportsHyperlinks().
|
|
9
|
+
export function _setHyperlinkSupport(v) {
|
|
10
|
+
cached = v;
|
|
11
|
+
}
|
|
12
|
+
export function supportsHyperlinks() {
|
|
13
|
+
if (cached !== null)
|
|
14
|
+
return cached;
|
|
15
|
+
// Explicit opt-out (widely-recognised convention).
|
|
16
|
+
if (process.env['NO_HYPERLINKS'] || process.env['FORCE_HYPERLINK'] === '0') {
|
|
17
|
+
return (cached = false);
|
|
18
|
+
}
|
|
19
|
+
// Explicit opt-in bypasses all heuristics.
|
|
20
|
+
if (process.env['FORCE_HYPERLINK'] && process.env['FORCE_HYPERLINK'] !== '0') {
|
|
21
|
+
return (cached = true);
|
|
22
|
+
}
|
|
23
|
+
const term = process.env['TERM'] ?? '';
|
|
24
|
+
if (term === 'dumb')
|
|
25
|
+
return (cached = false);
|
|
26
|
+
// Apple Terminal ignores OSC 8 but doesn't strip it — link markers leak as text.
|
|
27
|
+
const termProgram = process.env['TERM_PROGRAM'] ?? '';
|
|
28
|
+
if (termProgram === 'Apple_Terminal')
|
|
29
|
+
return (cached = false);
|
|
30
|
+
// Statusline output is piped by Claude Code, so process.stdout.isTTY is false
|
|
31
|
+
// even in a real terminal. Rather than infer from our own stdout, we trust
|
|
32
|
+
// the TERM/TERM_PROGRAM hints above and emit by default — modern terminals
|
|
33
|
+
// (iTerm2, WezTerm, Kitty, Alacritty, VS Code, tmux ≥3.4 with passthrough)
|
|
34
|
+
// all support OSC 8, and unsupported ones merely render plain text.
|
|
35
|
+
return (cached = true);
|
|
36
|
+
}
|
|
37
|
+
export function hyperlink(url, text) {
|
|
38
|
+
if (!supportsHyperlinks())
|
|
39
|
+
return text;
|
|
40
|
+
return `\x1b]8;;${url}\x1b\\${text}\x1b]8;;\x1b\\`;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=hyperlink.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hyperlink.js","sourceRoot":"","sources":["../../src/render/hyperlink.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,iEAAiE;AACjE,8EAA8E;AAE9E,IAAI,MAAM,GAAmB,IAAI,CAAC;AAElC,MAAM,UAAU,qBAAqB;IACnC,MAAM,GAAG,IAAI,CAAC;AAChB,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,oBAAoB,CAAC,CAAiB;IACpD,MAAM,GAAG,CAAC,CAAC;AACb,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAEnC,mDAAmD;IACnD,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,GAAG,EAAE,CAAC;QAC3E,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,2CAA2C;IAC3C,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,GAAG,EAAE,CAAC;QAC7E,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACvC,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;IAE7C,iFAAiF;IACjF,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IACtD,IAAI,WAAW,KAAK,gBAAgB;QAAE,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;IAE9D,8EAA8E;IAC9E,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,oEAAoE;IACpE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAW,EAAE,IAAY;IACjD,IAAI,CAAC,kBAAkB,EAAE;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,WAAW,GAAG,SAAS,IAAI,gBAAgB,CAAC;AACrD,CAAC"}
|
package/dist/render/index.js
CHANGED
|
@@ -4,6 +4,9 @@ import { renderLine2 } from './line2.js';
|
|
|
4
4
|
import { renderLine3 } from './line3.js';
|
|
5
5
|
import { renderLine4 } from './line4.js';
|
|
6
6
|
import { renderMinimal } from './minimal.js';
|
|
7
|
+
import { renderPowerlineLine1 } from './powerline-line1.js';
|
|
8
|
+
import { renderPowerlineLine2 } from './powerline-line2.js';
|
|
9
|
+
import { renderPowerlineLine3 } from './powerline-line3.js';
|
|
7
10
|
import { resolveTheme } from '../themes.js';
|
|
8
11
|
export function render(ctx) {
|
|
9
12
|
const colorMode = ctx.config.colors.mode === 'auto' ? detectColorMode() : ctx.config.colors.mode;
|
|
@@ -13,10 +16,13 @@ export function render(ctx) {
|
|
|
13
16
|
if (isQwen || ctx.config.layout === 'singleline' || (ctx.config.layout === 'auto' && ctx.cols < 70)) {
|
|
14
17
|
return renderMinimal(ctx, c);
|
|
15
18
|
}
|
|
19
|
+
// Powerline mode requires RGB bg escapes; named-ANSI terminals can't
|
|
20
|
+
// represent arbitrary backgrounds faithfully, so fall back to classic renderers.
|
|
21
|
+
const wantsPowerline = ctx.config.style === 'powerline' && colorMode !== 'named';
|
|
16
22
|
const lines = [];
|
|
17
|
-
lines.push(renderLine1(ctx, c));
|
|
18
|
-
lines.push(renderLine2(ctx, c));
|
|
19
|
-
const l3 = renderLine3(ctx, c);
|
|
23
|
+
lines.push(wantsPowerline ? renderPowerlineLine1(ctx, colorMode, theme) : renderLine1(ctx, c));
|
|
24
|
+
lines.push(wantsPowerline ? renderPowerlineLine2(ctx, colorMode, theme, c) : renderLine2(ctx, c));
|
|
25
|
+
const l3 = wantsPowerline ? renderPowerlineLine3(ctx, colorMode, theme) : renderLine3(ctx, c);
|
|
20
26
|
if (l3)
|
|
21
27
|
lines.push(l3);
|
|
22
28
|
if (ctx.config.gsd) {
|
package/dist/render/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/render/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAkB,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,MAAM,UAAU,MAAM,CAAC,GAAkB;IACvC,MAAM,SAAS,GAAc,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAC5G,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACxD,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAEzC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,WAAW,CAAC;IAClD,IAAI,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,YAAY,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC;QACpG,OAAO,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/render/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAkB,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,MAAM,UAAU,MAAM,CAAC,GAAkB;IACvC,MAAM,SAAS,GAAc,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAC5G,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACxD,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAEzC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,WAAW,CAAC;IAClD,IAAI,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,YAAY,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC;QACpG,OAAO,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,qEAAqE;IACrE,iFAAiF;IACjF,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,WAAW,IAAI,SAAS,KAAK,OAAO,CAAC;IAEjF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/F,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAClG,MAAM,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC9F,IAAI,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAAC,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAAC,IAAI,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAAC,CAAC;IAC/E,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC"}
|
package/dist/render/line1.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { basename } from 'node:path';
|
|
2
|
+
import { pathToFileURL } from 'node:url';
|
|
2
3
|
import { fitSegments, truncField } from './text.js';
|
|
3
4
|
import { getModelName, formatGitChanges, SEP } from './shared.js';
|
|
5
|
+
import { hyperlink } from './hyperlink.js';
|
|
4
6
|
function getActiveTodo(transcript) {
|
|
5
7
|
const inProgress = transcript.todos.filter(t => t.status === 'in_progress');
|
|
6
8
|
return inProgress[0]?.content;
|
|
@@ -34,7 +36,11 @@ export function renderLine1(ctx, c) {
|
|
|
34
36
|
if (cwd) {
|
|
35
37
|
const dirName = basename(cwd) || cwd;
|
|
36
38
|
const dirLen = cols < 80 ? 12 : cols < 120 ? 20 : 30;
|
|
37
|
-
|
|
39
|
+
const label = c.brightBlue(`${icons.folder} ${truncField(dirName, dirLen)}`);
|
|
40
|
+
// Wrap with OSC 8 so terminals that support it turn the directory into a
|
|
41
|
+
// clickable file:// link. pathToFileURL handles percent-encoding of
|
|
42
|
+
// spaces and non-ASCII chars correctly.
|
|
43
|
+
left.push(hyperlink(pathToFileURL(cwd).href, label));
|
|
38
44
|
}
|
|
39
45
|
}
|
|
40
46
|
// Lines changed (right side)
|
|
@@ -66,9 +72,9 @@ export function renderLine1(ctx, c) {
|
|
|
66
72
|
if (display.style && input.outputStyle) {
|
|
67
73
|
right.push(c.gray(input.outputStyle));
|
|
68
74
|
}
|
|
69
|
-
// Version
|
|
75
|
+
// Version — link to the Claude Code npm page for quick changelog lookup.
|
|
70
76
|
if (display.version && input.version) {
|
|
71
|
-
right.push(c.dim(`v${input.version}`));
|
|
77
|
+
right.push(hyperlink(`https://www.npmjs.com/package/@anthropic-ai/claude-code/v/${encodeURIComponent(input.version)}`, c.dim(`v${input.version}`)));
|
|
72
78
|
}
|
|
73
79
|
if (left.length === 0 && right.length === 0)
|
|
74
80
|
return '';
|
package/dist/render/line1.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"line1.js","sourceRoot":"","sources":["../../src/render/line1.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"line1.js","sourceRoot":"","sources":["../../src/render/line1.ts"],"names":[],"mappings":"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"}
|
package/dist/render/line2.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { padLine } from './text.js';
|
|
2
|
-
import { getQuotaColor } from './colors.js';
|
|
1
|
+
import { padLine, displayWidth } from './text.js';
|
|
2
|
+
import { getQuotaColor, detectColorMode } from './colors.js';
|
|
3
3
|
import { buildContextBar, formatQwenMetrics, SEP } from './shared.js';
|
|
4
4
|
import { formatTokens, formatDuration, formatCost, formatBurnRate } from '../utils/format.js';
|
|
5
|
+
import { getConfigHealth } from '../parsers/config-health.js';
|
|
5
6
|
export function formatCountdown(resetsAt) {
|
|
6
7
|
const resetsAtMs = resetsAt < 1e12 ? resetsAt * 1000 : resetsAt;
|
|
7
8
|
const diffMs = resetsAtMs - Date.now();
|
|
@@ -116,6 +117,29 @@ export function renderLine2(ctx, c) {
|
|
|
116
117
|
if (display.effort && thinkingEffort && thinkingEffort !== 'medium') {
|
|
117
118
|
rightParts.push(c.dim(`^${thinkingEffort}`));
|
|
118
119
|
}
|
|
120
|
+
// Config health hints (opt-in, default off). Sit on the right side as
|
|
121
|
+
// auxiliary signals next to vim/effort, and are dropped silently when the
|
|
122
|
+
// projected line width would overflow `cols` — they are advisory, never
|
|
123
|
+
// critical, so quietly hiding them on narrow terminals is preferable to
|
|
124
|
+
// wrapping the statusline.
|
|
125
|
+
if (display.health && input.cwd) {
|
|
126
|
+
const colorMode = ctx.config.colors.mode === 'auto' ? detectColorMode() : ctx.config.colors.mode;
|
|
127
|
+
const hints = getConfigHealth(ctx.config, colorMode, input.cwd);
|
|
128
|
+
if (hints.length > 0) {
|
|
129
|
+
const candidates = hints.map(h => h.severity === 'warn' ? c.yellow(`⚠ ${h.hint}`) : c.dim(`ℹ ${h.hint}`));
|
|
130
|
+
const leftW = displayWidth(leftParts.join(SEP));
|
|
131
|
+
const currentRightW = rightParts.length ? displayWidth(rightParts.join(' ')) : 0;
|
|
132
|
+
// +1 per added hint accounts for the joining space.
|
|
133
|
+
let projectedW = leftW + (currentRightW > 0 ? 1 : 0) + currentRightW;
|
|
134
|
+
for (const h of candidates) {
|
|
135
|
+
const addW = displayWidth(h) + 1;
|
|
136
|
+
if (projectedW + addW > cols)
|
|
137
|
+
break;
|
|
138
|
+
rightParts.push(h);
|
|
139
|
+
projectedW += addW;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
119
143
|
const leftStr = leftParts.join(SEP);
|
|
120
144
|
if (rightParts.length === 0)
|
|
121
145
|
return leftStr;
|
package/dist/render/line2.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"line2.js","sourceRoot":"","sources":["../../src/render/line2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"line2.js","sourceRoot":"","sources":["../../src/render/line2.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ColorMode } from './colors.js';
|
|
2
|
+
import type { RenderContext } from '../types.js';
|
|
3
|
+
import { type ThemePalette } from '../themes.js';
|
|
4
|
+
/** Render line1 in powerline style. Caller must ensure mode != 'named'. */
|
|
5
|
+
export declare function renderPowerlineLine1(ctx: RenderContext, mode: ColorMode, theme: ThemePalette | null): string;
|