linecraft 0.2.5 → 0.2.6

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 (60) hide show
  1. package/LICENSE +59 -21
  2. package/README.md +10 -1
  3. package/lib/components/code-debug.d.ts.map +1 -1
  4. package/lib/components/code-debug.js +33 -63
  5. package/lib/components/code-debug.js.map +1 -1
  6. package/lib/components/code-debug.test.js +11 -19
  7. package/lib/components/code-debug.test.js.map +1 -1
  8. package/lib/components/fill.d.ts +2 -1
  9. package/lib/components/fill.d.ts.map +1 -1
  10. package/lib/components/fill.js.map +1 -1
  11. package/lib/components/progress-bar-grid.d.ts.map +1 -1
  12. package/lib/components/progress-bar-grid.js +5 -3
  13. package/lib/components/progress-bar-grid.js.map +1 -1
  14. package/lib/components/prompt.js +1 -1
  15. package/lib/components/prompt.js.map +1 -1
  16. package/lib/components/section.js +1 -1
  17. package/lib/components/section.js.map +1 -1
  18. package/lib/components/segments.js +4 -4
  19. package/lib/components/segments.js.map +1 -1
  20. package/lib/components/spinner.d.ts +2 -1
  21. package/lib/components/spinner.d.ts.map +1 -1
  22. package/lib/components/spinner.js +1 -1
  23. package/lib/components/spinner.js.map +1 -1
  24. package/lib/components/styled.d.ts +3 -2
  25. package/lib/components/styled.d.ts.map +1 -1
  26. package/lib/components/styled.js +1 -1
  27. package/lib/components/styled.js.map +1 -1
  28. package/lib/index.d.ts +2 -0
  29. package/lib/index.d.ts.map +1 -1
  30. package/lib/index.js +1 -0
  31. package/lib/index.js.map +1 -1
  32. package/lib/layout/grid.d.ts.map +1 -1
  33. package/lib/layout/grid.js +1 -2
  34. package/lib/layout/grid.js.map +1 -1
  35. package/lib/layout/grid.test.js +3 -3
  36. package/lib/layout/grid.test.js.map +1 -1
  37. package/lib/native/region.test.js +1 -1
  38. package/lib/native/region.test.js.map +1 -1
  39. package/lib/region-resize.test.js +3 -3
  40. package/lib/region-resize.test.js.map +1 -1
  41. package/lib/types.d.ts +6 -5
  42. package/lib/types.d.ts.map +1 -1
  43. package/lib/utils/colors.d.ts.map +1 -1
  44. package/lib/utils/colors.js +50 -8
  45. package/lib/utils/colors.js.map +1 -1
  46. package/lib/utils/colors.test.js.map +1 -1
  47. package/lib/utils/debug-log.js +1 -1
  48. package/lib/utils/debug-log.js.map +1 -1
  49. package/lib/utils/terminal-theme.d.ts +17 -28
  50. package/lib/utils/terminal-theme.d.ts.map +1 -1
  51. package/lib/utils/terminal-theme.js +66 -38
  52. package/lib/utils/terminal-theme.js.map +1 -1
  53. package/lib/utils/text.d.ts.map +1 -1
  54. package/lib/utils/text.js +0 -52
  55. package/lib/utils/text.js.map +1 -1
  56. package/lib/utils/text.test.js +1 -1
  57. package/lib/utils/text.test.js.map +1 -1
  58. package/lib/utils/wait-for-spacebar.js +1 -1
  59. package/lib/utils/wait-for-spacebar.js.map +1 -1
  60. package/package.json +8 -2
