@orbitpanel/cli 0.8.1 → 0.8.2
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/dist/lib/status-bar.js +17 -20
- package/dist/lib/status-bar.js.map +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +1 -1
package/dist/lib/status-bar.js
CHANGED
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
import chalk from 'chalk';
|
|
16
16
|
// ANSI escape helpers (no dependencies)
|
|
17
17
|
const ESC = '\x1b[';
|
|
18
|
-
const
|
|
19
|
-
const
|
|
18
|
+
const DEC_SAVE = '\x1b7'; // DEC save cursor (survives scroll region changes)
|
|
19
|
+
const DEC_RESTORE = '\x1b8'; // DEC restore cursor
|
|
20
20
|
const clearLine = `${ESC}2K`;
|
|
21
21
|
const resetScrollRegion = `${ESC}r`;
|
|
22
22
|
function moveTo(row, col) {
|
|
@@ -26,12 +26,8 @@ function setScrollRegion(top, bottom) {
|
|
|
26
26
|
return `${ESC}${top};${bottom}r`;
|
|
27
27
|
}
|
|
28
28
|
// Colors
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
const YELLOW = chalk.hex('#EAB308');
|
|
32
|
-
const DIM = chalk.dim;
|
|
33
|
-
const BG = chalk.bgHex('#1E293B').hex('#94A3B8'); // dark bg, light text
|
|
34
|
-
const BG_ACCENT = chalk.bgHex('#1E293B').hex('#60A5FA'); // dark bg, blue text
|
|
29
|
+
const BG = chalk.bgHex('#1E293B').hex('#94A3B8');
|
|
30
|
+
const BG_ACCENT = chalk.bgHex('#1E293B').hex('#60A5FA');
|
|
35
31
|
const BG_GREEN = chalk.bgHex('#1E293B').hex('#22C55E');
|
|
36
32
|
const BG_YELLOW = chalk.bgHex('#1E293B').hex('#EAB308');
|
|
37
33
|
const BG_DIM = chalk.bgHex('#1E293B').dim;
|
|
@@ -110,23 +106,24 @@ export class StatusBar {
|
|
|
110
106
|
this.cols = process.stdout.columns ?? 80;
|
|
111
107
|
this.lastState = state;
|
|
112
108
|
this.active = true;
|
|
109
|
+
// DEC save cursor — survives scroll region changes (unlike CSI \x1b[s)
|
|
110
|
+
process.stdout.write(DEC_SAVE);
|
|
113
111
|
// Set scroll region to exclude last row
|
|
114
112
|
process.stdout.write(setScrollRegion(1, this.rows - 1));
|
|
115
|
-
// Draw the bar on the last row
|
|
113
|
+
// Draw the bar on the last row (outside scroll region)
|
|
116
114
|
this.drawBar(state);
|
|
117
|
-
//
|
|
118
|
-
process.stdout.write(
|
|
115
|
+
// DEC restore cursor — back to where we were before init
|
|
116
|
+
process.stdout.write(DEC_RESTORE);
|
|
119
117
|
// Handle terminal resize
|
|
120
118
|
this.resizeHandler = () => {
|
|
121
119
|
if (!this.active)
|
|
122
120
|
return;
|
|
123
121
|
this.rows = process.stdout.rows ?? 24;
|
|
124
122
|
this.cols = process.stdout.columns ?? 80;
|
|
125
|
-
|
|
126
|
-
process.stdout.write(saveCursor);
|
|
123
|
+
process.stdout.write(DEC_SAVE);
|
|
127
124
|
process.stdout.write(setScrollRegion(1, this.rows - 1));
|
|
128
125
|
this.drawBar(this.lastState ?? state);
|
|
129
|
-
process.stdout.write(
|
|
126
|
+
process.stdout.write(DEC_RESTORE);
|
|
130
127
|
};
|
|
131
128
|
process.stdout.on('resize', this.resizeHandler);
|
|
132
129
|
}
|
|
@@ -137,9 +134,9 @@ export class StatusBar {
|
|
|
137
134
|
if (!this.active)
|
|
138
135
|
return;
|
|
139
136
|
this.lastState = state;
|
|
140
|
-
process.stdout.write(
|
|
137
|
+
process.stdout.write(DEC_SAVE);
|
|
141
138
|
this.drawBar(state);
|
|
142
|
-
process.stdout.write(
|
|
139
|
+
process.stdout.write(DEC_RESTORE);
|
|
143
140
|
}
|
|
144
141
|
/**
|
|
145
142
|
* Restore scroll region and clean up after /clear or similar.
|
|
@@ -150,10 +147,10 @@ export class StatusBar {
|
|
|
150
147
|
return;
|
|
151
148
|
this.rows = process.stdout.rows ?? 24;
|
|
152
149
|
this.cols = process.stdout.columns ?? 80;
|
|
150
|
+
process.stdout.write(DEC_SAVE);
|
|
153
151
|
process.stdout.write(setScrollRegion(1, this.rows - 1));
|
|
154
152
|
this.drawBar(this.lastState);
|
|
155
|
-
|
|
156
|
-
process.stdout.write(moveTo(this.rows - 1, 1));
|
|
153
|
+
process.stdout.write(DEC_RESTORE);
|
|
157
154
|
}
|
|
158
155
|
/**
|
|
159
156
|
* Destroy the status bar. Reset scroll region, remove event listeners.
|
|
@@ -165,10 +162,10 @@ export class StatusBar {
|
|
|
165
162
|
// Reset scroll region to full terminal
|
|
166
163
|
process.stdout.write(resetScrollRegion);
|
|
167
164
|
// Clear the status bar line
|
|
168
|
-
process.stdout.write(
|
|
165
|
+
process.stdout.write(DEC_SAVE);
|
|
169
166
|
process.stdout.write(moveTo(this.rows, 1));
|
|
170
167
|
process.stdout.write(clearLine);
|
|
171
|
-
process.stdout.write(
|
|
168
|
+
process.stdout.write(DEC_RESTORE);
|
|
172
169
|
// Remove resize listener
|
|
173
170
|
if (this.resizeHandler) {
|
|
174
171
|
process.stdout.removeListener('resize', this.resizeHandler);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-bar.js","sourceRoot":"","sources":["../../src/lib/status-bar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,wCAAwC;AACxC,MAAM,GAAG,GAAG,OAAO,CAAC;AACpB,MAAM,
|
|
1
|
+
{"version":3,"file":"status-bar.js","sourceRoot":"","sources":["../../src/lib/status-bar.ts"],"names":[],"mappings":"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"}
|
package/oclif.manifest.json
CHANGED