@peteanderson/ansi 3.3.0 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/README.md +15 -0
  2. package/dist/cjs/ansi.d.ts +4 -1
  3. package/dist/cjs/ansi.d.ts.map +1 -1
  4. package/dist/cjs/ansi.js +4 -2
  5. package/dist/cjs/ansi.js.map +1 -1
  6. package/dist/cjs/features/build.d.ts +1 -1
  7. package/dist/cjs/features/build.d.ts.map +1 -1
  8. package/dist/cjs/features/build.js +17 -3
  9. package/dist/cjs/features/build.js.map +1 -1
  10. package/dist/cjs/features/detect.d.ts.map +1 -1
  11. package/dist/cjs/features/detect.js +2 -0
  12. package/dist/cjs/features/detect.js.map +1 -1
  13. package/dist/cjs/features/features.js +4 -4
  14. package/dist/cjs/features/features.js.map +1 -1
  15. package/dist/cjs/features/types.d.ts +2 -0
  16. package/dist/cjs/features/types.d.ts.map +1 -1
  17. package/dist/cjs/index.d.ts +4 -1
  18. package/dist/cjs/index.d.ts.map +1 -1
  19. package/dist/cjs/ins-del.d.ts +30 -0
  20. package/dist/cjs/ins-del.d.ts.map +1 -0
  21. package/dist/cjs/{erase.js → ins-del.js} +23 -4
  22. package/dist/cjs/ins-del.js.map +1 -0
  23. package/dist/cjs/types.d.ts +3 -1
  24. package/dist/cjs/types.d.ts.map +1 -1
  25. package/dist/esm/ansi.d.ts +4 -1
  26. package/dist/esm/ansi.d.ts.map +1 -1
  27. package/dist/esm/ansi.js +3 -1
  28. package/dist/esm/ansi.js.map +1 -1
  29. package/dist/esm/features/build.d.ts +1 -1
  30. package/dist/esm/features/build.d.ts.map +1 -1
  31. package/dist/esm/features/build.js +17 -3
  32. package/dist/esm/features/build.js.map +1 -1
  33. package/dist/esm/features/detect.d.ts.map +1 -1
  34. package/dist/esm/features/detect.js +2 -0
  35. package/dist/esm/features/detect.js.map +1 -1
  36. package/dist/esm/features/features.js +4 -4
  37. package/dist/esm/features/features.js.map +1 -1
  38. package/dist/esm/features/types.d.ts +2 -0
  39. package/dist/esm/features/types.d.ts.map +1 -1
  40. package/dist/esm/ins-del.d.ts +30 -0
  41. package/dist/esm/ins-del.d.ts.map +1 -0
  42. package/dist/esm/ins-del.js +46 -0
  43. package/dist/esm/ins-del.js.map +1 -0
  44. package/dist/esm/types.d.ts +3 -1
  45. package/dist/esm/types.d.ts.map +1 -1
  46. package/package.json +1 -1
  47. package/src/ansi.ts +13 -11
  48. package/src/features/build.ts +18 -2
  49. package/src/features/detect.ts +2 -0
  50. package/src/features/features.ts +4 -4
  51. package/src/features/types.ts +2 -0
  52. package/src/ins-del.ts +58 -0
  53. package/src/types.ts +3 -1
  54. package/dist/cjs/erase.d.ts +0 -17
  55. package/dist/cjs/erase.d.ts.map +0 -1
  56. package/dist/cjs/erase.js.map +0 -1
  57. package/dist/esm/erase.d.ts +0 -17
  58. package/dist/esm/erase.d.ts.map +0 -1
  59. package/dist/esm/erase.js +0 -29
  60. package/dist/esm/erase.js.map +0 -1
  61. package/src/erase.ts +0 -33
package/README.md CHANGED
@@ -183,10 +183,25 @@ Terminal control features (available if feature is enabled):
183
183
  - `terminal.bracketedPasteMode.enable` / `terminal.bracketedPasteMode.disable` - enable/disable
184
184
  bracketed paste mode
185
185
 
186
+ ### `insert`
187
+
188
+ Available if feature is enabled:
189
+
190
+ - `insert.char(count)` - insert characters (default 1)
191
+ - `insert.line(count)` - insert lines (default 1)
192
+
193
+ ### `delete`
194
+
195
+ Available if feature is enabled:
196
+
197
+ - `delete.char(count)` - delete characters (default 1)
198
+ - `delete.line(count)` - delete lines (default 1)
199
+
186
200
  ### `erase`
187
201
 
188
202
  Available if feature is enabled:
189
203
 
204
+ - `erase.char(count)` - erase characters (default 1)
190
205
  - `erase.line.toStart` / `erase.line.toEnd` / `erase.line.full` - erase line
191
206
  - `erase.screen.toStart` / `erase.screen.toEnd` / `erase.screen.full` - erase screen
192
207
  - `erase.screen.scrollback` - erase screen and scrollback buffer
@@ -31,6 +31,7 @@ export declare const fg: import("./sgr/types").Channel<"bg" | import("./sgr/type
31
31
  default: string;
32
32
  };
