@peteanderson/ansi 2.3.1 → 3.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 +16 -12
- package/dist/cjs/ansi.d.ts +13 -11
- package/dist/cjs/ansi.d.ts.map +1 -1
- package/dist/cjs/ansi.js +7 -4
- package/dist/cjs/ansi.js.map +1 -1
- package/dist/cjs/cursor.d.ts +30 -0
- package/dist/cjs/cursor.d.ts.map +1 -0
- package/dist/cjs/cursor.js +70 -0
- package/dist/cjs/cursor.js.map +1 -0
- package/dist/cjs/erase.d.ts.map +1 -1
- package/dist/cjs/erase.js +8 -7
- package/dist/cjs/erase.js.map +1 -1
- package/dist/cjs/features/build.d.ts +1 -1
- package/dist/cjs/features/build.d.ts.map +1 -1
- package/dist/cjs/features/build.js +4 -4
- package/dist/cjs/features/build.js.map +1 -1
- package/dist/cjs/features/detect.js +1 -1
- package/dist/cjs/features/detect.js.map +1 -1
- package/dist/cjs/features/features.js +4 -4
- package/dist/cjs/features/features.js.map +1 -1
- package/dist/cjs/features/types.d.ts +1 -1
- package/dist/cjs/features/types.d.ts.map +1 -1
- package/dist/cjs/index.d.ts +12 -10
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/scroll.d.ts +2 -2
- package/dist/cjs/scroll.d.ts.map +1 -1
- package/dist/cjs/scroll.js +5 -4
- package/dist/cjs/scroll.js.map +1 -1
- package/dist/cjs/sgr/color/channel.d.ts.map +1 -1
- package/dist/cjs/sgr/color/channel.js +2 -1
- package/dist/cjs/sgr/color/channel.js.map +1 -1
- package/dist/cjs/sgr/format-builder.d.ts.map +1 -1
- package/dist/cjs/sgr/format-builder.js +3 -2
- package/dist/cjs/sgr/format-builder.js.map +1 -1
- package/dist/cjs/sgr/reset.d.ts.map +1 -1
- package/dist/cjs/sgr/reset.js +2 -1
- package/dist/cjs/sgr/reset.js.map +1 -1
- package/dist/cjs/simplify/simplify.d.ts.map +1 -1
- package/dist/cjs/simplify/simplify.js +2 -1
- package/dist/cjs/simplify/simplify.js.map +1 -1
- package/dist/cjs/slice.d.ts +4 -0
- package/dist/cjs/slice.d.ts.map +1 -1
- package/dist/cjs/slice.js +1 -0
- package/dist/cjs/slice.js.map +1 -1
- package/dist/cjs/split-at.d.ts +12 -0
- package/dist/cjs/split-at.d.ts.map +1 -0
- package/dist/cjs/split-at.js +26 -0
- package/dist/cjs/split-at.js.map +1 -0
- package/dist/cjs/terminal.d.ts.map +1 -1
- package/dist/cjs/terminal.js +13 -12
- package/dist/cjs/terminal.js.map +1 -1
- package/dist/cjs/types.d.ts +4 -2
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/utils.d.ts +5 -0
- package/dist/cjs/utils.d.ts.map +1 -0
- package/dist/cjs/utils.js +14 -0
- package/dist/cjs/utils.js.map +1 -0
- package/dist/esm/ansi.d.ts +13 -11
- package/dist/esm/ansi.d.ts.map +1 -1
- package/dist/esm/ansi.js +6 -4
- package/dist/esm/ansi.js.map +1 -1
- package/dist/esm/cursor.d.ts +30 -0
- package/dist/esm/cursor.d.ts.map +1 -0
- package/dist/esm/{caret.js → cursor.js} +21 -19
- package/dist/esm/cursor.js.map +1 -0
- package/dist/esm/erase.d.ts.map +1 -1
- package/dist/esm/erase.js +8 -7
- package/dist/esm/erase.js.map +1 -1
- package/dist/esm/features/build.d.ts +1 -1
- package/dist/esm/features/build.d.ts.map +1 -1
- package/dist/esm/features/build.js +4 -4
- package/dist/esm/features/build.js.map +1 -1
- package/dist/esm/features/detect.js +1 -1
- package/dist/esm/features/detect.js.map +1 -1
- package/dist/esm/features/features.js +4 -4
- package/dist/esm/features/features.js.map +1 -1
- package/dist/esm/features/types.d.ts +1 -1
- package/dist/esm/features/types.d.ts.map +1 -1
- package/dist/esm/scroll.d.ts +2 -2
- package/dist/esm/scroll.d.ts.map +1 -1
- package/dist/esm/scroll.js +5 -4
- package/dist/esm/scroll.js.map +1 -1
- package/dist/esm/sgr/color/channel.d.ts.map +1 -1
- package/dist/esm/sgr/color/channel.js +2 -1
- package/dist/esm/sgr/color/channel.js.map +1 -1
- package/dist/esm/sgr/format-builder.d.ts.map +1 -1
- package/dist/esm/sgr/format-builder.js +3 -2
- package/dist/esm/sgr/format-builder.js.map +1 -1
- package/dist/esm/sgr/reset.d.ts.map +1 -1
- package/dist/esm/sgr/reset.js +2 -1
- package/dist/esm/sgr/reset.js.map +1 -1
- package/dist/esm/simplify/simplify.d.ts.map +1 -1
- package/dist/esm/simplify/simplify.js +2 -1
- package/dist/esm/simplify/simplify.js.map +1 -1
- package/dist/esm/slice.d.ts +4 -0
- package/dist/esm/slice.d.ts.map +1 -1
- package/dist/esm/slice.js +1 -1
- package/dist/esm/slice.js.map +1 -1
- package/dist/esm/split-at.d.ts +12 -0
- package/dist/esm/split-at.d.ts.map +1 -0
- package/dist/esm/split-at.js +23 -0
- package/dist/esm/split-at.js.map +1 -0
- package/dist/esm/terminal.d.ts.map +1 -1
- package/dist/esm/terminal.js +13 -12
- package/dist/esm/terminal.js.map +1 -1
- package/dist/esm/types.d.ts +4 -2
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/utils.d.ts +5 -0
- package/dist/esm/utils.d.ts.map +1 -0
- package/dist/esm/utils.js +8 -0
- package/dist/esm/utils.js.map +1 -0
- package/package.json +1 -1
- package/src/ansi.ts +6 -4
- package/src/cursor.ts +80 -0
- package/src/erase.ts +9 -7
- package/src/features/build.ts +4 -4
- package/src/features/detect.ts +1 -1
- package/src/features/features.ts +4 -4
- package/src/features/types.ts +1 -1
- package/src/scroll.ts +6 -4
- package/src/sgr/color/channel.ts +2 -1
- package/src/sgr/format-builder.ts +3 -2
- package/src/sgr/reset.ts +3 -1
- package/src/simplify/simplify.ts +2 -1
- package/src/slice.ts +1 -1
- package/src/split-at.ts +32 -0
- package/src/terminal.ts +14 -12
- package/src/types.ts +4 -2
- package/src/utils.ts +15 -0
- package/dist/cjs/caret.d.ts +0 -30
- package/dist/cjs/caret.d.ts.map +0 -1
- package/dist/cjs/caret.js +0 -68
- package/dist/cjs/caret.js.map +0 -1
- package/dist/esm/caret.d.ts +0 -30
- package/dist/esm/caret.d.ts.map +0 -1
- package/dist/esm/caret.js.map +0 -1
- package/src/caret.ts +0 -80
package/README.md
CHANGED
|
@@ -27,7 +27,7 @@ console.log(ansiNoColor.fg.rgb(255, 128, 64)("light red-orange"));
|
|
|
27
27
|
// Destructure named exports
|
|
28
28
|
const {ansi: defaultInstance, makeAnsi, fg} = require("@peteanderson/ansi");
|
|
29
29
|
console.log(fg.red.and.bold("Hello, world!"));
|
|
30
|
-
const custom = makeAnsi({colorDepth: 8,
|
|
30
|
+
const custom = makeAnsi({colorDepth: 8, cursor: false});
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
## Feature Detection
|
|
@@ -36,7 +36,7 @@ The module automatically detects:
|
|
|
36
36
|
|
|
37
37
|
- **Color depth**: 1 (none), 4 (16 colors), 8 (256 colors), 24 (true color)
|
|
38
38
|
- **Style support**: enabled if color depth > 1
|
|
39
|
-
- **Other features**:
|
|
39
|
+
- **Other features**: cursor, erase, scroll — enabled if output is a TTY and `TERM` is not `dumb`
|
|
40
40
|
|
|
41
41
|
When disabled, features output empty strings. Color outputs plain text. This can be overridden:
|
|
42
42
|
|
|
@@ -158,18 +158,18 @@ function formatText(text, useColor) {
|
|
|
158
158
|
}
|
|
159
159
|
```
|
|
160
160
|
|
|
161
|
-
### `
|
|
161
|
+
### `cursor`
|
|
162
162
|
|
|
163
163
|
Available if feature is enabled:
|
|
164
164
|
|
|
165
|
-
- `
|
|
166
|
-
- `
|
|
167
|
-
- `
|
|
168
|
-
- `
|
|
169
|
-
- `
|
|
170
|
-
- `
|
|
171
|
-
- `
|
|
172
|
-
- `
|
|
165
|
+
- `cursor.show` / `cursor.hide` - show or hide the cursor
|
|
166
|
+
- `cursor.position.get` - get the current cursor position (terminal sends position to stdin)
|
|
167
|
+
- `cursor.position.set(row, col)` - set cursor position (1-based indexing)
|
|
168
|
+
- `cursor.shape.block` / `cursor.shape.underline` / `cursor.shape.bar` - change cursor shape
|
|
169
|
+
- `cursor.up(n)` / `cursor.down(n)` / `cursor.forward(n)` / `cursor.backward(n)` - move cursor
|
|
170
|
+
- `cursor.nextLine(n)` / `cursor.prevLine(n)` - move cursor to next/previous line
|
|
171
|
+
- `cursor.x(col)` - move cursor to column (1-based)
|
|
172
|
+
- `cursor.save` / `cursor.restore` - save/restore cursor position (VT100)
|
|
173
173
|
|
|
174
174
|
### `terminal`
|
|
175
175
|
|
|
@@ -206,6 +206,10 @@ Removes all ANSI CSI sequences from a string (always available).
|
|
|
206
206
|
|
|
207
207
|
Slices a string by visible characters, ignoring ANSI sequences (always available).
|
|
208
208
|
|
|
209
|
+
### `splitAt(text, visibleIndex)`
|
|
210
|
+
|
|
211
|
+
Splits a string into two parts at the given visible index, ignoring ANSI sequences (always available).
|
|
212
|
+
|
|
209
213
|
### `sanitize(text)`
|
|
210
214
|
|
|
211
215
|
Removes "unsafe" CSI sequences, leaving only color and style codes (always available).
|
|
@@ -232,7 +236,7 @@ Object containing the detected feature configuration:
|
|
|
232
236
|
{
|
|
233
237
|
colorDepth : 1 | 3 | 4 | 8 | 24;
|
|
234
238
|
style : boolean;
|
|
235
|
-
|
|
239
|
+
cursor : boolean;
|
|
236
240
|
erase : boolean;
|
|
237
241
|
scroll : boolean;
|
|
238
242
|
terminal : boolean;
|
package/dist/cjs/ansi.d.ts
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { padEnd, padStart } from "./pad";
|
|
2
|
+
import { splitAt } from "./split-at";
|
|
2
3
|
import { strip, visibleLength } from "./strip";
|
|
3
4
|
import type { Args } from "./features";
|
|
4
5
|
import type { Ansi } from "./types";
|
|
5
6
|
export declare function makeAnsi(...args: Args): Ansi;
|
|
6
7
|
export declare const ansi: Ansi;
|
|
7
|
-
export declare const fg: import("./sgr/types").Channel<"bg" | import("./sgr/types").StyleKey>, bg: import("./sgr/types").Channel<"fg" | import("./sgr/types").StyleKey>, style: import("./sgr/types").Style<import("./sgr/types").ChainKey>, reset: string,
|
|
8
|
-
up: (count?: number) => string;
|
|
9
|
-
down: (count?: number) => string;
|
|
10
|
-
forward: (count?: number) => string;
|
|
11
|
-
backward: (count?: number) => string;
|
|
12
|
-
nextLine: (count?: number) => string;
|
|
13
|
-
prevLine: (count?: number) => string;
|
|
8
|
+
export declare const fg: import("./sgr/types").Channel<"bg" | import("./sgr/types").StyleKey>, bg: import("./sgr/types").Channel<"fg" | import("./sgr/types").StyleKey>, style: import("./sgr/types").Style<import("./sgr/types").ChainKey>, reset: string, cursor: {
|
|
9
|
+
up: (count?: number | undefined) => string;
|
|
10
|
+
down: (count?: number | undefined) => string;
|
|
11
|
+
forward: (count?: number | undefined) => string;
|
|
12
|
+
backward: (count?: number | undefined) => string;
|
|
13
|
+
nextLine: (count?: number | undefined) => string;
|
|
14
|
+
prevLine: (count?: number | undefined) => string;
|
|
14
15
|
x: (x: number) => string;
|
|
15
16
|
save: string;
|
|
16
17
|
restore: string;
|
|
@@ -42,8 +43,8 @@ export declare const fg: import("./sgr/types").Channel<"bg" | import("./sgr/type
|
|
|
42
43
|
scrollback: string;
|
|
43
44
|
};
|
|
44
45
|
}, scroll: {
|
|
45
|
-
up: (lines?: number) => string;
|
|
46
|
-
down: (lines?: number) => string;
|
|
46
|
+
up: (lines?: number | undefined) => string;
|
|
47
|
+
down: (lines?: number | undefined) => string;
|
|
47
48
|
}, terminal: {
|
|
48
49
|
focusReporting: {
|
|
49
50
|
enable: string;
|
|
@@ -66,9 +67,9 @@ export declare const fg: import("./sgr/types").Channel<"bg" | import("./sgr/type
|
|
|
66
67
|
end: string;
|
|
67
68
|
};
|
|
68
69
|
};
|
|
69
|
-
export { padEnd, padStart, strip, visibleLength };
|
|
70
|
+
export { padEnd, padStart, splitAt, strip, visibleLength };
|
|
70
71
|
declare const _default: typeof makeAnsi & import("./sgr").SGR & {
|
|
71
|
-
|
|
72
|
+
cursor: import("./cursor").Cursor;
|
|
72
73
|
erase: import("./erase").Erase;
|
|
73
74
|
scroll: import("./scroll").Scroll;
|
|
74
75
|
terminal: import("./terminal").Terminal;
|
|
@@ -78,6 +79,7 @@ declare const _default: typeof makeAnsi & import("./sgr").SGR & {
|
|
|
78
79
|
visibleLength: import("./strip").VisibleLength;
|
|
79
80
|
sanitize: import("./strip").Sanitize;
|
|
80
81
|
slice: import("./slice").Slice;
|
|
82
|
+
splitAt: import("./split-at").SplitAt;
|
|
81
83
|
simplify: import("./simplify").Simplify;
|
|
82
84
|
features: import("./features").Features;
|
|
83
85
|
};
|
package/dist/cjs/ansi.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ansi.d.ts","sourceRoot":"","sources":["../../src/ansi.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAoB,OAAO,CAAC;AAKrD,OAAO,EAAW,KAAK,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAGvD,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,YAAY,CAAC;AACrC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,SAAS,CAAC;AAElC,wBAAgB,QAAQ,CAAC,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"ansi.d.ts","sourceRoot":"","sources":["../../src/ansi.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAoB,OAAO,CAAC;AAKrD,OAAO,EAAC,OAAO,EAAC,MAA6B,YAAY,CAAC;AAC1D,OAAO,EAAW,KAAK,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAGvD,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,YAAY,CAAC;AACrC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,SAAS,CAAC;AAElC,wBAAgB,QAAQ,CAAC,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,CAwB5C;AAED,eAAO,MAAM,IAAI,MAAa,CAAC;AAE/B,eAAO,MAAO,EAAE,wEAAE,EAAE,wEAAE,KAAK,+DAAE,KAAK,UAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;GAAE,KAAK;;;;;;;;;;;;GAAE,MAAM;;;GAAE,QAAQ;;;;;;;;;;;;;;;;;;;;;CAAQ,CAAC;AAE5E,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAC,CAAA;;;;;;;;;;;;;;;;AAExD,wBAGE"}
|
package/dist/cjs/ansi.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.visibleLength = exports.strip = exports.padStart = exports.padEnd = exports.terminal = exports.scroll = exports.erase = exports.
|
|
3
|
+
exports.visibleLength = exports.strip = exports.splitAt = exports.padStart = exports.padEnd = exports.terminal = exports.scroll = exports.erase = exports.cursor = exports.reset = exports.style = exports.bg = exports.fg = exports.ansi = void 0;
|
|
4
4
|
exports.makeAnsi = makeAnsi;
|
|
5
|
-
const
|
|
5
|
+
const cursor_1 = require("./cursor");
|
|
6
6
|
const erase_1 = require("./erase");
|
|
7
7
|
const features_1 = require("./features");
|
|
8
8
|
const pad_1 = require("./pad");
|
|
@@ -12,6 +12,8 @@ const scroll_1 = require("./scroll");
|
|
|
12
12
|
const sgr_1 = require("./sgr");
|
|
13
13
|
const simplify_1 = require("./simplify");
|
|
14
14
|
const slice_1 = require("./slice");
|
|
15
|
+
const split_at_1 = require("./split-at");
|
|
16
|
+
Object.defineProperty(exports, "splitAt", { enumerable: true, get: function () { return split_at_1.splitAt; } });
|
|
15
17
|
const strip_1 = require("./strip");
|
|
16
18
|
Object.defineProperty(exports, "strip", { enumerable: true, get: function () { return strip_1.strip; } });
|
|
17
19
|
Object.defineProperty(exports, "visibleLength", { enumerable: true, get: function () { return strip_1.visibleLength; } });
|
|
@@ -20,7 +22,7 @@ function makeAnsi(...args) {
|
|
|
20
22
|
const features = (0, features_1.getFeatures)(...args);
|
|
21
23
|
return {
|
|
22
24
|
...(0, sgr_1.makeSGR)(features),
|
|
23
|
-
|
|
25
|
+
cursor: (0, cursor_1.makeCursor)(features.cursor),
|
|
24
26
|
erase: (0, erase_1.makeErase)(features.erase),
|
|
25
27
|
scroll: (0, scroll_1.makeScroll)(features.scroll),
|
|
26
28
|
terminal: (0, terminal_1.makeTerminal)(features.terminal),
|
|
@@ -31,10 +33,11 @@ function makeAnsi(...args) {
|
|
|
31
33
|
sanitize: strip_1.sanitize,
|
|
32
34
|
slice: slice_1.slice,
|
|
33
35
|
simplify: simplify_1.simplify,
|
|
36
|
+
splitAt: split_at_1.splitAt,
|
|
34
37
|
features,
|
|
35
38
|
};
|
|
36
39
|
}
|
|
37
40
|
exports.ansi = makeAnsi();
|
|
38
|
-
exports.fg = exports.ansi.fg, exports.bg = exports.ansi.bg, exports.style = exports.ansi.style, exports.reset = exports.ansi.reset, exports.
|
|
41
|
+
exports.fg = exports.ansi.fg, exports.bg = exports.ansi.bg, exports.style = exports.ansi.style, exports.reset = exports.ansi.reset, exports.cursor = exports.ansi.cursor, exports.erase = exports.ansi.erase, exports.scroll = exports.ansi.scroll, exports.terminal = exports.ansi.terminal;
|
|
39
42
|
exports.default = Object.assign(Object.defineProperty(makeAnsi.bind(undefined), "name", { value: "ansi" }), exports.ansi);
|
|
40
43
|
//# sourceMappingURL=ansi.js.map
|
package/dist/cjs/ansi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ansi.js","sourceRoot":"","sources":["../../src/ansi.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ansi.js","sourceRoot":"","sources":["../../src/ansi.ts"],"names":[],"mappings":";;;AAeA,4BAwBC;AAvCD,qCAAwD;AACxD,mCAAuD;AACvD,yCAA0D;AAC1D,+BAAqD;AA0C7C,uFA1CA,YAAM,OA0CA;AAAE,yFA1CA,cAAQ,OA0CA;AAzCxB,qCAAwD;AACxD,+BAAqD;AACrD,yCAA0D;AAC1D,mCAAuD;AACvD,yCAA0D;AAqChC,wFArClB,kBAAO,OAqCkB;AApCjC,mCAAuD;AAoCpB,sFApCjB,aAAK,OAoCiB;AAAE,8FApCjB,qBAAa,OAoCiB;AAnCvD,yCAA0D;AAK1D,SAAgB,QAAQ,CAAC,GAAG,IAAU;IACrC,MAAM,QAAQ,GAAG,IAAA,sBAAW,EAAC,GAAG,IAAI,CAAC,CAAC;IAEtC,OAAO;QACN,GAAG,IAAA,aAAO,EAAC,QAAQ,CAAC;QAEpB,MAAM,EAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,MAAM,CAAC;QACpC,KAAK,EAAI,IAAA,iBAAS,EAAC,QAAQ,CAAC,KAAK,CAAC;QAClC,MAAM,EAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,MAAM,CAAC;QAEpC,QAAQ,EAAE,IAAA,uBAAY,EAAC,QAAQ,CAAC,QAAQ,CAAC;QAEzC,MAAM,EAAN,YAAM;QACN,QAAQ,EAAR,cAAQ;QAER,KAAK,EAAL,aAAK;QACL,aAAa,EAAb,qBAAa;QACb,QAAQ,EAAR,gBAAQ;QACR,KAAK,EAAL,aAAK;QACL,QAAQ,EAAR,mBAAQ;QACR,OAAO,EAAP,kBAAO;QAEP,QAAQ;KACR,CAAC;AACH,CAAC;AAEY,QAAA,IAAI,GAAG,QAAQ,EAAE,CAAC;AAEjB,UAAE,GAAuD,YAAI,KAAzD,UAAE,GAAmD,YAAI,KAArD,aAAK,GAA4C,YAAI,QAA9C,aAAK,GAAqC,YAAI,QAAvC,cAAM,GAA6B,YAAI,SAA/B,aAAK,GAAsB,YAAI,QAAxB,cAAM,GAAc,YAAI,SAAhB,gBAAQ,GAAI,YAAI,UAAC;AAI5E,kBAAe,MAAM,CAAC,MAAM,CAC3B,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAC,KAAK,EAAE,MAAM,EAAC,CAAC,EACxE,YAAI,CACJ,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
declare const cursor: {
|
|
2
|
+
up: (count?: number | undefined) => string;
|
|
3
|
+
down: (count?: number | undefined) => string;
|
|
4
|
+
forward: (count?: number | undefined) => string;
|
|
5
|
+
backward: (count?: number | undefined) => string;
|
|
6
|
+
nextLine: (count?: number | undefined) => string;
|
|
7
|
+
prevLine: (count?: number | undefined) => string;
|
|
8
|
+
x: (x: number) => string;
|
|
9
|
+
save: string;
|
|
10
|
+
restore: string;
|
|
11
|
+
hide: string;
|
|
12
|
+
show: string;
|
|
13
|
+
position: {
|
|
14
|
+
get: string;
|
|
15
|
+
set: (x: number, y: number) => string;
|
|
16
|
+
};
|
|
17
|
+
shape: {
|
|
18
|
+
steadyBlock: string;
|
|
19
|
+
steadyBar: string;
|
|
20
|
+
steadyUnderline: string;
|
|
21
|
+
blinkingBlock: string;
|
|
22
|
+
blinkingBar: string;
|
|
23
|
+
blinkingUnderline: string;
|
|
24
|
+
default: string;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
export type Cursor = typeof cursor;
|
|
28
|
+
export declare const makeCursor: (enabled?: boolean) => Cursor;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=cursor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../src/cursor.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,MAAM;;;;;;;WAWJ,MAAM;;;;;;;iBAkBH,MAAM,KAAK,MAAM,KAAG,MAAM;;;;;;;;;;;CAYpC,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AAkCnC,eAAO,MAAM,UAAU,GAAI,iBAAc,KAAG,MAAqC,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeCursor = void 0;
|
|
4
|
+
const utils_1 = require("./utils");
|
|
5
|
+
const cursor = {
|
|
6
|
+
up: (0, utils_1.count)("A"),
|
|
7
|
+
down: (0, utils_1.count)("B"),
|
|
8
|
+
forward: (0, utils_1.count)("C"),
|
|
9
|
+
backward: (0, utils_1.count)("D"),
|
|
10
|
+
nextLine: (0, utils_1.count)("E"),
|
|
11
|
+
prevLine: (0, utils_1.count)("F"),
|
|
12
|
+
// Don't use `move`/`count` here, because it will output an empty string if `x` is `0`, but the
|
|
13
|
+
// terminal accepts `\x1b[0G` and will process it the same as `\x1b[1G`/`x1b[G`. Also, the
|
|
14
|
+
// parameter for `move`/`count` is optional, but the parameter for `x` is required.
|
|
15
|
+
x: (x) => (0, utils_1.csi)(x, "G"),
|
|
16
|
+
// These are the old VT100 codes, but they're widely supported by old and new terminals. The
|
|
17
|
+
// newer VT220 codes are standardized by ECMA and ISO, and are also widely supported, but might
|
|
18
|
+
// not work in some older terminals. The VT220 codes are:
|
|
19
|
+
//
|
|
20
|
+
// ```
|
|
21
|
+
// save : csi("s"),
|
|
22
|
+
// restore : csi("u"),
|
|
23
|
+
// ```
|
|
24
|
+
save: "\x1b7",
|
|
25
|
+
restore: "\x1b8",
|
|
26
|
+
hide: (0, utils_1.csi)("?25l"),
|
|
27
|
+
show: (0, utils_1.csi)("?25h"),
|
|
28
|
+
position: {
|
|
29
|
+
get: (0, utils_1.csi)("6n"),
|
|
30
|
+
set: (x, y) => (0, utils_1.csi)(`${y};${x}H`),
|
|
31
|
+
},
|
|
32
|
+
shape: {
|
|
33
|
+
steadyBlock: (0, utils_1.csi)("2 q"),
|
|
34
|
+
steadyBar: (0, utils_1.csi)("6 q"),
|
|
35
|
+
steadyUnderline: (0, utils_1.csi)("4 q"),
|
|
36
|
+
blinkingBlock: (0, utils_1.csi)("1 q"),
|
|
37
|
+
blinkingBar: (0, utils_1.csi)("5 q"),
|
|
38
|
+
blinkingUnderline: (0, utils_1.csi)("3 q"),
|
|
39
|
+
default: (0, utils_1.csi)("0 q"),
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
const disabled = {
|
|
43
|
+
up: utils_1.noop,
|
|
44
|
+
down: utils_1.noop,
|
|
45
|
+
forward: utils_1.noop,
|
|
46
|
+
backward: utils_1.noop,
|
|
47
|
+
nextLine: utils_1.noop,
|
|
48
|
+
prevLine: utils_1.noop,
|
|
49
|
+
x: utils_1.noop,
|
|
50
|
+
save: "",
|
|
51
|
+
restore: "",
|
|
52
|
+
hide: "",
|
|
53
|
+
show: "",
|
|
54
|
+
position: {
|
|
55
|
+
get: "",
|
|
56
|
+
set: utils_1.noop,
|
|
57
|
+
},
|
|
58
|
+
shape: {
|
|
59
|
+
steadyBlock: "",
|
|
60
|
+
steadyBar: "",
|
|
61
|
+
steadyUnderline: "",
|
|
62
|
+
blinkingBlock: "",
|
|
63
|
+
blinkingBar: "",
|
|
64
|
+
blinkingUnderline: "",
|
|
65
|
+
default: "",
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
const makeCursor = (enabled = true) => enabled ? cursor : disabled;
|
|
69
|
+
exports.makeCursor = makeCursor;
|
|
70
|
+
//# sourceMappingURL=cursor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/cursor.ts"],"names":[],"mappings":";;;AAAA,mCAAiD;AAEjD,MAAM,MAAM,GAAG;IACd,EAAE,EAAS,IAAA,aAAI,EAAC,GAAG,CAAC;IACpB,IAAI,EAAO,IAAA,aAAI,EAAC,GAAG,CAAC;IACpB,OAAO,EAAI,IAAA,aAAI,EAAC,GAAG,CAAC;IACpB,QAAQ,EAAG,IAAA,aAAI,EAAC,GAAG,CAAC;IACpB,QAAQ,EAAG,IAAA,aAAI,EAAC,GAAG,CAAC;IACpB,QAAQ,EAAG,IAAA,aAAI,EAAC,GAAG,CAAC;IAEpB,+FAA+F;IAC/F,0FAA0F;IAC1F,mFAAmF;IACnF,CAAC,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAA,WAAG,EAAC,CAAC,EAAE,GAAG,CAAC;IAE7B,4FAA4F;IAC5F,+FAA+F;IAC/F,yDAAyD;IACzD,EAAE;IACF,MAAM;IACN,sBAAsB;IACtB,sBAAsB;IACtB,MAAM;IACN,IAAI,EAAM,OAAO;IACjB,OAAO,EAAG,OAAO;IAEjB,IAAI,EAAG,IAAA,WAAG,EAAC,MAAM,CAAC;IAClB,IAAI,EAAG,IAAA,WAAG,EAAC,MAAM,CAAC;IAElB,QAAQ,EAAE;QACT,GAAG,EAAE,IAAA,WAAG,EAAC,IAAI,CAAC;QACd,GAAG,EAAE,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,IAAA,WAAG,EAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;KACxD;IAED,KAAK,EAAE;QACN,WAAW,EAAS,IAAA,WAAG,EAAC,KAAK,CAAC;QAC9B,SAAS,EAAW,IAAA,WAAG,EAAC,KAAK,CAAC;QAC9B,eAAe,EAAK,IAAA,WAAG,EAAC,KAAK,CAAC;QAC9B,aAAa,EAAO,IAAA,WAAG,EAAC,KAAK,CAAC;QAC9B,WAAW,EAAS,IAAA,WAAG,EAAC,KAAK,CAAC;QAC9B,iBAAiB,EAAG,IAAA,WAAG,EAAC,KAAK,CAAC;QAC9B,OAAO,EAAa,IAAA,WAAG,EAAC,KAAK,CAAC;KAC9B;CACD,CAAC;AAIF,MAAM,QAAQ,GAAW;IACxB,EAAE,EAAS,YAAI;IACf,IAAI,EAAO,YAAI;IACf,OAAO,EAAI,YAAI;IACf,QAAQ,EAAG,YAAI;IACf,QAAQ,EAAG,YAAI;IACf,QAAQ,EAAG,YAAI;IAEf,CAAC,EAAE,YAAI;IAEP,IAAI,EAAM,EAAE;IACZ,OAAO,EAAG,EAAE;IAEZ,IAAI,EAAG,EAAE;IACT,IAAI,EAAG,EAAE;IAET,QAAQ,EAAE;QACT,GAAG,EAAE,EAAE;QACP,GAAG,EAAE,YAAI;KACT;IAED,KAAK,EAAE;QACN,WAAW,EAAS,EAAE;QACtB,SAAS,EAAW,EAAE;QACtB,eAAe,EAAK,EAAE;QACtB,aAAa,EAAO,EAAE;QACtB,WAAW,EAAS,EAAE;QACtB,iBAAiB,EAAG,EAAE;QACtB,OAAO,EAAa,EAAE;KACtB;CACD,CAAC;AAEK,MAAM,UAAU,GAAG,CAAC,OAAO,GAAG,IAAI,EAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AAArE,QAAA,UAAU,cAA2D"}
|
package/dist/cjs/erase.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"erase.d.ts","sourceRoot":"","sources":["../../src/erase.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"erase.d.ts","sourceRoot":"","sources":["../../src/erase.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,KAAK;;;;;;;;;;;;CAYV,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC;AAgBjC,eAAO,MAAM,SAAS,GAAI,iBAAc,KAAG,KAAmC,CAAC"}
|
package/dist/cjs/erase.js
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeErase = void 0;
|
|
4
|
+
const utils_1 = require("./utils");
|
|
4
5
|
const erase = {
|
|
5
6
|
line: {
|
|
6
|
-
toStart: "
|
|
7
|
-
toEnd: "
|
|
8
|
-
full: "
|
|
7
|
+
toStart: (0, utils_1.csi)("1K"),
|
|
8
|
+
toEnd: (0, utils_1.csi)("0K"),
|
|
9
|
+
full: (0, utils_1.csi)("2K"),
|
|
9
10
|
},
|
|
10
11
|
screen: {
|
|
11
|
-
toStart: "
|
|
12
|
-
toEnd: "
|
|
13
|
-
full: "
|
|
14
|
-
scrollback: "
|
|
12
|
+
toStart: (0, utils_1.csi)("1J"),
|
|
13
|
+
toEnd: (0, utils_1.csi)("0J"),
|
|
14
|
+
full: (0, utils_1.csi)("2J"),
|
|
15
|
+
scrollback: (0, utils_1.csi)("3J"),
|
|
15
16
|
},
|
|
16
17
|
};
|
|
17
18
|
const disabled = {
|
package/dist/cjs/erase.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"erase.js","sourceRoot":"","sources":["../../src/erase.ts"],"names":[],"mappings":";;;AAAA,MAAM,KAAK,GAAG;IACb,IAAI,EAAE;QACL,OAAO,EAAG,
|
|
1
|
+
{"version":3,"file":"erase.js","sourceRoot":"","sources":["../../src/erase.ts"],"names":[],"mappings":";;;AAAA,mCAA4B;AAE5B,MAAM,KAAK,GAAG;IACb,IAAI,EAAE;QACL,OAAO,EAAG,IAAA,WAAG,EAAC,IAAI,CAAC;QACnB,KAAK,EAAK,IAAA,WAAG,EAAC,IAAI,CAAC;QACnB,IAAI,EAAM,IAAA,WAAG,EAAC,IAAI,CAAC;KACnB;IACD,MAAM,EAAE;QACP,OAAO,EAAM,IAAA,WAAG,EAAC,IAAI,CAAC;QACtB,KAAK,EAAQ,IAAA,WAAG,EAAC,IAAI,CAAC;QACtB,IAAI,EAAS,IAAA,WAAG,EAAC,IAAI,CAAC;QACtB,UAAU,EAAG,IAAA,WAAG,EAAC,IAAI,CAAC;KACtB;CACD,CAAC;AAIF,MAAM,QAAQ,GAAU;IACvB,IAAI,EAAE;QACL,OAAO,EAAG,EAAE;QACZ,KAAK,EAAK,EAAE;QACZ,IAAI,EAAM,EAAE;KACZ;IACD,MAAM,EAAE;QACP,OAAO,EAAM,EAAE;QACf,KAAK,EAAQ,EAAE;QACf,IAAI,EAAS,EAAE;QACf,UAAU,EAAG,EAAE;KACf;CACD,CAAC;AAEK,MAAM,SAAS,GAAG,CAAC,OAAO,GAAG,IAAI,EAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AAAlE,QAAA,SAAS,aAAyD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ColorDepth, Features } from "./types";
|
|
2
|
-
export declare function build(isTTY: boolean, colorDepth: ColorDepth, style?: boolean,
|
|
2
|
+
export declare function build(isTTY: boolean, colorDepth: ColorDepth, style?: boolean, cursor?: boolean, erase?: boolean, scroll?: boolean, terminal?: boolean): Features;
|
|
3
3
|
export declare const boolean: (isTTY: boolean, enabled: boolean) => Features;
|
|
4
4
|
export declare const number: (isTTY: boolean, colorDepth: ColorDepth) => Features;
|
|
5
5
|
export declare const tty: (stream: NodeJS.WriteStream) => Features;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/features/build.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,UAAU,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAWlD,wBAAgB,KAAK,CACpB,KAAK,EAAQ,OAAO,EACpB,UAAU,EAAG,UAAU,EACvB,KAAK,CAAC,EAAO,OAAO,EACpB,
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/features/build.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,UAAU,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAWlD,wBAAgB,KAAK,CACpB,KAAK,EAAQ,OAAO,EACpB,UAAU,EAAG,UAAU,EACvB,KAAK,CAAC,EAAO,OAAO,EACpB,MAAM,CAAC,EAAM,OAAO,EACpB,KAAK,CAAC,EAAO,OAAO,EACpB,MAAM,CAAC,EAAM,OAAO,EACpB,QAAQ,CAAC,EAAI,OAAO,GAClB,QAAQ,CAmBV;AAED,eAAO,MAAM,OAAO,GAAI,OAAO,OAAO,EAAE,SAAS,OAAO,KAAG,QAC7B,CAAC;AAE/B,eAAO,MAAM,MAAM,GAAI,OAAO,OAAO,EAAE,YAAY,UAAU,KAAG,QACvC,CAAC;AAE1B,eAAO,MAAM,GAAG,GAAI,QAAQ,MAAM,CAAC,WAAW,KAAG,QACd,CAAC;AAEpC,eAAO,MAAM,IAAI,QAAO,QACM,CAAC"}
|
|
@@ -15,18 +15,18 @@ function normalizeColorDepth(colorDepth) {
|
|
|
15
15
|
return 3;
|
|
16
16
|
return 1;
|
|
17
17
|
}
|
|
18
|
-
function build(isTTY, colorDepth, style,
|
|
18
|
+
function build(isTTY, colorDepth, style, cursor, erase, scroll, terminal) {
|
|
19
19
|
if (style !== undefined &&
|
|
20
|
-
|
|
20
|
+
cursor !== undefined &&
|
|
21
21
|
erase !== undefined &&
|
|
22
22
|
scroll !== undefined &&
|
|
23
23
|
terminal !== undefined)
|
|
24
|
-
return { colorDepth: normalizeColorDepth(colorDepth), style,
|
|
24
|
+
return { colorDepth: normalizeColorDepth(colorDepth), style, cursor, erase, scroll, terminal };
|
|
25
25
|
const support = (0, detect_1.detectFeatureSupport)(isTTY, colorDepth);
|
|
26
26
|
return {
|
|
27
27
|
colorDepth: normalizeColorDepth(colorDepth),
|
|
28
28
|
style: style ?? support.style,
|
|
29
|
-
|
|
29
|
+
cursor: cursor ?? support.cursor,
|
|
30
30
|
erase: erase ?? support.erase,
|
|
31
31
|
scroll: scroll ?? support.scroll,
|
|
32
32
|
terminal: terminal ?? support.terminal,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/features/build.ts"],"names":[],"mappings":";;;AAaA,sBA2BC;AAxCD,qCAA6D;AAI7D,SAAS,mBAAmB,CAAC,UAAkB;IAC9C,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACpC,IAAI,UAAU,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAChC,IAAI,UAAU,IAAI,CAAC;QAAG,OAAO,CAAC,CAAC;IAC/B,IAAI,UAAU,IAAI,CAAC;QAAG,OAAO,CAAC,CAAC;IAC/B,IAAI,UAAU,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,CAAC;AACV,CAAC;AAED,SAAgB,KAAK,CACpB,KAAoB,EACpB,UAAuB,EACvB,KAAoB,EACpB,
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/features/build.ts"],"names":[],"mappings":";;;AAaA,sBA2BC;AAxCD,qCAA6D;AAI7D,SAAS,mBAAmB,CAAC,UAAkB;IAC9C,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACpC,IAAI,UAAU,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAChC,IAAI,UAAU,IAAI,CAAC;QAAG,OAAO,CAAC,CAAC;IAC/B,IAAI,UAAU,IAAI,CAAC;QAAG,OAAO,CAAC,CAAC;IAC/B,IAAI,UAAU,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,CAAC;AACV,CAAC;AAED,SAAgB,KAAK,CACpB,KAAoB,EACpB,UAAuB,EACvB,KAAoB,EACpB,MAAoB,EACpB,KAAoB,EACpB,MAAoB,EACpB,QAAoB;IAEpB,IACC,KAAK,KAAQ,SAAS;QACtB,MAAM,KAAO,SAAS;QACtB,KAAK,KAAQ,SAAS;QACtB,MAAM,KAAO,SAAS;QACtB,QAAQ,KAAK,SAAS;QAEtB,OAAO,EAAC,UAAU,EAAE,mBAAmB,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAC,CAAC;IAE9F,MAAM,OAAO,GAAG,IAAA,6BAAoB,EAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACxD,OAAO;QACN,UAAU,EAAG,mBAAmB,CAAC,UAAU,CAAC;QAC5C,KAAK,EAAQ,KAAK,IAAO,OAAO,CAAC,KAAK;QACtC,MAAM,EAAO,MAAM,IAAM,OAAO,CAAC,MAAM;QACvC,KAAK,EAAQ,KAAK,IAAO,OAAO,CAAC,KAAK;QACtC,MAAM,EAAO,MAAM,IAAM,OAAO,CAAC,MAAM;QACvC,QAAQ,EAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ;KACzC,CAAC;AACH,CAAC;AAEM,MAAM,OAAO,GAAG,CAAC,KAAc,EAAE,OAAgB,EAAY,EAAE,CACrE,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AADlB,QAAA,OAAO,WACW;AAExB,MAAM,MAAM,GAAG,CAAC,KAAc,EAAE,UAAsB,EAAY,EAAE,CAC1E,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AADb,QAAA,MAAM,UACO;AAEnB,MAAM,GAAG,GAAG,CAAC,MAA0B,EAAY,EAAE,CAC3D,KAAK,CAAC,IAAI,EAAE,IAAA,sBAAa,EAAC,MAAM,CAAC,CAAC,CAAC;AADvB,QAAA,GAAG,OACoB;AAE7B,MAAM,IAAI,GAAG,GAAa,EAAE,CAClC,KAAK,CAAC,KAAK,EAAE,IAAA,sBAAa,GAAE,CAAC,CAAC;AADlB,QAAA,IAAI,QACc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect.js","sourceRoot":"","sources":["../../../src/features/detect.ts"],"names":[],"mappings":";;AAEA,sCAmBC;AAED,oDAYC;AAjCD,SAAgB,aAAa,CAAC,MAA2B;IACxD,IAAI,MAAM,EAAE,KAAK;QAChB,OAAO,MAAM,CAAC,aAAa,EAAgB,CAAC;IAE7C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB;QAC1D,OAAO,CAAC,CAAC;IAEV,QAAQ,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACjC,KAAK,EAAE,CAAC;QACR,KAAK,MAAM,CAAC;QACZ,KAAK,GAAG;YACP,OAAO,CAAC,CAAC;QACV,KAAK,GAAG;YACP,OAAO,CAAC,CAAC;QACV,KAAK,GAAG;YACP,OAAO,EAAE,CAAC;QACX;YACC,OAAO,CAAC,CAAC;IACX,CAAC;AACF,CAAC;AAED,SAAgB,oBAAoB,CACnC,KAAoB,EACpB,UAAuB;IAEvB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC;IACrD,OAAO;QACN,KAAK,EAAM,UAAU,GAAG,CAAC;QACzB,
|
|
1
|
+
{"version":3,"file":"detect.js","sourceRoot":"","sources":["../../../src/features/detect.ts"],"names":[],"mappings":";;AAEA,sCAmBC;AAED,oDAYC;AAjCD,SAAgB,aAAa,CAAC,MAA2B;IACxD,IAAI,MAAM,EAAE,KAAK;QAChB,OAAO,MAAM,CAAC,aAAa,EAAgB,CAAC;IAE7C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB;QAC1D,OAAO,CAAC,CAAC;IAEV,QAAQ,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACjC,KAAK,EAAE,CAAC;QACR,KAAK,MAAM,CAAC;QACZ,KAAK,GAAG;YACP,OAAO,CAAC,CAAC;QACV,KAAK,GAAG;YACP,OAAO,CAAC,CAAC;QACV,KAAK,GAAG;YACP,OAAO,EAAE,CAAC;QACX;YACC,OAAO,CAAC,CAAC;IACX,CAAC;AACF,CAAC;AAED,SAAgB,oBAAoB,CACnC,KAAoB,EACpB,UAAuB;IAEvB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC;IACrD,OAAO;QACN,KAAK,EAAM,UAAU,GAAG,CAAC;QACzB,MAAM,EAAK,OAAO;QAClB,KAAK,EAAM,OAAO;QAClB,MAAM,EAAK,OAAO;QAClB,QAAQ,EAAG,OAAO;KAClB,CAAC;AACH,CAAC"}
|
|
@@ -17,12 +17,12 @@ function getFeatures(...args) {
|
|
|
17
17
|
return (0, build_1.tty)(features);
|
|
18
18
|
if (features instanceof node_net_1.Socket)
|
|
19
19
|
return (0, build_1.pipe)();
|
|
20
|
-
const { colorDepth, style,
|
|
20
|
+
const { colorDepth, style, cursor, erase, scroll, terminal } = features;
|
|
21
21
|
stream ??= process.stdout;
|
|
22
22
|
if (colorDepth)
|
|
23
|
-
return (0, build_1.build)(stream.isTTY, colorDepth, style,
|
|
23
|
+
return (0, build_1.build)(stream.isTTY, colorDepth, style, cursor, erase, scroll, terminal);
|
|
24
24
|
if (stream.isTTY)
|
|
25
|
-
return (0, build_1.build)(true, (0, detect_1.getColorDepth)(stream), style,
|
|
26
|
-
return (0, build_1.build)(false, (0, detect_1.getColorDepth)(), style,
|
|
25
|
+
return (0, build_1.build)(true, (0, detect_1.getColorDepth)(stream), style, cursor, erase, scroll, terminal);
|
|
26
|
+
return (0, build_1.build)(false, (0, detect_1.getColorDepth)(), style, cursor, erase, scroll, terminal);
|
|
27
27
|
}
|
|
28
28
|
//# sourceMappingURL=features.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features.js","sourceRoot":"","sources":["../../../src/features/features.ts"],"names":[],"mappings":";;AAOA,kCA6BC;AApCD,uCAA2D;AAC3D,uCAA2D;AAC3D,mCAA0D;AAC1D,qCAA2D;AAI3D,SAAgB,WAAW,CAAC,GAAG,IAAU;IACxC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAE9B,IAAI,OAAO,QAAQ,KAAK,SAAS;QAChC,OAAO,IAAA,eAAO,EAAC,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAE5D,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAC/B,OAAO,IAAA,cAAM,EAAC,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAE3D,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAC5C,QAAQ,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvC,IAAI,QAAQ,YAAY,sBAAW;QAClC,OAAO,IAAA,WAAG,EAAC,QAAQ,CAAC,CAAC;IAEtB,IAAI,QAAQ,YAAY,iBAAM;QAC7B,OAAO,IAAA,YAAI,GAAE,CAAC;IAEf,MAAM,EAAC,UAAU,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"features.js","sourceRoot":"","sources":["../../../src/features/features.ts"],"names":[],"mappings":";;AAOA,kCA6BC;AApCD,uCAA2D;AAC3D,uCAA2D;AAC3D,mCAA0D;AAC1D,qCAA2D;AAI3D,SAAgB,WAAW,CAAC,GAAG,IAAU;IACxC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAE9B,IAAI,OAAO,QAAQ,KAAK,SAAS;QAChC,OAAO,IAAA,eAAO,EAAC,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAE5D,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAC/B,OAAO,IAAA,cAAM,EAAC,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAE3D,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAC5C,QAAQ,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvC,IAAI,QAAQ,YAAY,sBAAW;QAClC,OAAO,IAAA,WAAG,EAAC,QAAQ,CAAC,CAAC;IAEtB,IAAI,QAAQ,YAAY,iBAAM;QAC7B,OAAO,IAAA,YAAI,GAAE,CAAC;IAEf,MAAM,EAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAC,GAAG,QAAQ,CAAC;IAEtE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC;IAE1B,IAAI,UAAU;QACb,OAAO,IAAA,aAAK,EAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEhF,IAAI,MAAM,CAAC,KAAK;QACf,OAAO,IAAA,aAAK,EAAC,IAAI,EAAE,IAAA,sBAAa,EAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEnF,OAAO,IAAA,aAAK,EAAC,KAAK,EAAE,IAAA,sBAAa,GAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC9E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/features/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAErC,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;AAE5C,MAAM,WAAW,QAAQ;IACxB,UAAU,EAAG,UAAU,CAAC;IACxB,KAAK,EAAQ,OAAO,CAAC;IACrB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/features/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAErC,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;AAE5C,MAAM,WAAW,QAAQ;IACxB,UAAU,EAAG,UAAU,CAAC;IACxB,KAAK,EAAQ,OAAO,CAAC;IACrB,MAAM,EAAO,OAAO,CAAC;IACrB,KAAK,EAAQ,OAAO,CAAC;IACrB,MAAM,EAAO,OAAO,CAAC;IACrB,QAAQ,EAAK,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,IAAI,GACb,CAAC,OAAO,EAAM,OAAO,EAAY,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,GAC7D,CAAC,UAAU,EAAG,UAAU,EAAS,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,GAC7D,CAAC,QAAQ,EAAK,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,GAC7D,CAAC,MAAM,EAAO,MAAM,CAAC,GACrB,CAAC,MAAM,CAAC,EAAM,MAAM,CAAC,WAAW,CAAC,CAAC"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ declare namespace ansi {
|
|
|
3
3
|
type Ansi = import("./types").Ansi;
|
|
4
4
|
}
|
|
5
5
|
declare const ansi: typeof $ansi.makeAnsi & import("./sgr").SGR & {
|
|
6
|
-
|
|
6
|
+
cursor: import("./cursor").Cursor;
|
|
7
7
|
erase: import("./erase").Erase;
|
|
8
8
|
scroll: import("./scroll").Scroll;
|
|
9
9
|
terminal: import("./terminal").Terminal;
|
|
@@ -13,6 +13,7 @@ declare const ansi: typeof $ansi.makeAnsi & import("./sgr").SGR & {
|
|
|
13
13
|
visibleLength: import("./strip").VisibleLength;
|
|
14
14
|
sanitize: import("./strip").Sanitize;
|
|
15
15
|
slice: import("./slice").Slice;
|
|
16
|
+
splitAt: import("./split-at").SplitAt;
|
|
16
17
|
simplify: import("./simplify").Simplify;
|
|
17
18
|
features: import("./features").Features;
|
|
18
19
|
} & {
|
|
@@ -22,13 +23,13 @@ declare const ansi: typeof $ansi.makeAnsi & import("./sgr").SGR & {
|
|
|
22
23
|
bg: import("./sgr/types").Channel<"fg" | import("./sgr/types").StyleKey>;
|
|
23
24
|
style: import("./sgr/types").Style<import("./sgr/types").ChainKey>;
|
|
24
25
|
reset: string;
|
|
25
|
-
|
|
26
|
-
up: (count?: number) => string;
|
|
27
|
-
down: (count?: number) => string;
|
|
28
|
-
forward: (count?: number) => string;
|
|
29
|
-
backward: (count?: number) => string;
|
|
30
|
-
nextLine: (count?: number) => string;
|
|
31
|
-
prevLine: (count?: number) => string;
|
|
26
|
+
cursor: {
|
|
27
|
+
up: (count?: number | undefined) => string;
|
|
28
|
+
down: (count?: number | undefined) => string;
|
|
29
|
+
forward: (count?: number | undefined) => string;
|
|
30
|
+
backward: (count?: number | undefined) => string;
|
|
31
|
+
nextLine: (count?: number | undefined) => string;
|
|
32
|
+
prevLine: (count?: number | undefined) => string;
|
|
32
33
|
x: (x: number) => string;
|
|
33
34
|
save: string;
|
|
34
35
|
restore: string;
|
|
@@ -62,8 +63,8 @@ declare const ansi: typeof $ansi.makeAnsi & import("./sgr").SGR & {
|
|
|
62
63
|
};
|
|
63
64
|
};
|
|
64
65
|
scroll: {
|
|
65
|
-
up: (lines?: number) => string;
|
|
66
|
-
down: (lines?: number) => string;
|
|
66
|
+
up: (lines?: number | undefined) => string;
|
|
67
|
+
down: (lines?: number | undefined) => string;
|
|
67
68
|
};
|
|
68
69
|
terminal: {
|
|
69
70
|
focusReporting: {
|
|
@@ -89,6 +90,7 @@ declare const ansi: typeof $ansi.makeAnsi & import("./sgr").SGR & {
|
|
|
89
90
|
};
|
|
90
91
|
padEnd: (text: string, targetLength: number, fillString?: string) => string;
|
|
91
92
|
padStart: (text: string, targetLength: number, fillString?: string) => string;
|
|
93
|
+
splitAt: typeof $ansi.splitAt;
|
|
92
94
|
strip: (text: string) => string;
|
|
93
95
|
visibleLength: (text: string) => number;
|
|
94
96
|
};
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/require.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,QAAQ,CAAC;AAEhC,OAAO,WAAW,IAAI,CAAC;IACtB,KAAY,IAAI,GAAG,OAAO,SAAS,EAAE,IAAI,CAAC;CAC1C;AAID,QAAA,MAAM,IAAI
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/require.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,QAAQ,CAAC;AAEhC,OAAO,WAAW,IAAI,CAAC;IACtB,KAAY,IAAI,GAAG,OAAO,SAAS,EAAE,IAAI,CAAC;CAC1C;AAID,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAkC,CAAC;AAE7C,SAAS,IAAI,CAAC"}
|
package/dist/cjs/scroll.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
declare const scroll: {
|
|
2
|
-
up: (lines?: number) => string;
|
|
3
|
-
down: (lines?: number) => string;
|
|
2
|
+
up: (lines?: number | undefined) => string;
|
|
3
|
+
down: (lines?: number | undefined) => string;
|
|
4
4
|
};
|
|
5
5
|
export type Scroll = typeof scroll;
|
|
6
6
|
export declare const makeScroll: (enabled?: boolean) => Scroll;
|
package/dist/cjs/scroll.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../src/scroll.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../src/scroll.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,MAAM;;;CAGX,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AAOnC,eAAO,MAAM,UAAU,GAAI,iBAAc,KAAG,MAAqC,CAAC"}
|
package/dist/cjs/scroll.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeScroll = void 0;
|
|
4
|
+
const utils_1 = require("./utils");
|
|
4
5
|
const scroll = {
|
|
5
|
-
up: (
|
|
6
|
-
down: (
|
|
6
|
+
up: (0, utils_1.count)("S"),
|
|
7
|
+
down: (0, utils_1.count)("T"),
|
|
7
8
|
};
|
|
8
9
|
const disabled = {
|
|
9
|
-
up:
|
|
10
|
-
down:
|
|
10
|
+
up: utils_1.noop,
|
|
11
|
+
down: utils_1.noop,
|
|
11
12
|
};
|
|
12
13
|
const makeScroll = (enabled = true) => enabled ? scroll : disabled;
|
|
13
14
|
exports.makeScroll = makeScroll;
|
package/dist/cjs/scroll.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../src/scroll.ts"],"names":[],"mappings":";;;AAAA,MAAM,MAAM,GAAG;IACd,EAAE,EAAK,
|
|
1
|
+
{"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../src/scroll.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AAEpC,MAAM,MAAM,GAAG;IACd,EAAE,EAAK,IAAA,aAAK,EAAmB,GAAG,CAAC;IACnC,IAAI,EAAG,IAAA,aAAK,EAAmB,GAAG,CAAC;CACnC,CAAC;AAIF,MAAM,QAAQ,GAAW;IACxB,EAAE,EAAK,YAAI;IACX,IAAI,EAAG,YAAI;CACX,CAAC;AAEK,MAAM,UAAU,GAAG,CAAC,OAAO,GAAG,IAAI,EAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AAArE,QAAA,UAAU,cAA2D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../../src/sgr/color/channel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../../src/sgr/color/channel.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,UAAU,EAAC,MAA6C,gBAAgB,CAAC;AACtF,OAAO,KAAK,EAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAC,MAAM,UAAU,CAAC;AAahF,wBAAgB,WAAW,CAC1B,IAAI,EAAY,WAAW,CAAC,QAAQ,CAAC,EACrC,aAAa,EAAG,aAAa,EAC7B,KAAK,EAAW,KAAK,EACrB,UAAU,EAAM,UAAU,EAC1B,OAAO,EAAS,QAAQ,GACtB,OAAO,CAmBT"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeChannel = makeChannel;
|
|
4
|
+
const utils_1 = require("../../utils");
|
|
4
5
|
const lazy_1 = require("../lazy");
|
|
5
6
|
const context_1 = require("./context");
|
|
6
7
|
const rgb_1 = require("./rgb");
|
|
@@ -20,7 +21,7 @@ function makeChannel(keys, makeFormatter, style, colorDepth, channel) {
|
|
|
20
21
|
const rtn = {
|
|
21
22
|
rgb: (0, rgb_1.makeRGB)(ctx),
|
|
22
23
|
x256: (0, rgb_1.makeX256)(ctx),
|
|
23
|
-
default: colorDepth > 1 ?
|
|
24
|
+
default: colorDepth > 1 ? (0, utils_1.csi)(close, "m") : "",
|
|
24
25
|
};
|
|
25
26
|
for (let i = 0; i < colors.length; i++) {
|
|
26
27
|
const color = colors[i];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../../../../src/sgr/color/channel.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../../../../src/sgr/color/channel.ts"],"names":[],"mappings":";;AAmBA,kCAyBC;AA5CD,uCAA8C;AAC9C,kCAA0C;AAC1C,uCAA4C;AAC5C,+BAAwC;AAKxC,MAAM,MAAM,GAAG;IACd,OAAO;IACP,KAAK;IACL,OAAO;IACP,QAAQ;IACR,MAAM;IACN,SAAS;IACT,MAAM;IACN,OAAO;CACE,CAAC;AAEX,SAAgB,WAAW,CAC1B,IAAqC,EACrC,aAA6B,EAC7B,KAAqB,EACrB,UAA0B,EAC1B,OAAwB;IAExB,MAAM,GAAG,GAAG,IAAA,sBAAY,EAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC1E,MAAM,EAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAC,GAAG,GAAG,CAAC;IAEzC,MAAM,GAAG,GAAG;QACX,GAAG,EAAO,IAAA,aAAO,EAAC,GAAG,CAAC;QACtB,IAAI,EAAM,IAAA,cAAQ,EAAC,GAAG,CAAC;QACvB,OAAO,EAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,WAAG,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;KACpC,CAAC;IAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,KAAK,GAAS,MAAM,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,WAAW,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAEvE,WAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QAClD,WAAI,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,GAAG,CAAC;AACZ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-builder.d.ts","sourceRoot":"","sources":["../../../src/sgr/format-builder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"format-builder.d.ts","sourceRoot":"","sources":["../../../src/sgr/format-builder.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,YAAY,EAAsC,aAAa,EAAC,MAAM,SAAS,CAAC;AAY7F,eAAO,MAAM,iBAAiB,GAAI,WAAW,YAAY,KAAG,aAkC1D,CAAC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeFormatBuilder = void 0;
|
|
4
4
|
const props_1 = require("@peteanderson/props");
|
|
5
|
+
const utils_1 = require("../utils");
|
|
5
6
|
const combine_1 = require("./combine");
|
|
6
7
|
const lazy_1 = require("./lazy");
|
|
7
8
|
const codeSequence = (code) => Array.isArray(code) ? code.join(';') : code;
|
|
@@ -12,8 +13,8 @@ const makeFormatBuilder = (makeChain) => function format(keys, open, close, rese
|
|
|
12
13
|
const empty = Array.isArray(open) && !open.length;
|
|
13
14
|
const openCode = empty ? "" : codeSequence(open);
|
|
14
15
|
const closeCode = empty ? "" : codeSequence(close);
|
|
15
|
-
const openSequence = empty ? "" :
|
|
16
|
-
const closeSequence = empty ? "" :
|
|
16
|
+
const openSequence = empty ? "" : (0, utils_1.csi)(openCode, "m");
|
|
17
|
+
const closeSequence = empty ? "" : (0, utils_1.csi)(closeCode, "m");
|
|
17
18
|
const reopenCode = reset && !empty ? `${closeCode};${openCode}` : openCode;
|
|
18
19
|
const rxClose = new RegExp(`(?<start>\\x1b\\[(?:\\d+;)*)${closeCode}(?<end>(?:;\\d+)*m)`, "g");
|
|
19
20
|
const replace = `$<start>${reopenCode}$<end>`;
|