@@ -32,7 +32,7 @@ describe('Region resize and reflow', () => {
32
32
  const longText = 'This is a very long line that will wrap when the terminal is narrow but not when it is wide';
33
33
  region.set(Styled({}, longText));
34
34
  // Add a prompt (static lines)
35
- const promptSection = region.add(['', 'Press SPACEBAR to continue...']);
35
+ const _promptSection = region.add(['', 'Press SPACEBAR to continue...']);
36
36
  // Simulate initial render at narrow width
37
37
  mockStdout.columns = 40; // Narrow terminal
38
38
  const renderer = region.renderer;
@@ -68,7 +68,7 @@ describe('Region resize and reflow', () => {
68
68
  const component = Styled({}, 'Line 1\nLine 2\nLine 3\nLine 4');
69
69
  region.set(component);
70
70
  // Add prompt below
71
- const promptSection = region.add(['', 'Press SPACEBAR to continue...']);
71
+ const _promptSection2 = region.add(['', 'Press SPACEBAR to continue...']);
72
72
  // Simulate narrow terminal (content wraps to 4 lines)
73
73
  mockStdout.columns = 20;
74
74
  const renderer = region.renderer;
@@ -107,7 +107,7 @@ describe('Region resize and reflow', () => {
107
107
  renderer.effectiveWidth = 40;
108
108
  region.reRenderLastContent();
109
109
  renderer.flush();
110
- const count1 = (writtenData.join('').match(/Press SPACEBAR/g) || []).length;
110
+ const _count1 = (writtenData.join('').match(/Press SPACEBAR/g) || []).length;
111
111
  writtenData = [];
112
112
  // Resize
113
113
  mockStdout.columns = 120;
@@ -1 +1 @@
1
- {"version":3,"file":"region-resize.test.js","sourceRoot":"","sources":["../src/region-resize.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"region-resize.test.js","sourceRoot":"","sources":["../src/region-resize.test.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -1,7 +1,8 @@
1
- export type Color = 'black' | 'red' | 'green' | 'yellow' | 'blue' | 'magenta' | 'cyan' | 'white' | 'brightBlack' | 'brightRed' | 'brightGreen' | 'brightYellow' | 'brightBlue' | 'brightMagenta' | 'brightCyan' | 'brightWhite';
1
+ import type { AutoColor } from './utils/terminal-theme.js';
2
+ export type Color = 'black' | 'red' | 'green' | 'yellow' | 'blue' | 'magenta' | 'cyan' | 'gray' | 'grey' | 'white' | 'brightBlack' | 'brightRed' | 'brightGreen' | 'brightYellow' | 'brightBlue' | 'brightMagenta' | 'brightCyan' | 'brightWhite' | (string & {});
2
3
  export interface TextStyle {
3
- color?: Color;
4
- backgroundColor?: Color;
4
+ color?: Color | AutoColor;
5
+ backgroundColor?: Color | AutoColor;
5
6
  bold?: boolean;
6
7
  dim?: boolean;
7
8
  italic?: boolean;
@@ -37,12 +38,12 @@ export interface SpinnerOptions {
37
38
  */
38
39
  export type FillChar = string | {
39
40
  char: string;
40
- color?: Color;
41
+ color?: Color | AutoColor;
41
42
  };
42
43
  /**
43
44
  * Base options for all components - includes common styling props
44
45
  */
45
46
  export interface BaseComponentOptions {
46
- color?: Color;
47
+ color?: Color | AutoColor;
47
48
  }
48
49
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GACb,OAAO,GACP,KAAK,GACL,OAAO,GACP,QAAQ,GACR,MAAM,GACN,SAAS,GACT,MAAM,GACN,OAAO,GACP,aAAa,GACb,WAAW,GACX,aAAa,GACb,cAAc,GACd,YAAY,GACZ,eAAe,GACf,YAAY,GACZ,aAAa,CAAC;AAElB,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,eAAe,CAAC,EAAE,KAAK,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE;QACN,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC7B,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,KAAK,CAAC;CACf"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE3D,MAAM,MAAM,KAAK,GACb,OAAO,GACP,KAAK,GACL,OAAO,GACP,QAAQ,GACR,MAAM,GACN,SAAS,GACT,MAAM,GACN,MAAM,GACN,MAAM,GACN,OAAO,GACP,aAAa,GACb,WAAW,GACX,aAAa,GACb,cAAc,GACd,YAAY,GACZ,eAAe,GACf,YAAY,GACZ,aAAa,GACb,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IAC1B,eAAe,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE;QACN,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC7B,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;CAAE,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;CAC3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/utils/colors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,SAAS,EAAE,MAAM,aAAa,CAAC;AAwC/C,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAkClE"}
1
+ {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/utils/colors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,SAAS,EAAE,MAAM,aAAa,CAAC;AAuE/C,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAoDlE"}
@@ -1,3 +1,4 @@
1
+ import { isAutoColor, autoStyle } from './terminal-theme.js';
1
2
  const ANSI_COLORS = {
2
3
  black: '30',
3
4
  red: '31',
@@ -15,6 +16,8 @@ const ANSI_COLORS = {
15
16
  brightMagenta: '95',
16
17
  brightCyan: '96',
17
18
  brightWhite: '97',
19
+ gray: '90',
20
+ grey: '90',
18
21
  };
19
22
  const ANSI_BG_COLORS = {
20
23
  black: '40',
@@ -33,27 +36,66 @@ const ANSI_BG_COLORS = {
33
36
  brightMagenta: '105',
34
37
  brightCyan: '106',
35
38
  brightWhite: '107',
39
+ gray: '100',
40
+ grey: '100',
36
41
  };
42
+ function getColorCode(color, isBackground = false) {
43
+ // Named ANSI colors
44
+ if (color in ANSI_COLORS && !isBackground) {
45
+ return ANSI_COLORS[color];
46
+ }
47
+ if (color in ANSI_BG_COLORS && isBackground) {
48
+ return ANSI_BG_COLORS[color];
49
+ }
50
+ // 256 colors: "5;N" where N is 0-255
51
+ if (/^\d+$/.test(color)) {
52
+ return `${isBackground ? '48' : '38'};5;${color}`;
53
+ }
54
+ // hex colors: "#RRGGBB"
55
+ if (/^#[0-9a-fA-F]{6}$/.test(color)) {
56
+ const r = parseInt(color.slice(1, 3), 16);
57
+ const g = parseInt(color.slice(3, 5), 16);
58
+ const b = parseInt(color.slice(5, 7), 16);
59
+ return `${isBackground ? '48' : '38'};2;${r};${g};${b}`;
60
+ }
61
+ // Fallback to basic white or ignore
62
+ return isBackground ? '40' : '37';
63
+ }
37
64
  export function applyStyle(text, style) {
38
65
  if (!style)
39
66
  return text;
67
+ // Resolve semantic tokens if provided
68
+ let resolvedStyle = { ...style };
69
+ if (style.color && isAutoColor(style.color)) {
70
+ const semanticStyle = autoStyle(style.color);
71
+ // Merge semantic style (color, bold, dim, etc.) but let specific overrides in 'style' win
72
+ resolvedStyle = { ...semanticStyle, ...style };
73
+ // The 'color' property in resolvedStyle is currently the token name, resolve it to the actual color
74
+ resolvedStyle.color = semanticStyle.color;
75
+ }
76
+ if (style.backgroundColor && isAutoColor(style.backgroundColor)) {
77
+ const semanticBgStyle = autoStyle(style.backgroundColor);
78
+ resolvedStyle.backgroundColor = semanticBgStyle.color;
79
+ }
40
80
  const codes = [];
41
- if (style.color) {
42
- codes.push(ANSI_COLORS[style.color]);
81
+ if (resolvedStyle.color) {
82
+ const code = getColorCode(resolvedStyle.color, false);
83
+ codes.push(code);
43
84
  }
44
- if (style.backgroundColor) {
45
- codes.push(ANSI_BG_COLORS[style.backgroundColor]);
85
+ if (resolvedStyle.backgroundColor) {
86
+ const bgCode = getColorCode(resolvedStyle.backgroundColor, true);
87
+ codes.push(bgCode);
46
88
  }
47
- if (style.bold) {
89
+ if (resolvedStyle.bold) {
48
90
  codes.push('1');
49
91
  }
50
- if (style.dim) {
92
+ if (resolvedStyle.dim) {
51
93
  codes.push('2'); // Dim/faint intensity
52
94
  }
53
- if (style.italic) {
95
+ if (resolvedStyle.italic) {
54
96
  codes.push('3');
55
97
  }
56
- if (style.underline) {
98
+ if (resolvedStyle.underline) {
57
99
  codes.push('4');
58
100
  }
59
101
  if (codes.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/utils/colors.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,GAA0B;IACzC,KAAK,EAAE,IAAI;IACX,GAAG,EAAE,IAAI;IACT,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,IAAI;IACjB,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,IAAI;IACnB,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,IAAI;CAClB,CAAC;AAEF,MAAM,cAAc,GAA0B;IAC5C,KAAK,EAAE,IAAI;IACX,GAAG,EAAE,IAAI;IACT,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,KAAK;IAClB,SAAS,EAAE,KAAK;IAChB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,KAAK;IACnB,UAAU,EAAE,KAAK;IACjB,aAAa,EAAE,KAAK;IACpB,UAAU,EAAE,KAAK;IACjB,WAAW,EAAE,KAAK;CACnB,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,KAAiB;IACxD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,sBAAsB;IACzC,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,QAAQ,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,SAAS,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/utils/colors.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"colors.test.js","sourceRoot":"","sources":["../../src/utils/colors.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"colors.test.js","sourceRoot":"","sources":["../../src/utils/colors.test.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ class DebugLog {
25
25
  const timestamp = new Date().toISOString();
26
26
  fs.appendFileSync(this.logPath, `[${timestamp}] ${message}\n`);
27
27
  }
28
- catch (err) {
28
+ catch {
29
29
  // Silently fail - don't break functionality if logging fails
30
30
  }
31
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"debug-log.js","sourceRoot":"","sources":["../../src/utils/debug-log.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,gEAAgE;AAEhE,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,MAAM,QAAQ;IACJ,MAAM,CAAC,QAAQ,GAAoB,IAAI,CAAC;IACxC,OAAO,CAAS;IAChB,OAAO,GAAY,KAAK,CAAC;IAEjC;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,qBAAqB,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACvB,QAAQ,CAAC,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QACrC,CAAC;QACD,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,OAAe;QACjB,IAAI,CAAC;YACH,gCAAgC;YAChC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,OAAO,EACZ,iKAAiK,CAClK,CAAC;gBACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACtB,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC3C,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,SAAS,KAAK,OAAO,IAAI,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,6DAA6D;QAC/D,CAAC;IACH,CAAC;;AAGH,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"debug-log.js","sourceRoot":"","sources":["../../src/utils/debug-log.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,gEAAgE;AAEhE,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,MAAM,QAAQ;IACJ,MAAM,CAAC,QAAQ,GAAoB,IAAI,CAAC;IACxC,OAAO,CAAS;IAChB,OAAO,GAAY,KAAK,CAAC;IAEjC;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,qBAAqB,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACvB,QAAQ,CAAC,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QACrC,CAAC;QACD,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,OAAe;QACjB,IAAI,CAAC;YACH,gCAAgC;YAChC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,OAAO,EACZ,iKAAiK,CAClK,CAAC;gBACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACtB,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC3C,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,SAAS,KAAK,OAAO,IAAI,CAAC,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC;YACP,6DAA6D;QAC/D,CAAC;IACH,CAAC;;AAGH,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC"}
@@ -1,37 +1,26 @@
1
+ import type { Color, TextStyle } from '../types.js';
1
2
  /**
2
3
  * Detect if the terminal has a dark or light background
3
- *
4
- * Uses the COLORFGBG environment variable which has format "foreground;background"
5
- * where background values 0-7 indicate dark background, 8-15 indicate light background.
6
- *
7
- * If COLORFGBG is not available, defaults to assuming dark background (most common).
8
- *
9
- * @returns true if terminal has dark background, false if light
10
4
  */
11
5
  export declare function isDarkTerminal(): boolean;
12
6
  /**
13
- * Get an appropriate muted color for line numbers based on terminal theme
14
- *
15
- * On dark terminals: returns 'brightBlack' (will be dimmed for less contrast)
16
- * On light terminals: returns 'black' (darker gray, less contrasty)
17
- *
18
- * These colors provide minimal contrast while remaining subtle and not distracting
19
- * from the main code content. On dark terminals, the color should be applied with
20
- * dim=true to reduce contrast further.
21
- *
22
- * @returns Color name suitable for line numbers
7
+ * Resolve a value based on the current terminal theme
23
8
  */
24
- export declare function getLineNumberColor(): 'black' | 'brightBlack';
9
+ export declare function resolveThemeColor<T>(colors: {
10
+ dark: T;
11
+ light: T;
12
+ }, forceTheme?: 'dark' | 'light'): T;
13
+ export type AutoColor = 'base' | 'muted' | 'highlight' | 'accent' | 'warning' | 'error' | 'info' | 'location' | 'success';
25
14
  /**
26
- * Get a colored line number color based on terminal theme
27
- *
28
- * On dark terminals: returns 'blue' (muted, less contrasty blue)
29
- * On light terminals: returns 'brightBlue' (muted, less contrasty blue)
30
- *
31
- * This provides a subtle, less contrasty color for line numbers that still
32
- * has a blue shade, working well in both dark and light terminal themes.
33
- *
34
- * @returns Color name suitable for colored line numbers
15
+ * Checks if a string is a semantic auto-color token
35
16
  */
36
- export declare function getColoredLineNumberColor(): 'blue' | 'brightBlue';
17
+ export declare function isAutoColor(color: string): color is AutoColor;
18
+ /**
19
+ * Automatically picks the right ANSI color for a semantic token based on light/dark theme
20
+ */
21
+ export declare function autoColor(token: AutoColor, override?: 'dark' | 'light'): Color;
22
+ /**
23
+ * Automatically picks the right full style for a semantic token
24
+ */
25
+ export declare function autoStyle(token: AutoColor, override?: 'dark' | 'light'): TextStyle;
37
26
  //# sourceMappingURL=terminal-theme.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-theme.d.ts","sourceRoot":"","sources":["../../src/utils/terminal-theme.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAmBxC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,GAAG,aAAa,CAI5D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,GAAG,YAAY,CAIjE"}
1
+ {"version":3,"file":"terminal-theme.d.ts","sourceRoot":"","sources":["../../src/utils/terminal-theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIpD;;GAEG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAkBxC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,MAAM,EAAE;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,EAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,GAC5B,CAAC,CAIH;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;AA2C1H;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,SAAS,CAE7D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,CAE9E;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAGlF"}
@@ -1,62 +1,90 @@
1
1
  // Terminal theme detection utilities
2
2
  /**
3
3
  * Detect if the terminal has a dark or light background
4
- *
5
- * Uses the COLORFGBG environment variable which has format "foreground;background"
6
- * where background values 0-7 indicate dark background, 8-15 indicate light background.
7
- *
8
- * If COLORFGBG is not available, defaults to assuming dark background (most common).
9
- *
10
- * @returns true if terminal has dark background, false if light
11
4
  */
12
5
  export function isDarkTerminal() {
6
+ if (process.env.TERMINAL_THEME === 'light')
7
+ return false;
8
+ if (process.env.TERMINAL_THEME === 'dark')
9
+ return true;
13
10
  const colorfgbg = process.env.COLORFGBG;
14
11
  if (!colorfgbg) {
15
- // Default to dark (most terminals are dark)
16
12
  return true;
17
13
  }
18
- // COLORFGBG format: "foreground;background" or just "background"
19
14
  const parts = colorfgbg.split(';');
20
15
  const background = parts.length > 1 ? parts[1] : parts[0];
21
16
  const bgNum = parseInt(background, 10);
22
17
  if (isNaN(bgNum)) {
23
- // Can't parse, default to dark
24
18
  return true;
25
19
  }
26
- // Background values 0-7 = dark, 8-15 = light
27
20
  return bgNum < 8;
28
21
  }
29
22
  /**
30
- * Get an appropriate muted color for line numbers based on terminal theme
31
- *
32
- * On dark terminals: returns 'brightBlack' (will be dimmed for less contrast)
33
- * On light terminals: returns 'black' (darker gray, less contrasty)
34
- *
35
- * These colors provide minimal contrast while remaining subtle and not distracting
36
- * from the main code content. On dark terminals, the color should be applied with
37
- * dim=true to reduce contrast further.
38
- *
39
- * @returns Color name suitable for line numbers
23
+ * Resolve a value based on the current terminal theme
24
+ */
25
+ export function resolveThemeColor(colors, forceTheme) {
26
+ if (forceTheme === 'dark')
27
+ return colors.dark;
28
+ if (forceTheme === 'light')
29
+ return colors.light;
30
+ return isDarkTerminal() ? colors.dark : colors.light;
31
+ }
32
+ const semanticPalette = {
33
+ base: {
34
+ dark: { color: 'gray' },
35
+ light: { color: 'gray' }
36
+ },
37
+ muted: {
38
+ dark: { color: 'white', dim: true },
39
+ light: { color: 'gray', dim: true }
40
+ },
41
+ highlight: {
42
+ dark: { color: 'white' },
43
+ light: { color: 'black', bold: true }
44
+ },
45
+ accent: {
46
+ dark: { color: 'blue', bold: true },
47
+ light: { color: 'blue', bold: true }
48
+ },
49
+ location: {
50
+ dark: { color: 'magenta' },
51
+ light: { color: 'magenta' }
52
+ },
53
+ success: {
54
+ dark: { color: 'brightGreen' },
55
+ light: { color: 'green' }
56
+ },
57
+ warning: {
58
+ dark: { color: 'brightYellow' },
59
+ light: { color: 'brightMagenta' }
60
+ },
61
+ error: {
62
+ dark: { color: 'brightRed' },
63
+ light: { color: 'red' }
64
+ },
65
+ info: {
66
+ dark: { color: 'blue' },
67
+ light: { color: 'blue' }
68
+ },
69
+ };
70
+ const autoColorSet = new Set(['base', 'muted', 'highlight', 'accent', 'warning', 'error', 'info', 'location', 'success']);
71
+ /**
72
+ * Checks if a string is a semantic auto-color token
73
+ */
74
+ export function isAutoColor(color) {
75
+ return autoColorSet.has(color);
76
+ }
77
+ /**
78
+ * Automatically picks the right ANSI color for a semantic token based on light/dark theme
40
79
  */
41
- export function getLineNumberColor() {
42
- // On dark terminals, use brightBlack (will be dimmed for less contrast)
43
- // On light terminals, use black (darker gray, less contrasty)
44
- return isDarkTerminal() ? 'brightBlack' : 'black';
80
+ export function autoColor(token, override) {
81
+ return autoStyle(token, override).color;
45
82
  }
46
83
  /**
47
- * Get a colored line number color based on terminal theme
48
- *
49
- * On dark terminals: returns 'blue' (muted, less contrasty blue)
50
- * On light terminals: returns 'brightBlue' (muted, less contrasty blue)
51
- *
52
- * This provides a subtle, less contrasty color for line numbers that still
53
- * has a blue shade, working well in both dark and light terminal themes.
54
- *
55
- * @returns Color name suitable for colored line numbers
84
+ * Automatically picks the right full style for a semantic token
56
85
  */
57
- export function getColoredLineNumberColor() {
58
- // On dark terminals, use blue (muted, less contrasty than cyan)
59
- // On light terminals, use brightBlue (lighter, less contrasty than blue)
60
- return isDarkTerminal() ? 'blue' : 'brightBlue';
86
+ export function autoStyle(token, override) {
87
+ const choice = semanticPalette[token];
88
+ return resolveThemeColor(choice, override);
61
89
  }
62
90
  //# sourceMappingURL=terminal-theme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-theme.js","sourceRoot":"","sources":["../../src/utils/terminal-theme.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IACxC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,4CAA4C;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iEAAiE;IACjE,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAEvC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACjB,+BAA+B;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6CAA6C;IAC7C,OAAO,KAAK,GAAG,CAAC,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB;IAChC,wEAAwE;IACxE,8DAA8D;IAC9D,OAAO,cAAc,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;AACpD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,yBAAyB;IACvC,gEAAgE;IAChE,yEAAyE;IACzE,OAAO,cAAc,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"terminal-theme.js","sourceRoot":"","sources":["../../src/utils/terminal-theme.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/utils/text.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgB9C;AAwDD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAgCtE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAuBlE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA8BpE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAsCrE;AAqBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CA+DR;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,eAAe,EAAE,MAAM,CAAC;IACxB,iFAAiF;IACjF,aAAa,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,aAAa,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,YAAY,CAAC,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,MAAM,GACjB,wBAAwB,CAgK1B;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAuK9D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIxD;AAGD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAiBtD;AA2JD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAyCrG"}
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/utils/text.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgB9C;AAwDD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAgCtE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAuBlE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA8BpE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAsCrE;AAqBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CA8DR;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,eAAe,EAAE,MAAM,CAAC;IACxB,iFAAiF;IACjF,aAAa,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,aAAa,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,YAAY,CAAC,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,MAAM,GACjB,wBAAwB,CAgK1B;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAuK9D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIxD;AAGD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAiBtD;AA0GD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAyCrG"}
package/lib/utils/text.js CHANGED
@@ -301,7 +301,6 @@ function extractVisibleRange(text, startCol, endCol) {
301
301
  export function mapColumnToDisplay(originalText, truncatedText, visibleStartCol, visibleEndCol, originalCol, rangeStartCol, rangeEndCol) {
302
302
  const truncatedPlain = stripAnsi(truncatedText);
303
303
  const hasEllipsisStart = truncatedPlain.startsWith('...');
304
- const hasEllipsisEnd = truncatedPlain.endsWith('...');
305
304
  const ellipsisStartOffset = hasEllipsisStart ? 3 : 0;
306
305
  // If we have range boundaries, use them for more accurate mapping
307
306
  if (rangeStartCol !== undefined && rangeEndCol !== undefined) {
@@ -729,57 +728,6 @@ export function countVisibleChars(text) {
729
728
  * Extract active ANSI codes and OSC 8 hyperlinks from text (all codes that are active at the end)
730
729
  * Returns the ANSI escape sequences that should be applied to continue the styling
731
730
  */
732
- /**
733
- * Extract only SGR (color/style) codes, excluding OSC 8 hyperlinks
734
- * Used for ellipsis styling where we want color but not hyperlinks
735
- */
736
- function extractActiveSgrCodes(text) {
737
- const codes = [];
738
- let idx = 0;
739
- while (idx < text.length) {
740
- if (text[idx] === '\x1b' && idx + 1 < text.length && text[idx + 1] === '[') {
741
- // Found ANSI SGR escape sequence
742
- let end = idx + 2;
743
- while (end < text.length && text[end] !== 'm') {
744
- end++;
745
- }
746
- if (end < text.length) {
747
- const code = text.substring(idx, end + 1);
748
- // Check if it's a reset (0m) or a style code
749
- if (code === '\x1b[0m') {
750
- // Reset - clear all previous codes
751
- codes.length = 0;
752
- }
753
- else {
754
- // Style code - add it
755
- codes.push(code);
756
- }
757
- idx = end + 1;
758
- }
759
- else {
760
- idx++;
761
- }
762
- }
763
- else if (text[idx] === '\x1b' && idx + 4 < text.length && text.substring(idx, idx + 4) === '\x1b]8;') {
764
- // Skip OSC 8 hyperlink sequences (don't include in result)
765
- let end = idx + 4;
766
- while (end < text.length - 1) {
767
- if (text[end] === '\x1b' && text[end + 1] === '\\') {
768
- idx = end + 2;
769
- break;
770
- }
771
- end++;
772
- }
773
- if (end >= text.length - 1) {
774
- idx++;
775
- }
776
- }
777
- else {
778
- idx++;
779
- }
780
- }
781
- return codes.join('');
782
- }
783
731
  function extractActiveAnsiCodes(text) {
784
732
  const codes = [];
785
733
  let idx = 0;