33
33
  }, erase: {
34
+ char: (count?: number | undefined) => string;
34
35
  line: {
35
36
  toStart: string;
36
37
  toEnd: string;
@@ -70,7 +71,9 @@ export declare const fg: import("./sgr/types").Channel<"bg" | import("./sgr/type
70
71
  export { padEnd, padStart, splitAt, strip, visibleLength };
71
72
  declare const _default: typeof makeAnsi & import("./sgr").SGR & {
72
73
  cursor: import("./cursor").Cursor;
73
- erase: import("./erase").Erase;
74
+ delete: import("./ins-del").Delete;
75
+ erase: import("./ins-del").Erase;
76
+ insert: import("./ins-del").Insert;
74
77
  scroll: import("./scroll").Scroll;
75
78
  terminal: import("./terminal").Terminal;
76
79
  padEnd: import("./pad").PadEnd;
@@ -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,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"}
1
+ {"version":3,"file":"ansi.d.ts","sourceRoot":"","sources":["../../src/ansi.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAuB,OAAO,CAAC;AAKxD,OAAO,EAAC,OAAO,EAAC,MAAgC,YAAY,CAAC;AAC7D,OAAO,EAAW,KAAK,EAAE,aAAa,EAAC,MAAS,SAAS,CAAC;AAG1D,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,CA0B5C;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
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
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
5
  const cursor_1 = require("./cursor");
6
- const erase_1 = require("./erase");
6
+ const ins_del_1 = require("./ins-del");
7
7
  const features_1 = require("./features");
8
8
  const pad_1 = require("./pad");
9
9
  Object.defineProperty(exports, "padEnd", { enumerable: true, get: function () { return pad_1.padEnd; } });
@@ -23,7 +23,9 @@ function makeAnsi(...args) {
23
23
  return {
24
24
  ...(0, sgr_1.makeSGR)(features),
25
25
  cursor: (0, cursor_1.makeCursor)(features.cursor),
26
- erase: (0, erase_1.makeErase)(features.erase),
26
+ delete: (0, ins_del_1.makeDelete)(features.erase),
27
+ erase: (0, ins_del_1.makeErase)(features.erase),
28
+ insert: (0, ins_del_1.makeInsert)(features.erase),
27
29
  scroll: (0, scroll_1.makeScroll)(features.scroll),
28
30
  terminal: (0, terminal_1.makeTerminal)(features.terminal),
29
31
  padEnd: pad_1.padEnd,
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"ansi.js","sourceRoot":"","sources":["../../src/ansi.ts"],"names":[],"mappings":";;;AAeA,4BA0BC;AAzCD,qCAA2D;AAC3D,uCAA4D;AAC5D,yCAA6D;AAC7D,+BAAwD;AA4ChD,uFA5CA,YAAM,OA4CA;AAAE,yFA5CA,cAAQ,OA4CA;AA3CxB,qCAA2D;AAC3D,+BAAwD;AACxD,yCAA6D;AAC7D,mCAA0D;AAC1D,yCAA6D;AAuCnC,wFAvClB,kBAAO,OAuCkB;AAtCjC,mCAA0D;AAsCvB,sFAtCjB,aAAK,OAsCiB;AAAE,8FAtCjB,qBAAa,OAsCiB;AArCvD,yCAA6D;AAK7D,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,MAAM,EAAG,IAAA,oBAAU,EAAC,QAAQ,CAAC,KAAK,CAAC;QACnC,KAAK,EAAI,IAAA,mBAAS,EAAC,QAAQ,CAAC,KAAK,CAAC;QAClC,MAAM,EAAG,IAAA,oBAAU,EAAC,QAAQ,CAAC,KAAK,CAAC;QACnC,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"}
@@ -1,5 +1,5 @@
1
1
  import type { ColorDepth, Features } from "./types";
2
- export declare function build(isTTY: boolean, colorDepth: ColorDepth, style?: boolean, cursor?: boolean, erase?: boolean, scroll?: boolean, terminal?: boolean): Features;
2
+ export declare function build(isTTY: boolean, colorDepth: ColorDepth, style?: boolean, cursor?: boolean, del?: boolean, erase?: boolean, insert?: 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,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"}
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,GAAG,CAAC,EAAS,OAAO,EACpB,KAAK,CAAC,EAAO,OAAO,EACpB,MAAM,CAAC,EAAM,OAAO,EACpB,MAAM,CAAC,EAAM,OAAO,EACpB,QAAQ,CAAC,EAAI,OAAO,GAClB,QAAQ,CAiCV;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,19 +15,33 @@ function normalizeColorDepth(colorDepth) {
15
15
  return 3;
16
16
  return 1;
17
17
  }
18
- function build(isTTY, colorDepth, style, cursor, erase, scroll, terminal) {
18
+ function build(isTTY, colorDepth, style, cursor, del, erase, insert, scroll, terminal) {
19
19
  if (style !== undefined &&
20
20
  cursor !== undefined &&
21
+ del !== undefined &&
21
22
  erase !== undefined &&
23
+ insert !== undefined &&
22
24
  scroll !== undefined &&
23
- terminal !== undefined)
24
- return { colorDepth: normalizeColorDepth(colorDepth), style, cursor, erase, scroll, terminal };
25
+ terminal !== undefined) {
26
+ return {
27
+ colorDepth: normalizeColorDepth(colorDepth),
28
+ style,
29
+ cursor,
30
+ delete: del,
31
+ erase,
32
+ insert,
33
+ scroll,
34
+ terminal,
35
+ };
36
+ }
25
37
  const support = (0, detect_1.detectFeatureSupport)(isTTY, colorDepth);
26
38
  return {
27
39
  colorDepth: normalizeColorDepth(colorDepth),
28
40
  style: style ?? support.style,
29
41
  cursor: cursor ?? support.cursor,
42
+ delete: del ?? support.delete,
30
43
  erase: erase ?? support.erase,
44
+ insert: insert ?? support.insert,
31
45
  scroll: scroll ?? support.scroll,
32
46
  terminal: terminal ?? support.terminal,
33
47
  };
@@ -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,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
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/features/build.ts"],"names":[],"mappings":";;;AAaA,sBA2CC;AAxDD,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,GAAoB,EACpB,KAAoB,EACpB,MAAoB,EACpB,MAAoB,EACpB,QAAoB;IAEpB,IACC,KAAK,KAAQ,SAAS;QACtB,MAAM,KAAO,SAAS;QACtB,GAAG,KAAU,SAAS;QACtB,KAAK,KAAQ,SAAS;QACtB,MAAM,KAAO,SAAS;QACtB,MAAM,KAAO,SAAS;QACtB,QAAQ,KAAK,SAAS,EACrB,CAAC;QACF,OAAO;YACN,UAAU,EAAE,mBAAmB,CAAC,UAAU,CAAC;YAC3C,KAAK;YACL,MAAM;YACN,MAAM,EAAE,GAAG;YACX,KAAK;YACL,MAAM;YACN,MAAM;YACN,QAAQ;SACR,CAAC;IACH,CAAC;IAED,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,MAAM,EAAO,GAAG,IAAS,OAAO,CAAC,MAAM;QACvC,KAAK,EAAQ,KAAK,IAAO,OAAO,CAAC,KAAK;QACtC,MAAM,EAAO,MAAM,IAAM,OAAO,CAAC,MAAM;QACvC,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.d.ts","sourceRoot":"","sources":["../../../src/features/detect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAElD,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,GAAG,UAAU,CAmBrE;AAED,wBAAgB,oBAAoB,CACnC,KAAK,EAAQ,OAAO,EACpB,UAAU,EAAG,UAAU,GACrB,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAS9B"}
1
+ {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../../src/features/detect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAElD,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,GAAG,UAAU,CAmBrE;AAED,wBAAgB,oBAAoB,CACnC,KAAK,EAAQ,OAAO,EACpB,UAAU,EAAG,UAAU,GACrB,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAW9B"}
@@ -25,7 +25,9 @@ function detectFeatureSupport(isTTY, colorDepth) {
25
25
  return {
26
26
  style: colorDepth > 1,
27
27
  cursor: enabled,
28
+ delete: enabled,
28
29
  erase: enabled,
30
+ insert: enabled,
29
31
  scroll: enabled,
30
32
  terminal: enabled,
31
33
  };
@@ -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,MAAM,EAAK,OAAO;QAClB,KAAK,EAAM,OAAO;QAClB,MAAM,EAAK,OAAO;QAClB,QAAQ,EAAG,OAAO;KAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../../src/features/detect.ts"],"names":[],"mappings":";;AAEA,sCAmBC;AAED,oDAcC;AAnCD,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,MAAM,EAAK,OAAO;QAClB,KAAK,EAAM,OAAO;QAClB,MAAM,EAAK,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, cursor, erase, scroll, terminal } = features;
20
+ const { colorDepth, style, cursor, delete: del, erase, insert, scroll, terminal } = features;
21
21
  stream ??= process.stdout;
22
22
  if (colorDepth)
23
- return (0, build_1.build)(stream.isTTY, colorDepth, style, cursor, erase, scroll, terminal);
23
+ return (0, build_1.build)(stream.isTTY, colorDepth, style, cursor, del, erase, insert, scroll, terminal);
24
24
  if (stream.isTTY)
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);
25
+ return (0, build_1.build)(true, (0, detect_1.getColorDepth)(stream), style, cursor, del, erase, insert, scroll, terminal);
26
+ return (0, build_1.build)(false, (0, detect_1.getColorDepth)(), style, cursor, del, erase, insert, 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,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
+ {"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,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAC,GAAG,QAAQ,CAAC;IAE3F,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC;IAE1B,IAAI,UAAU;QACb,OAAO,IAAA,aAAK,EAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE7F,IAAI,MAAM,CAAC,KAAK;QACf,OAAO,IAAA,aAAK,EAAC,IAAI,EAAE,IAAA,sBAAa,EAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEhG,OAAO,IAAA,aAAK,EAAC,KAAK,EAAE,IAAA,sBAAa,GAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC3F,CAAC"}
@@ -4,7 +4,9 @@ export interface Features {
4
4
  colorDepth: ColorDepth;
5
5
  style: boolean;
6
6
  cursor: boolean;
7
+ delete: boolean;
7
8
  erase: boolean;
9
+ insert: boolean;
8
10
  scroll: boolean;
9
11
  terminal: boolean;
10
12
  }
@@ -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,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"}
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,MAAM,EAAO,OAAO,CAAC;IACrB,KAAK,EAAQ,OAAO,CAAC;IACrB,MAAM,EAAO,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"}
@@ -4,7 +4,9 @@ declare namespace ansi {
4
4
  }
5
5
  declare const ansi: typeof $ansi.makeAnsi & import("./sgr").SGR & {
6
6
  cursor: import("./cursor").Cursor;
7
- erase: import("./erase").Erase;
7
+ delete: import("./ins-del").Delete;
8
+ erase: import("./ins-del").Erase;
9
+ insert: import("./ins-del").Insert;
8
10
  scroll: import("./scroll").Scroll;
9
11
  terminal: import("./terminal").Terminal;
10
12
  padEnd: import("./pad").PadEnd;
@@ -50,6 +52,7 @@ declare const ansi: typeof $ansi.makeAnsi & import("./sgr").SGR & {
50
52
  };
51
53
  };
52
54
  erase: {
55
+ char: (count?: number | undefined) => string;
53
56
  line: {
54
57
  toStart: string;
55
58
  toEnd: string;
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAkC,CAAC;AAE7C,SAAS,IAAI,CAAC"}
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"}
@@ -0,0 +1,30 @@
1
+ declare const erase: {
2
+ char: (count?: number | undefined) => string;
3
+ line: {
4
+ toStart: string;
5
+ toEnd: string;
6
+ full: string;
7
+ };
8
+ screen: {
9
+ toStart: string;
10
+ toEnd: string;
11
+ full: string;
12
+ scrollback: string;
13
+ };
14
+ };
15
+ declare const insert: {
16
+ char: (count?: number | undefined) => string;
17
+ line: (count?: number | undefined) => string;
18
+ };
19
+ declare const del: {
20
+ char: (count?: number | undefined) => string;
21
+ line: (count?: number | undefined) => string;
22
+ };
23
+ export type Erase = typeof erase;
24
+ export type Insert = typeof insert;
25
+ export type Delete = typeof del;
26
+ export declare const makeErase: (enabled?: boolean) => Erase;
27
+ export declare const makeInsert: (enabled?: boolean) => Insert;
28
+ export declare const makeDelete: (enabled?: boolean) => Delete;
29
+ export {};
30
+ //# sourceMappingURL=ins-del.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ins-del.d.ts","sourceRoot":"","sources":["../../src/ins-del.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,KAAK;;;;;;;;;;;;;CAcV,CAAC;AAEF,QAAA,MAAM,MAAM;;;CAGX,CAAC;AAEF,QAAA,MAAM,GAAG;;;CAGR,CAAC;AAEF,MAAM,MAAM,KAAK,GAAI,OAAO,KAAK,CAAC;AAClC,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AACnC,MAAM,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC;AAyBhC,eAAO,MAAM,SAAS,GAAK,iBAAc,KAAG,KAA0C,CAAC;AACvF,eAAO,MAAM,UAAU,GAAI,iBAAc,KAAG,MAA2C,CAAC;AACxF,eAAO,MAAM,UAAU,GAAI,iBAAc,KAAG,MAA2C,CAAC"}
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeErase = void 0;
3
+ exports.makeDelete = exports.makeInsert = exports.makeErase = void 0;
4
4
  const utils_1 = require("./utils");
5
5
  const erase = {
6
+ char: (0, utils_1.count)("X"),
6
7
  line: {
7
8
  toStart: (0, utils_1.csi)("1K"),
8
9
  toEnd: (0, utils_1.csi)("0K"),
@@ -15,7 +16,16 @@ const erase = {
15
16
  scrollback: (0, utils_1.csi)("3J"),
16
17
  },
17
18
  };
18
- const disabled = {
19
+ const insert = {
20
+ char: (0, utils_1.count)("@"),
21
+ line: (0, utils_1.count)("L"),
22
+ };
23
+ const del = {
24
+ char: (0, utils_1.count)("P"),
25
+ line: (0, utils_1.count)("M"),
26
+ };
27
+ const disabledErase = {
28
+ char: utils_1.noop,
19
29
  line: {
20
30
  toStart: "",
21
31
  toEnd: "",
@@ -28,6 +38,15 @@ const disabled = {
28
38
  scrollback: "",
29
39
  },
30
40
  };
31
- const makeErase = (enabled = true) => enabled ? erase : disabled;
41
+ const disabledInsert = {
42
+ char: utils_1.noop,
43
+ line: utils_1.noop,
44
+ };
45
+ const disabledDelete = disabledInsert;
46
+ const makeErase = (enabled = true) => enabled ? erase : disabledErase;
32
47
  exports.makeErase = makeErase;
33
- //# sourceMappingURL=erase.js.map
48
+ const makeInsert = (enabled = true) => enabled ? insert : disabledInsert;
49
+ exports.makeInsert = makeInsert;
50
+ const makeDelete = (enabled = true) => enabled ? del : disabledDelete;
51
+ exports.makeDelete = makeDelete;
52
+ //# sourceMappingURL=ins-del.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ins-del.js","sourceRoot":"","sources":["../../src/ins-del.ts"],"names":[],"mappings":";;;AAAA,mCAAyC;AAEzC,MAAM,KAAK,GAAG;IACb,IAAI,EAAE,IAAA,aAAK,EAAC,GAAG,CAAC;IAEhB,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;AAEF,MAAM,MAAM,GAAG;IACd,IAAI,EAAE,IAAA,aAAK,EAAC,GAAG,CAAC;IAChB,IAAI,EAAE,IAAA,aAAK,EAAC,GAAG,CAAC;CAChB,CAAC;AAEF,MAAM,GAAG,GAAG;IACX,IAAI,EAAE,IAAA,aAAK,EAAC,GAAG,CAAC;IAChB,IAAI,EAAE,IAAA,aAAK,EAAC,GAAG,CAAC;CAChB,CAAC;AAMF,MAAM,aAAa,GAAU;IAC5B,IAAI,EAAE,YAAI;IAEV,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;AAEF,MAAM,cAAc,GAAW;IAC9B,IAAI,EAAE,YAAI;IACV,IAAI,EAAE,YAAI;CACV,CAAC;AAEF,MAAM,cAAc,GAAW,cAAc,CAAC;AAEvC,MAAM,SAAS,GAAI,CAAC,OAAO,GAAG,IAAI,EAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAE,CAAC,CAAC,aAAa,CAAC;AAA1E,QAAA,SAAS,aAAiE;AAChF,MAAM,UAAU,GAAG,CAAC,OAAO,GAAG,IAAI,EAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC;AAA3E,QAAA,UAAU,cAAiE;AACjF,MAAM,UAAU,GAAG,CAAC,OAAO,GAAG,IAAI,EAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAI,CAAC,CAAC,cAAc,CAAC;AAA3E,QAAA,UAAU,cAAiE"}
@@ -1,5 +1,5 @@
1
1
  import type { Cursor } from "./cursor";
2
- import type { Erase } from "./erase";
2
+ import type { Delete, Erase, Insert } from "./ins-del";
3
3
  import type { Features } from "./features";
4
4
  import type { PadEnd, PadStart } from "./pad";
5
5
  import type { Scroll } from "./scroll";
@@ -11,7 +11,9 @@ import type { Sanitize, Strip, VisibleLength } from "./strip";
11
11
  import type { Terminal } from "./terminal";
12
12
  export type Ansi = SGR & {
13
13
  cursor: Cursor;
14
+ delete: Delete;
14
15
  erase: Erase;
16
+ insert: Insert;
15
17
  scroll: Scroll;
16
18
  terminal: Terminal;
17
19
  padEnd: PadEnd;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAA8B,UAAU,CAAC;AAC7D,OAAO,KAAK,EAAC,KAAK,EAAC,MAA+B,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAC,QAAQ,EAAC,MAA4B,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAoB,OAAO,CAAC;AAC1D,OAAO,KAAK,EAAC,MAAM,EAAC,MAA8B,UAAU,CAAC;AAC7D,OAAO,KAAK,EAAC,GAAG,EAAC,MAAiC,OAAO,CAAC;AAC1D,OAAO,KAAK,EAAC,QAAQ,EAAC,MAA4B,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAC,KAAK,EAAC,MAA+B,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAC,OAAO,EAAC,MAA6B,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAC,QAAQ,EAAC,MAA4B,YAAY,CAAC;AAE/D,MAAM,MAAM,IAAI,GAAG,GAAG,GAAG;IACxB,MAAM,EAAK,MAAM,CAAC;IAClB,KAAK,EAAM,KAAK,CAAC;IACjB,MAAM,EAAK,MAAM,CAAC;IAClB,QAAQ,EAAG,QAAQ,CAAC;IAEpB,MAAM,EAAK,MAAM,CAAC;IAClB,QAAQ,EAAG,QAAQ,CAAC;IAEpB,KAAK,EAAW,KAAK,CAAC;IACtB,aAAa,EAAG,aAAa,CAAC;IAC9B,QAAQ,EAAQ,QAAQ,CAAC;IACzB,KAAK,EAAW,KAAK,CAAC;IACtB,OAAO,EAAS,OAAO,CAAC;IACxB,QAAQ,EAAQ,QAAQ,CAAC;IAEzB,QAAQ,EAAG,QAAQ,CAAC;CACpB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAA8B,UAAU,CAAC;AAC7D,OAAO,KAAK,EAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAC,MAAe,WAAW,CAAC;AAC9D,OAAO,KAAK,EAAC,QAAQ,EAAC,MAA4B,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAoB,OAAO,CAAC;AAC1D,OAAO,KAAK,EAAC,MAAM,EAAC,MAA8B,UAAU,CAAC;AAC7D,OAAO,KAAK,EAAC,GAAG,EAAC,MAAiC,OAAO,CAAC;AAC1D,OAAO,KAAK,EAAC,QAAQ,EAAC,MAA4B,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAC,KAAK,EAAC,MAA+B,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAC,OAAO,EAAC,MAA6B,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAC,QAAQ,EAAC,MAA4B,YAAY,CAAC;AAE/D,MAAM,MAAM,IAAI,GAAG,GAAG,GAAG;IACxB,MAAM,EAAK,MAAM,CAAC;IAClB,MAAM,EAAK,MAAM,CAAC;IAClB,KAAK,EAAM,KAAK,CAAC;IACjB,MAAM,EAAK,MAAM,CAAC;IAClB,MAAM,EAAK,MAAM,CAAC;IAClB,QAAQ,EAAG,QAAQ,CAAC;IAEpB,MAAM,EAAK,MAAM,CAAC;IAClB,QAAQ,EAAG,QAAQ,CAAC;IAEpB,KAAK,EAAW,KAAK,CAAC;IACtB,aAAa,EAAG,aAAa,CAAC;IAC9B,QAAQ,EAAQ,QAAQ,CAAC;IACzB,KAAK,EAAW,KAAK,CAAC;IACtB,OAAO,EAAS,OAAO,CAAC;IACxB,QAAQ,EAAQ,QAAQ,CAAC;IAEzB,QAAQ,EAAG,QAAQ,CAAC;CACpB,CAAC"}
@@ -31,6 +31,7 @@ export declare const fg: import("./sgr/types.js").Channel<"bg" | import("./sgr/t
31
31
  default: string;
32
32
  };
33
33
  }, erase: {
34
+ char: (count?: number | undefined) => string;
34
35
  line: {
35
36
  toStart: string;
36
37
  toEnd: string;
@@ -70,7 +71,9 @@ export declare const fg: import("./sgr/types.js").Channel<"bg" | import("./sgr/t
70
71
  export { padEnd, padStart, splitAt, strip, visibleLength };
71
72
  declare const _default: typeof makeAnsi & import("./sgr/index.js").SGR & {
72
73
  cursor: import("./cursor.js").Cursor;
73
- erase: import("./erase.js").Erase;
74
+ delete: import("./ins-del.js").Delete;
75
+ erase: import("./ins-del.js").Erase;
76
+ insert: import("./ins-del.js").Insert;
74
77
  scroll: import("./scroll.js").Scroll;
75
78
  terminal: import("./terminal.js").Terminal;
76
79
  padEnd: import("./pad.js").PadEnd;
@@ -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,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"}
1
+ {"version":3,"file":"ansi.d.ts","sourceRoot":"","sources":["../../src/ansi.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAuB,OAAO,CAAC;AAKxD,OAAO,EAAC,OAAO,EAAC,MAAgC,YAAY,CAAC;AAC7D,OAAO,EAAW,KAAK,EAAE,aAAa,EAAC,MAAS,SAAS,CAAC;AAG1D,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,CA0B5C;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/esm/ansi.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { makeCursor } from "./cursor.js";
2
- import { makeErase } from "./erase.js";
2
+ import { makeDelete, makeErase, makeInsert } from "./ins-del.js";
3
3
  import { getFeatures } from "./features/index.js";
4
4
  import { padEnd, padStart } from "./pad.js";
5
5
  import { makeScroll } from "./scroll.js";
@@ -14,7 +14,9 @@ export function makeAnsi(...args) {
14
14
  return {
15
15
  ...makeSGR(features),
16
16
  cursor: makeCursor(features.cursor),
17
+ delete: makeDelete(features.erase),
17
18
  erase: makeErase(features.erase),
19
+ insert: makeInsert(features.erase),
18
20
  scroll: makeScroll(features.scroll),
19
21
  terminal: makeTerminal(features.terminal),
20
22
  padEnd,
@@ -1 +1 @@
1
- {"version":3,"file":"ansi.js","sourceRoot":"","sources":["../../src/ansi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAA0B,UAAU,CAAC;AACxD,OAAO,EAAC,SAAS,EAAC,MAA2B,SAAS,CAAC;AACvD,OAAO,EAAC,WAAW,EAAC,MAAyB,YAAY,CAAC;AAC1D,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAoB,OAAO,CAAC;AACrD,OAAO,EAAC,UAAU,EAAC,MAA0B,UAAU,CAAC;AACxD,OAAO,EAAC,OAAO,EAAC,MAA6B,OAAO,CAAC;AACrD,OAAO,EAAC,QAAQ,EAAC,MAA4B,YAAY,CAAC;AAC1D,OAAO,EAAC,KAAK,EAAC,MAA+B,SAAS,CAAC;AACvD,OAAO,EAAC,OAAO,EAAC,MAA6B,YAAY,CAAC;AAC1D,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AACvD,OAAO,EAAC,YAAY,EAAC,MAAwB,YAAY,CAAC;AAK1D,MAAM,UAAU,QAAQ,CAAC,GAAG,IAAU;IACrC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;IAEtC,OAAO;QACN,GAAG,OAAO,CAAC,QAAQ,CAAC;QAEpB,MAAM,EAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QACpC,KAAK,EAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;QAClC,MAAM,EAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAEpC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAEzC,MAAM;QACN,QAAQ;QAER,KAAK;QACL,aAAa;QACb,QAAQ;QACR,KAAK;QACL,QAAQ;QACR,OAAO;QAEP,QAAQ;KACR,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;AAE/B,MAAM,CAAC,MAAM,EAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAC,GAAG,IAAI,CAAC;AAE5E,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAC,CAAA;AAExD,eAAe,MAAM,CAAC,MAAM,CAC3B,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAC,KAAK,EAAE,MAAM,EAAC,CAAC,EACxE,IAAI,CACJ,CAAC"}
1
+ {"version":3,"file":"ansi.js","sourceRoot":"","sources":["../../src/ansi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAA6B,UAAU,CAAC;AAC3D,OAAO,EAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAC,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAC,WAAW,EAAC,MAA4B,YAAY,CAAC;AAC7D,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAuB,OAAO,CAAC;AACxD,OAAO,EAAC,UAAU,EAAC,MAA6B,UAAU,CAAC;AAC3D,OAAO,EAAC,OAAO,EAAC,MAAgC,OAAO,CAAC;AACxD,OAAO,EAAC,QAAQ,EAAC,MAA+B,YAAY,CAAC;AAC7D,OAAO,EAAC,KAAK,EAAC,MAAkC,SAAS,CAAC;AAC1D,OAAO,EAAC,OAAO,EAAC,MAAgC,YAAY,CAAC;AAC7D,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAC,MAAS,SAAS,CAAC;AAC1D,OAAO,EAAC,YAAY,EAAC,MAA2B,YAAY,CAAC;AAK7D,MAAM,UAAU,QAAQ,CAAC,GAAG,IAAU;IACrC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;IAEtC,OAAO;QACN,GAAG,OAAO,CAAC,QAAQ,CAAC;QAEpB,MAAM,EAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QACpC,MAAM,EAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QACnC,KAAK,EAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;QAClC,MAAM,EAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QACnC,MAAM,EAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAEpC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAEzC,MAAM;QACN,QAAQ;QAER,KAAK;QACL,aAAa;QACb,QAAQ;QACR,KAAK;QACL,QAAQ;QACR,OAAO;QAEP,QAAQ;KACR,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;AAE/B,MAAM,CAAC,MAAM,EAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAC,GAAG,IAAI,CAAC;AAE5E,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAC,CAAA;AAExD,eAAe,MAAM,CAAC,MAAM,CAC3B,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAC,KAAK,EAAE,MAAM,EAAC,CAAC,EACxE,IAAI,CACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { ColorDepth, Features } from "./types.js";
2
- export declare function build(isTTY: boolean, colorDepth: ColorDepth, style?: boolean, cursor?: boolean, erase?: boolean, scroll?: boolean, terminal?: boolean): Features;
2
+ export declare function build(isTTY: boolean, colorDepth: ColorDepth, style?: boolean, cursor?: boolean, del?: boolean, erase?: boolean, insert?: 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,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"}
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,GAAG,CAAC,EAAS,OAAO,EACpB,KAAK,CAAC,EAAO,OAAO,EACpB,MAAM,CAAC,EAAM,OAAO,EACpB,MAAM,CAAC,EAAM,OAAO,EACpB,QAAQ,CAAC,EAAI,OAAO,GAClB,QAAQ,CAiCV;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"}
@@ -11,19 +11,33 @@ function normalizeColorDepth(colorDepth) {
11
11
  return 3;
12
12
  return 1;
13
13
  }
14
- export function build(isTTY, colorDepth, style, cursor, erase, scroll, terminal) {
14
+ export function build(isTTY, colorDepth, style, cursor, del, erase, insert, scroll, terminal) {
15
15
  if (style !== undefined &&
16
16
  cursor !== undefined &&
17
+ del !== undefined &&
17
18
  erase !== undefined &&
19
+ insert !== undefined &&
18
20
  scroll !== undefined &&
19
- terminal !== undefined)
20
- return { colorDepth: normalizeColorDepth(colorDepth), style, cursor, erase, scroll, terminal };
21
+ terminal !== undefined) {
22
+ return {
23
+ colorDepth: normalizeColorDepth(colorDepth),
24
+ style,
25
+ cursor,
26
+ delete: del,
27
+ erase,
28
+ insert,
29
+ scroll,
30
+ terminal,
31
+ };
32
+ }
21
33
  const support = detectFeatureSupport(isTTY, colorDepth);
22
34
  return {
23
35
  colorDepth: normalizeColorDepth(colorDepth),
24
36
  style: style ?? support.style,
25
37
  cursor: cursor ?? support.cursor,
38
+ delete: del ?? support.delete,
26
39
  erase: erase ?? support.erase,
40
+ insert: insert ?? support.insert,
27
41
  scroll: scroll ?? support.scroll,
28
42
  terminal: terminal ?? support.terminal,
29
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/features/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAE,aAAa,EAAC,MAAM,UAAU,CAAC;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,MAAM,UAAU,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,oBAAoB,CAAC,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;AAED,MAAM,CAAC,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;AAE/B,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAc,EAAE,UAAsB,EAAY,EAAE,CAC1E,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAE1B,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,MAA0B,EAAY,EAAE,CAC3D,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;AAEpC,MAAM,CAAC,MAAM,IAAI,GAAG,GAAa,EAAE,CAClC,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/features/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAE,aAAa,EAAC,MAAM,UAAU,CAAC;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,MAAM,UAAU,KAAK,CACpB,KAAoB,EACpB,UAAuB,EACvB,KAAoB,EACpB,MAAoB,EACpB,GAAoB,EACpB,KAAoB,EACpB,MAAoB,EACpB,MAAoB,EACpB,QAAoB;IAEpB,IACC,KAAK,KAAQ,SAAS;QACtB,MAAM,KAAO,SAAS;QACtB,GAAG,KAAU,SAAS;QACtB,KAAK,KAAQ,SAAS;QACtB,MAAM,KAAO,SAAS;QACtB,MAAM,KAAO,SAAS;QACtB,QAAQ,KAAK,SAAS,EACrB,CAAC;QACF,OAAO;YACN,UAAU,EAAE,mBAAmB,CAAC,UAAU,CAAC;YAC3C,KAAK;YACL,MAAM;YACN,MAAM,EAAE,GAAG;YACX,KAAK;YACL,MAAM;YACN,MAAM;YACN,QAAQ;SACR,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,oBAAoB,CAAC,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,MAAM,EAAO,GAAG,IAAS,OAAO,CAAC,MAAM;QACvC,KAAK,EAAQ,KAAK,IAAO,OAAO,CAAC,KAAK;QACtC,MAAM,EAAO,MAAM,IAAM,OAAO,CAAC,MAAM;QACvC,MAAM,EAAO,MAAM,IAAM,OAAO,CAAC,MAAM;QACvC,QAAQ,EAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ;KACzC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,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;AAE/B,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAc,EAAE,UAAsB,EAAY,EAAE,CAC1E,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAE1B,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,MAA0B,EAAY,EAAE,CAC3D,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;AAEpC,MAAM,CAAC,MAAM,IAAI,GAAG,GAAa,EAAE,CAClC,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../../src/features/detect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAElD,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,GAAG,UAAU,CAmBrE;AAED,wBAAgB,oBAAoB,CACnC,KAAK,EAAQ,OAAO,EACpB,UAAU,EAAG,UAAU,GACrB,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAS9B"}
1
+ {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../../src/features/detect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAElD,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,GAAG,UAAU,CAmBrE;AAED,wBAAgB,oBAAoB,CACnC,KAAK,EAAQ,OAAO,EACpB,UAAU,EAAG,UAAU,GACrB,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAW9B"}
@@ -21,7 +21,9 @@ export function detectFeatureSupport(isTTY, colorDepth) {
21
21
  return {
22
22
  style: colorDepth > 1,
23
23
  cursor: enabled,
24
+ delete: enabled,
24
25
  erase: enabled,
26
+ insert: enabled,
25
27
  scroll: enabled,
26
28
  terminal: enabled,
27
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../../src/features/detect.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,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,MAAM,UAAU,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"}
1
+ {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../../src/features/detect.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,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,MAAM,UAAU,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,MAAM,EAAK,OAAO;QAClB,KAAK,EAAM,OAAO;QAClB,MAAM,EAAK,OAAO;QAClB,MAAM,EAAK,OAAO;QAClB,QAAQ,EAAG,OAAO;KAClB,CAAC;AACH,CAAC"}
@@ -14,12 +14,12 @@ export function getFeatures(...args) {
14
14
  return tty(features);
15
15
  if (features instanceof Socket)
16
16
  return pipe();
17
- const { colorDepth, style, cursor, erase, scroll, terminal } = features;
17
+ const { colorDepth, style, cursor, delete: del, erase, insert, scroll, terminal } = features;
18
18
  stream ??= process.stdout;
19
19
  if (colorDepth)
20
- return build(stream.isTTY, colorDepth, style, cursor, erase, scroll, terminal);
20
+ return build(stream.isTTY, colorDepth, style, cursor, del, erase, insert, scroll, terminal);
21
21
  if (stream.isTTY)
22
- return build(true, getColorDepth(stream), style, cursor, erase, scroll, terminal);
23
- return build(false, getColorDepth(), style, cursor, erase, scroll, terminal);
22
+ return build(true, getColorDepth(stream), style, cursor, del, erase, insert, scroll, terminal);
23
+ return build(false, getColorDepth(), style, cursor, del, erase, insert, scroll, terminal);
24
24
  }
25
25
  //# sourceMappingURL=features.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"features.js","sourceRoot":"","sources":["../../../src/features/features.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAiC,UAAU,CAAC;AAC3D,OAAO,EAAC,WAAW,EAAC,MAA4B,UAAU,CAAC;AAC3D,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAC,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAC,aAAa,EAAC,MAA0B,UAAU,CAAC;AAI3D,MAAM,UAAU,WAAW,CAAC,GAAG,IAAU;IACxC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAE9B,IAAI,OAAO,QAAQ,KAAK,SAAS;QAChC,OAAO,OAAO,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAE5D,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAC/B,OAAO,MAAM,CAAC,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,WAAW;QAClC,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEtB,IAAI,QAAQ,YAAY,MAAM;QAC7B,OAAO,IAAI,EAAE,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,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEhF,IAAI,MAAM,CAAC,KAAK;QACf,OAAO,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEnF,OAAO,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"features.js","sourceRoot":"","sources":["../../../src/features/features.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAiC,UAAU,CAAC;AAC3D,OAAO,EAAC,WAAW,EAAC,MAA4B,UAAU,CAAC;AAC3D,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAC,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAC,aAAa,EAAC,MAA0B,UAAU,CAAC;AAI3D,MAAM,UAAU,WAAW,CAAC,GAAG,IAAU;IACxC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAE9B,IAAI,OAAO,QAAQ,KAAK,SAAS;QAChC,OAAO,OAAO,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAE5D,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAC/B,OAAO,MAAM,CAAC,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,WAAW;QAClC,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEtB,IAAI,QAAQ,YAAY,MAAM;QAC7B,OAAO,IAAI,EAAE,CAAC;IAEf,MAAM,EAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAC,GAAG,QAAQ,CAAC;IAE3F,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC;IAE1B,IAAI,UAAU;QACb,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE7F,IAAI,MAAM,CAAC,KAAK;QACf,OAAO,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEhG,OAAO,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC3F,CAAC"}
@@ -4,7 +4,9 @@ export interface Features {
4
4
  colorDepth: ColorDepth;
5
5
  style: boolean;
6
6
  cursor: boolean;
7
+ delete: boolean;
7
8
  erase: boolean;
9
+ insert: boolean;
8
10
  scroll: boolean;
9
11
  terminal: boolean;
10
12
  }
@@ -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,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"}
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,MAAM,EAAO,OAAO,CAAC;IACrB,KAAK,EAAQ,OAAO,CAAC;IACrB,MAAM,EAAO,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"}
@@ -0,0 +1,30 @@
1
+ declare const erase: {
2
+ char: (count?: number | undefined) => string;
3
+ line: {
4
+ toStart: string;
5
+ toEnd: string;
6
+ full: string;
7
+ };
8
+ screen: {
9
+ toStart: string;
10
+ toEnd: string;
11
+ full: string;
12
+ scrollback: string;
13
+ };
14
+ };
15
+ declare const insert: {
16
+ char: (count?: number | undefined) => string;
17
+ line: (count?: number | undefined) => string;
18
+ };
19
+ declare const del: {
20
+ char: (count?: number | undefined) => string;
21
+ line: (count?: number | undefined) => string;
22
+ };
23
+ export type Erase = typeof erase;
24
+ export type Insert = typeof insert;
25
+ export type Delete = typeof del;
26
+ export declare const makeErase: (enabled?: boolean) => Erase;
27
+ export declare const makeInsert: (enabled?: boolean) => Insert;
28
+ export declare const makeDelete: (enabled?: boolean) => Delete;
29
+ export {};
30
+ //# sourceMappingURL=ins-del.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ins-del.d.ts","sourceRoot":"","sources":["../../src/ins-del.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,KAAK;;;;;;;;;;;;;CAcV,CAAC;AAEF,QAAA,MAAM,MAAM;;;CAGX,CAAC;AAEF,QAAA,MAAM,GAAG;;;CAGR,CAAC;AAEF,MAAM,MAAM,KAAK,GAAI,OAAO,KAAK,CAAC;AAClC,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AACnC,MAAM,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC;AAyBhC,eAAO,MAAM,SAAS,GAAK,iBAAc,KAAG,KAA0C,CAAC;AACvF,eAAO,MAAM,UAAU,GAAI,iBAAc,KAAG,MAA2C,CAAC;AACxF,eAAO,MAAM,UAAU,GAAI,iBAAc,KAAG,MAA2C,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { count, csi, noop } from "./utils.js";
2
+ const erase = {
3
+ char: count("X"),
4
+ line: {
5
+ toStart: csi("1K"),
6
+ toEnd: csi("0K"),
7
+ full: csi("2K"),
8
+ },
9
+ screen: {
10
+ toStart: csi("1J"),
11
+ toEnd: csi("0J"),
12
+ full: csi("2J"),
13
+ scrollback: csi("3J"),
14
+ },
15
+ };
16
+ const insert = {
17
+ char: count("@"),
18
+ line: count("L"),
19
+ };
20
+ const del = {
21
+ char: count("P"),
22
+ line: count("M"),
23
+ };
24
+ const disabledErase = {
25
+ char: noop,
26
+ line: {
27
+ toStart: "",
28
+ toEnd: "",
29
+ full: "",
30
+ },
31
+ screen: {
32
+ toStart: "",
33
+ toEnd: "",
34
+ full: "",
35
+ scrollback: "",
36
+ },
37
+ };
38
+ const disabledInsert = {
39
+ char: noop,
40
+ line: noop,
41
+ };
42
+ const disabledDelete = disabledInsert;
43
+ export const makeErase = (enabled = true) => enabled ? erase : disabledErase;
44
+ export const makeInsert = (enabled = true) => enabled ? insert : disabledInsert;
45
+ export const makeDelete = (enabled = true) => enabled ? del : disabledDelete;
46
+ //# sourceMappingURL=ins-del.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ins-del.js","sourceRoot":"","sources":["../../src/ins-del.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAC,MAAM,SAAS,CAAC;AAEzC,MAAM,KAAK,GAAG;IACb,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;IAEhB,IAAI,EAAE;QACL,OAAO,EAAG,GAAG,CAAC,IAAI,CAAC;QACnB,KAAK,EAAK,GAAG,CAAC,IAAI,CAAC;QACnB,IAAI,EAAM,GAAG,CAAC,IAAI,CAAC;KACnB;IACD,MAAM,EAAE;QACP,OAAO,EAAM,GAAG,CAAC,IAAI,CAAC;QACtB,KAAK,EAAQ,GAAG,CAAC,IAAI,CAAC;QACtB,IAAI,EAAS,GAAG,CAAC,IAAI,CAAC;QACtB,UAAU,EAAG,GAAG,CAAC,IAAI,CAAC;KACtB;CACD,CAAC;AAEF,MAAM,MAAM,GAAG;IACd,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;IAChB,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;CAChB,CAAC;AAEF,MAAM,GAAG,GAAG;IACX,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;IAChB,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;CAChB,CAAC;AAMF,MAAM,aAAa,GAAU;IAC5B,IAAI,EAAE,IAAI;IAEV,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;AAEF,MAAM,cAAc,GAAW;IAC9B,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;CACV,CAAC;AAEF,MAAM,cAAc,GAAW,cAAc,CAAC;AAE9C,MAAM,CAAC,MAAM,SAAS,GAAI,CAAC,OAAO,GAAG,IAAI,EAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAE,CAAC,CAAC,aAAa,CAAC;AACvF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAO,GAAG,IAAI,EAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC;AACxF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAO,GAAG,IAAI,EAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAI,CAAC,CAAC,cAAc,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { Cursor } from "./cursor.js";
2
- import type { Erase } from "./erase.js";
2
+ import type { Delete, Erase, Insert } from "./ins-del.js";
3
3
  import type { Features } from "./features/index.js";
4
4
  import type { PadEnd, PadStart } from "./pad.js";
5
5
  import type { Scroll } from "./scroll.js";
@@ -11,7 +11,9 @@ import type { Sanitize, Strip, VisibleLength } from "./strip.js";
11
11
  import type { Terminal } from "./terminal.js";
12
12
  export type Ansi = SGR & {
13
13
  cursor: Cursor;
14
+ delete: Delete;
14
15
  erase: Erase;
16
+ insert: Insert;
15
17
  scroll: Scroll;
16
18
  terminal: Terminal;
17
19
  padEnd: PadEnd;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAA8B,UAAU,CAAC;AAC7D,OAAO,KAAK,EAAC,KAAK,EAAC,MAA+B,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAC,QAAQ,EAAC,MAA4B,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAoB,OAAO,CAAC;AAC1D,OAAO,KAAK,EAAC,MAAM,EAAC,MAA8B,UAAU,CAAC;AAC7D,OAAO,KAAK,EAAC,GAAG,EAAC,MAAiC,OAAO,CAAC;AAC1D,OAAO,KAAK,EAAC,QAAQ,EAAC,MAA4B,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAC,KAAK,EAAC,MAA+B,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAC,OAAO,EAAC,MAA6B,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAC,QAAQ,EAAC,MAA4B,YAAY,CAAC;AAE/D,MAAM,MAAM,IAAI,GAAG,GAAG,GAAG;IACxB,MAAM,EAAK,MAAM,CAAC;IAClB,KAAK,EAAM,KAAK,CAAC;IACjB,MAAM,EAAK,MAAM,CAAC;IAClB,QAAQ,EAAG,QAAQ,CAAC;IAEpB,MAAM,EAAK,MAAM,CAAC;IAClB,QAAQ,EAAG,QAAQ,CAAC;IAEpB,KAAK,EAAW,KAAK,CAAC;IACtB,aAAa,EAAG,aAAa,CAAC;IAC9B,QAAQ,EAAQ,QAAQ,CAAC;IACzB,KAAK,EAAW,KAAK,CAAC;IACtB,OAAO,EAAS,OAAO,CAAC;IACxB,QAAQ,EAAQ,QAAQ,CAAC;IAEzB,QAAQ,EAAG,QAAQ,CAAC;CACpB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAA8B,UAAU,CAAC;AAC7D,OAAO,KAAK,EAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAC,MAAe,WAAW,CAAC;AAC9D,OAAO,KAAK,EAAC,QAAQ,EAAC,MAA4B,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAoB,OAAO,CAAC;AAC1D,OAAO,KAAK,EAAC,MAAM,EAAC,MAA8B,UAAU,CAAC;AAC7D,OAAO,KAAK,EAAC,GAAG,EAAC,MAAiC,OAAO,CAAC;AAC1D,OAAO,KAAK,EAAC,QAAQ,EAAC,MAA4B,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAC,KAAK,EAAC,MAA+B,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAC,OAAO,EAAC,MAA6B,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAC,QAAQ,EAAC,MAA4B,YAAY,CAAC;AAE/D,MAAM,MAAM,IAAI,GAAG,GAAG,GAAG;IACxB,MAAM,EAAK,MAAM,CAAC;IAClB,MAAM,EAAK,MAAM,CAAC;IAClB,KAAK,EAAM,KAAK,CAAC;IACjB,MAAM,EAAK,MAAM,CAAC;IAClB,MAAM,EAAK,MAAM,CAAC;IAClB,QAAQ,EAAG,QAAQ,CAAC;IAEpB,MAAM,EAAK,MAAM,CAAC;IAClB,QAAQ,EAAG,QAAQ,CAAC;IAEpB,KAAK,EAAW,KAAK,CAAC;IACtB,aAAa,EAAG,aAAa,CAAC;IAC9B,QAAQ,EAAQ,QAAQ,CAAC;IACzB,KAAK,EAAW,KAAK,CAAC;IACtB,OAAO,EAAS,OAAO,CAAC;IACxB,QAAQ,EAAQ,QAAQ,CAAC;IAEzB,QAAQ,EAAG,QAAQ,CAAC;CACpB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name" : "@peteanderson/ansi",
3
- "version" : "3.3.0",
3
+ "version" : "3.4.0",
4
4
  "description" : "ANSI escape sequence generation with automatic feature detection",
5
5
  "author" : {
6
6
  "name" : "Pete Anderson",
package/src/ansi.ts CHANGED
@@ -1,14 +1,14 @@
1
- import {makeCursor} from "./cursor";
2
- import {makeErase} from "./erase";
3
- import {getFeatures} from "./features";
4
- import {padEnd, padStart} from "./pad";
5
- import {makeScroll} from "./scroll";
6
- import {makeSGR} from "./sgr";
7
- import {simplify} from "./simplify";
8
- import {slice} from "./slice";
9
- import {splitAt} from "./split-at";
10
- import {sanitize, strip, visibleLength} from "./strip";
11
- import {makeTerminal} from "./terminal";
1
+ import {makeCursor} from "./cursor";
2
+ import {makeDelete, makeErase, makeInsert} from "./ins-del";
3
+ import {getFeatures} from "./features";
4
+ import {padEnd, padStart} from "./pad";
5
+ import {makeScroll} from "./scroll";
6
+ import {makeSGR} from "./sgr";
7
+ import {simplify} from "./simplify";
8
+ import {slice} from "./slice";
9
+ import {splitAt} from "./split-at";
10
+ import {sanitize, strip, visibleLength} from "./strip";
11
+ import {makeTerminal} from "./terminal";
12
12
 
13
13
  import type {Args} from "./features";
14
14
  import type {Ansi} from "./types";
@@ -20,7 +20,9 @@ export function makeAnsi(...args: Args): Ansi {
20
20
  ...makeSGR(features),
21
21
 
22
22
  cursor : makeCursor(features.cursor),
23
+ delete : makeDelete(features.erase),
23
24
  erase : makeErase(features.erase),
25
+ insert : makeInsert(features.erase),
24
26
  scroll : makeScroll(features.scroll),
25
27
 
26
28
  terminal: makeTerminal(features.terminal),
@@ -16,25 +16,41 @@ export function build(
16
16
  colorDepth : ColorDepth,
17
17
  style? : boolean,
18
18
  cursor? : boolean,
19
+ del? : boolean,
19
20
  erase? : boolean,
21
+ insert? : boolean,
20
22
  scroll? : boolean,
21
23
  terminal? : boolean,
22
24
  ): Features {
23
25
  if (
24
26
  style !== undefined &&
25
27
  cursor !== undefined &&
28
+ del !== undefined &&
26
29
  erase !== undefined &&
30
+ insert !== undefined &&
27
31
  scroll !== undefined &&
28
32
  terminal !== undefined
29
- )
30
- return {colorDepth: normalizeColorDepth(colorDepth), style, cursor, erase, scroll, terminal};
33
+ ) {
34
+ return {
35
+ colorDepth: normalizeColorDepth(colorDepth),
36
+ style,
37
+ cursor,
38
+ delete: del,
39
+ erase,
40
+ insert,
41
+ scroll,
42
+ terminal,
43
+ };
44
+ }
31
45
 
32
46
  const support = detectFeatureSupport(isTTY, colorDepth);
33
47
  return {
34
48
  colorDepth : normalizeColorDepth(colorDepth),
35
49
  style : style ?? support.style,
36
50
  cursor : cursor ?? support.cursor,
51
+ delete : del ?? support.delete,
37
52
  erase : erase ?? support.erase,
53
+ insert : insert ?? support.insert,
38
54
  scroll : scroll ?? support.scroll,
39
55
  terminal : terminal ?? support.terminal,
40
56
  };
@@ -29,7 +29,9 @@ export function detectFeatureSupport(
29
29
  return {
30
30
  style : colorDepth > 1,
31
31
  cursor : enabled,
32
+ delete : enabled,
32
33
  erase : enabled,
34
+ insert : enabled,
33
35
  scroll : enabled,
34
36
  terminal : enabled,
35
37
  };
@@ -23,15 +23,15 @@ export function getFeatures(...args: Args): Features {
23
23
  if (features instanceof Socket)
24
24
  return pipe();
25
25
 
26
- const {colorDepth, style, cursor, erase, scroll, terminal} = features;
26
+ const {colorDepth, style, cursor, delete: del, erase, insert, scroll, terminal} = features;
27
27
 
28
28
  stream ??= process.stdout;
29
29
 
30
30
  if (colorDepth)
31
- return build(stream.isTTY, colorDepth, style, cursor, erase, scroll, terminal);
31
+ return build(stream.isTTY, colorDepth, style, cursor, del, erase, insert, scroll, terminal);
32
32
 
33
33
  if (stream.isTTY)
34
- return build(true, getColorDepth(stream), style, cursor, erase, scroll, terminal);
34
+ return build(true, getColorDepth(stream), style, cursor, del, erase, insert, scroll, terminal);
35
35
 
36
- return build(false, getColorDepth(), style, cursor, erase, scroll, terminal);
36
+ return build(false, getColorDepth(), style, cursor, del, erase, insert, scroll, terminal);
37
37
  }
@@ -6,7 +6,9 @@ export interface Features {
6
6
  colorDepth : ColorDepth;
7
7
  style : boolean;
8
8
  cursor : boolean;
9
+ delete : boolean;
9
10
  erase : boolean;
11
+ insert : boolean;
10
12
  scroll : boolean;
11
13
  terminal : boolean;
12
14
  }
package/src/ins-del.ts ADDED
@@ -0,0 +1,58 @@
1
+ import {count, csi, noop} from "./utils";
2
+
3
+ const erase = {
4
+ char: count("X"),
5
+
6
+ line: {
7
+ toStart : csi("1K"),
8
+ toEnd : csi("0K"),
9
+ full : csi("2K"),
10
+ },
11
+ screen: {
12
+ toStart : csi("1J"),
13
+ toEnd : csi("0J"),
14
+ full : csi("2J"),
15
+ scrollback : csi("3J"),
16
+ },
17
+ };
18
+
19
+ const insert = {
20
+ char: count("@"),
21
+ line: count("L"),
22
+ };
23
+
24
+ const del = {
25
+ char: count("P"),
26
+ line: count("M"),
27
+ };
28
+
29
+ export type Erase = typeof erase;
30
+ export type Insert = typeof insert;
31
+ export type Delete = typeof del;
32
+
33
+ const disabledErase: Erase = {
34
+ char: noop,
35
+
36
+ line: {
37
+ toStart : "",
38
+ toEnd : "",
39
+ full : "",
40
+ },
41
+ screen: {
42
+ toStart : "",
43
+ toEnd : "",
44
+ full : "",
45
+ scrollback : "",
46
+ },
47
+ };
48
+
49
+ const disabledInsert: Insert = {
50
+ char: noop,
51
+ line: noop,
52
+ };
53
+
54
+ const disabledDelete: Delete = disabledInsert;
55
+
56
+ export const makeErase = (enabled = true): Erase => enabled ? erase : disabledErase;
57
+ export const makeInsert = (enabled = true): Insert => enabled ? insert : disabledInsert;
58
+ export const makeDelete = (enabled = true): Delete => enabled ? del : disabledDelete;
package/src/types.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type {Cursor} from "./cursor";
2
- import type {Erase} from "./erase";
2
+ import type {Delete, Erase, Insert} from "./ins-del";
3
3
  import type {Features} from "./features";
4
4
  import type {PadEnd, PadStart} from "./pad";
5
5
  import type {Scroll} from "./scroll";
@@ -12,7 +12,9 @@ import type {Terminal} from "./terminal";
12
12
 
13
13
  export type Ansi = SGR & {
14
14
  cursor : Cursor;
15
+ delete : Delete;
15
16
  erase : Erase;
17
+ insert : Insert;
16
18
  scroll : Scroll;
17
19
  terminal : Terminal;
18
20
 
@@ -1,17 +0,0 @@
1
- declare const erase: {
2
- line: {
3
- toStart: string;
4
- toEnd: string;
5
- full: string;
6
- };
7
- screen: {
8
- toStart: string;
9
- toEnd: string;
10
- full: string;
11
- scrollback: string;
12
- };
13
- };
14
- export type Erase = typeof erase;
15
- export declare const makeErase: (enabled?: boolean) => Erase;
16
- export {};
17
- //# sourceMappingURL=erase.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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,17 +0,0 @@
1
- declare const erase: {
2
- line: {
3
- toStart: string;
4
- toEnd: string;
5
- full: string;
6
- };
7
- screen: {
8
- toStart: string;
9
- toEnd: string;
10
- full: string;
11
- scrollback: string;
12
- };
13
- };
14
- export type Erase = typeof erase;
15
- export declare const makeErase: (enabled?: boolean) => Erase;
16
- export {};
17
- //# sourceMappingURL=erase.d.ts.map
@@ -1 +0,0 @@
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/esm/erase.js DELETED
@@ -1,29 +0,0 @@
1
- import { csi } from "./utils.js";
2
- const erase = {
3
- line: {
4
- toStart: csi("1K"),
5
- toEnd: csi("0K"),
6
- full: csi("2K"),
7
- },
8
- screen: {
9
- toStart: csi("1J"),
10
- toEnd: csi("0J"),
11
- full: csi("2J"),
12
- scrollback: csi("3J"),
13
- },
14
- };
15
- const disabled = {
16
- line: {
17
- toStart: "",
18
- toEnd: "",
19
- full: "",
20
- },
21
- screen: {
22
- toStart: "",
23
- toEnd: "",
24
- full: "",
25
- scrollback: "",
26
- },
27
- };
28
- export const makeErase = (enabled = true) => enabled ? erase : disabled;
29
- //# sourceMappingURL=erase.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"erase.js","sourceRoot":"","sources":["../../src/erase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,SAAS,CAAC;AAE5B,MAAM,KAAK,GAAG;IACb,IAAI,EAAE;QACL,OAAO,EAAG,GAAG,CAAC,IAAI,CAAC;QACnB,KAAK,EAAK,GAAG,CAAC,IAAI,CAAC;QACnB,IAAI,EAAM,GAAG,CAAC,IAAI,CAAC;KACnB;IACD,MAAM,EAAE;QACP,OAAO,EAAM,GAAG,CAAC,IAAI,CAAC;QACtB,KAAK,EAAQ,GAAG,CAAC,IAAI,CAAC;QACtB,IAAI,EAAS,GAAG,CAAC,IAAI,CAAC;QACtB,UAAU,EAAG,GAAG,CAAC,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;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAO,GAAG,IAAI,EAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC"}
package/src/erase.ts DELETED
@@ -1,33 +0,0 @@
1
- import {csi} from "./utils";
2
-
3
- const erase = {
4
- line: {
5
- toStart : csi("1K"),
6
- toEnd : csi("0K"),
7
- full : csi("2K"),
8
- },
9
- screen: {
10
- toStart : csi("1J"),
11
- toEnd : csi("0J"),
12
- full : csi("2J"),
13
- scrollback : csi("3J"),
14
- },
15
- };
16
-
17
- export type Erase = typeof erase;
18
-
19
- const disabled: Erase = {
20
- line: {
21
- toStart : "",
22
- toEnd : "",
23
- full : "",
24
- },
25
- screen: {
26
- toStart : "",
27
- toEnd : "",
28
- full : "",
29
- scrollback : "",
30
- },
31
- };
32
-
33
- export const makeErase = (enabled = true): Erase => enabled ? erase : disabled;