linecraft 0.5.4 → 0.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -0
- package/lib/components/code-debug.d.ts +2 -0
- package/lib/components/code-debug.d.ts.map +1 -1
- package/lib/components/code-debug.js +108 -172
- package/lib/components/code-debug.js.map +1 -1
- package/lib/components/code-debug.test.d.ts +2 -0
- package/lib/components/code-debug.test.d.ts.map +1 -0
- package/lib/components/code-debug.test.js +253 -0
- package/lib/components/code-debug.test.js.map +1 -0
- package/lib/utils/text.d.ts +62 -2
- package/lib/utils/text.d.ts.map +1 -1
- package/lib/utils/text.js +447 -36
- package/lib/utils/text.js.map +1 -1
- package/lib/utils/text.test.d.ts +2 -0
- package/lib/utils/text.test.d.ts.map +1 -0
- package/lib/utils/text.test.js +237 -0
- package/lib/utils/text.test.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -142,6 +142,36 @@ ref.delete(); // Remove it
|
|
|
142
142
|
r.destroy(true); // Clean up and restore terminal (true = clear first)
|
|
143
143
|
```
|
|
144
144
|
|
|
145
|
+
## Semantic Themes
|
|
146
|
+
|
|
147
|
+
Linecraft includes a built-in semantic theme system that automatically adapts colors based on whether the terminal is in light or dark mode. Instead of hardcoding ANSI colors, you can use semantic tokens:
|
|
148
|
+
|
|
149
|
+
- `base`: The default text color (gray in both themes)
|
|
150
|
+
- `muted`: Dimmed text for line numbers or separators (dimmed white on dark, dimmed gray on light)
|
|
151
|
+
- `highlight`: Emphasized text (white on dark, bold black on light)
|
|
152
|
+
- `accent`: Primary accent color (bold blue in both themes)
|
|
153
|
+
- `location`: For file paths and locations (magenta in both themes)
|
|
154
|
+
- `success`: Success messages (bright green on dark, green on light)
|
|
155
|
+
- `warning`: Warning messages (bright yellow on dark, bright magenta on light)
|
|
156
|
+
- `error`: Error messages (bright red on dark, red on light)
|
|
157
|
+
- `info`: Informational messages (blue in both themes)
|
|
158
|
+
|
|
159
|
+
You can use these tokens anywhere a `Color` is expected:
|
|
160
|
+
|
|
161
|
+
```typescript
|
|
162
|
+
import { Styled } from 'linecraft';
|
|
163
|
+
|
|
164
|
+
// Automatically uses appropriate color based on terminal theme
|
|
165
|
+
const text = Styled({ color: 'base' }, 'Auto-themed text');
|
|
166
|
+
const error = Styled({ color: 'error' }, 'Error message');
|
|
167
|
+
const path = Styled({ color: 'location' }, '/path/to/file.ts');
|
|
168
|
+
|
|
169
|
+
// You can also resolve them manually if needed
|
|
170
|
+
import { autoColor, autoStyle } from 'linecraft';
|
|
171
|
+
const color = autoColor('warning'); // Returns just the color
|
|
172
|
+
const style = autoStyle('accent'); // Returns full TextStyle (color, bold, etc.)
|
|
173
|
+
```
|
|
174
|
+
|
|
145
175
|
## Components
|
|
146
176
|
|
|
147
177
|
### Styled
|
|
@@ -21,6 +21,8 @@ export interface CodeDebugOptions {
|
|
|
21
21
|
errorCode?: string;
|
|
22
22
|
/** Short message to show connected to underline (optional) */
|
|
23
23
|
shortMessage?: string;
|
|
24
|
+
/** Placement of short message: 'left' or 'right' (default: 'right', auto: 'left' when target is near end of long line) */
|
|
25
|
+
shortMessagePlacement?: 'left' | 'right' | 'auto';
|
|
24
26
|
/** Short file path to display */
|
|
25
27
|
filePath: string;
|
|
26
28
|
/** Full resolved file path for clickable link */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-debug.d.ts","sourceRoot":"","sources":["../../src/components/code-debug.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"code-debug.d.ts","sourceRoot":"","sources":["../../src/components/code-debug.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAWhE,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,qHAAqH;IACrH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0HAA0H;IAC1H,qBAAqB,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAClD,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CA8Y9D"}
|
|
@@ -1,111 +1,18 @@
|
|
|
1
1
|
// Code debug component for displaying code errors/warnings with context
|
|
2
2
|
import { callComponent } from '../component.js';
|
|
3
3
|
import { applyStyle } from '../utils/colors.js';
|
|
4
|
-
import { stripAnsi, truncateToWidth, countVisibleChars, splitAtVisiblePos } from '../utils/text.js';
|
|
4
|
+
import { stripAnsi, truncateToWidth, truncateFocusRange, mapColumnToDisplay, countVisibleChars, splitAtVisiblePos } from '../utils/text.js';
|
|
5
|
+
import { logToFile } from '../utils/debug-log.js';
|
|
5
6
|
import { fileLink } from '../utils/file-link.js';
|
|
6
7
|
import { Styled } from './styled.js';
|
|
7
8
|
import { grid as Grid } from '../layout/grid.js';
|
|
8
9
|
import { getLineNumberColor, isDarkTerminal } from '../utils/terminal-theme.js';
|
|
9
|
-
function calculateVisibleRange(code, availableWidth, targetStartCol, targetEndCol, maxColumn) {
|
|
10
|
-
const plainCode = stripAnsi(code);
|
|
11
|
-
const codeLength = plainCode.length;
|
|
12
|
-
// If code fits, show everything
|
|
13
|
-
if (codeLength <= availableWidth) {
|
|
14
|
-
return {
|
|
15
|
-
startCol: 1,
|
|
16
|
-
endCol: codeLength,
|
|
17
|
-
hasEllipsisStart: false,
|
|
18
|
-
hasEllipsisEnd: false,
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
// If maxColumn is set, we need to ensure we don't show beyond it
|
|
22
|
-
const effectiveMaxCol = maxColumn ? Math.min(maxColumn, codeLength) : codeLength;
|
|
23
|
-
// Calculate how much space we need for the target columns
|
|
24
|
-
const targetWidth = targetEndCol
|
|
25
|
-
? targetEndCol - targetStartCol + 1
|
|
26
|
-
: 1; // Just the arrow
|
|
27
|
-
// If target doesn't fit, we'll need to truncate
|
|
28
|
-
if (targetWidth > availableWidth - 6) { // -6 for ellipsis on both sides if needed
|
|
29
|
-
// Target is too wide, just show middle with ellipsis
|
|
30
|
-
const midPoint = Math.floor((availableWidth - 6) / 2);
|
|
31
|
-
const startCol = Math.max(1, targetStartCol - midPoint);
|
|
32
|
-
const endCol = Math.min(effectiveMaxCol, startCol + availableWidth - 6);
|
|
33
|
-
return {
|
|
34
|
-
startCol,
|
|
35
|
-
endCol,
|
|
36
|
-
hasEllipsisStart: startCol > 1,
|
|
37
|
-
hasEllipsisEnd: endCol < codeLength,
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
// Try to center the target in the available space
|
|
41
|
-
// First, determine if we'll need ellipsis on both sides
|
|
42
|
-
const willNeedEllipsisStart = targetStartCol > 1 || (targetStartCol === 1 && codeLength > availableWidth);
|
|
43
|
-
const willNeedEllipsisEnd = (targetEndCol ?? targetStartCol) < codeLength || codeLength > availableWidth;
|
|
44
|
-
const ellipsisWidth = (willNeedEllipsisStart ? 3 : 0) + (willNeedEllipsisEnd ? 3 : 0);
|
|
45
|
-
const effectiveAvailableWidth = availableWidth - ellipsisWidth;
|
|
46
|
-
const padding = Math.floor((effectiveAvailableWidth - targetWidth) / 2);
|
|
47
|
-
let startCol = Math.max(1, targetStartCol - padding);
|
|
48
|
-
let endCol = Math.min(effectiveMaxCol, startCol + effectiveAvailableWidth - 1);
|
|
49
|
-
// Adjust if we hit boundaries
|
|
50
|
-
if (endCol - startCol + 1 > effectiveAvailableWidth) {
|
|
51
|
-
endCol = startCol + effectiveAvailableWidth - 1;
|
|
52
|
-
}
|
|
53
|
-
if (endCol > effectiveMaxCol) {
|
|
54
|
-
endCol = effectiveMaxCol;
|
|
55
|
-
startCol = Math.max(1, endCol - effectiveAvailableWidth + 1);
|
|
56
|
-
}
|
|
57
|
-
if (startCol < 1) {
|
|
58
|
-
startCol = 1;
|
|
59
|
-
endCol = Math.min(effectiveMaxCol, effectiveAvailableWidth);
|
|
60
|
-
}
|
|
61
|
-
// Check if we need ellipsis
|
|
62
|
-
const hasEllipsisStart = startCol > 1;
|
|
63
|
-
const hasEllipsisEnd = endCol < codeLength;
|
|
64
|
-
return {
|
|
65
|
-
startCol,
|
|
66
|
-
endCol,
|
|
67
|
-
hasEllipsisStart,
|
|
68
|
-
hasEllipsisEnd,
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Truncate code line to show specific column range with ellipsis
|
|
73
|
-
*/
|
|
74
|
-
function truncateCodeLine(code, visibleRange, availableWidth) {
|
|
75
|
-
const { startCol, endCol, hasEllipsisStart, hasEllipsisEnd } = visibleRange;
|
|
76
|
-
const plainCode = stripAnsi(code);
|
|
77
|
-
if (!hasEllipsisStart && !hasEllipsisEnd) {
|
|
78
|
-
// No truncation needed, but ensure it fits
|
|
79
|
-
return truncateToWidth(code, availableWidth);
|
|
80
|
-
}
|
|
81
|
-
// Extract the visible portion (1-based columns in plain text)
|
|
82
|
-
const visiblePlain = plainCode.substring(startCol - 1, endCol);
|
|
83
|
-
// Calculate available width for code (minus ellipsis)
|
|
84
|
-
const ellipsisWidth = (hasEllipsisStart ? 3 : 0) + (hasEllipsisEnd ? 3 : 0);
|
|
85
|
-
const codeWidth = availableWidth - ellipsisWidth;
|
|
86
|
-
// Truncate the visible portion if it's still too wide
|
|
87
|
-
let truncatedPlain = visiblePlain;
|
|
88
|
-
if (stripAnsi(visiblePlain).length > codeWidth) {
|
|
89
|
-
truncatedPlain = truncateToWidth(visiblePlain, codeWidth);
|
|
90
|
-
}
|
|
91
|
-
if (hasEllipsisStart && hasEllipsisEnd) {
|
|
92
|
-
// Truncate both ends - show the visible range portion (no middle ellipsis)
|
|
93
|
-
// The visible range already contains the target columns, just truncate if needed
|
|
94
|
-
return `...${truncatedPlain}...`;
|
|
95
|
-
}
|
|
96
|
-
else if (hasEllipsisStart) {
|
|
97
|
-
return `...${truncatedPlain}`;
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
return `${truncatedPlain}...`;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
10
|
/**
|
|
104
11
|
* CodeDebug component - displays code errors/warnings with context
|
|
105
12
|
*/
|
|
106
13
|
export function CodeDebug(options) {
|
|
107
14
|
return (ctx) => {
|
|
108
|
-
const { startLine, startColumn, endColumn, lineBefore, errorLine, lineAfter, message, errorCode, shortMessage, filePath, fullPath, baseDir, type = 'error', maxColumn, } = options;
|
|
15
|
+
const { startLine, startColumn, endColumn, lineBefore, errorLine, lineAfter, message, errorCode, shortMessage, shortMessagePlacement = 'auto', filePath, fullPath, baseDir, type = 'error', maxColumn, } = options;
|
|
109
16
|
// If availableWidth is Infinity (during Grid measurement), use a reasonable default
|
|
110
17
|
// Otherwise use the actual available width
|
|
111
18
|
const availableWidth = Number.isFinite(ctx.availableWidth) ? ctx.availableWidth : 80;
|
|
@@ -118,6 +25,8 @@ export function CodeDebug(options) {
|
|
|
118
25
|
const colorScheme = colors[type];
|
|
119
26
|
// Get appropriate line number color based on terminal theme (muted color)
|
|
120
27
|
const lineNumberColor = getLineNumberColor(); // For line numbers (muted)
|
|
28
|
+
// Use brightBlack for line numbers (visible but not too bright)
|
|
29
|
+
const lineNumColor = isDarkTerminal() ? 'brightBlack' : 'black';
|
|
121
30
|
// Calculate available width for code (reserve space for line numbers, separator, and spaces)
|
|
122
31
|
// Calculate the maximum width needed for any line number that will be displayed
|
|
123
32
|
const lineNumbersToCheck = [startLine];
|
|
@@ -129,54 +38,27 @@ export function CodeDebug(options) {
|
|
|
129
38
|
}
|
|
130
39
|
const lineNumWidth = Math.max(...lineNumbersToCheck.map(n => String(n).length));
|
|
131
40
|
const codeAreaWidth = availableWidth - lineNumWidth - 3; // -3 for " │ " (space, pipe, space)
|
|
132
|
-
//
|
|
41
|
+
// Use truncateFocusRange to show the target range with proper truncation
|
|
133
42
|
const targetEndCol = endColumn ?? startColumn;
|
|
134
|
-
const
|
|
135
|
-
const
|
|
136
|
-
const
|
|
137
|
-
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
const
|
|
142
|
-
// Helper to map original column to display position
|
|
143
|
-
const
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
return truncatedPlain.length; // After visible, point to end
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
// In visible range: position = 4 (for "...") + (col - startCol + 1)
|
|
155
|
-
return 4 + (originalCol - visibleRange.startCol);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
else if (visibleRange.hasEllipsisStart) {
|
|
159
|
-
// Format: "...code"
|
|
160
|
-
if (originalCol < visibleRange.startCol) {
|
|
161
|
-
return 1;
|
|
162
|
-
}
|
|
163
|
-
else {
|
|
164
|
-
return 4 + (originalCol - visibleRange.startCol);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
else if (visibleRange.hasEllipsisEnd) {
|
|
168
|
-
// Format: "code..."
|
|
169
|
-
if (originalCol > visibleRange.endCol) {
|
|
170
|
-
return truncatedPlain.length;
|
|
171
|
-
}
|
|
172
|
-
else {
|
|
173
|
-
return originalCol;
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
else {
|
|
177
|
-
// No ellipsis, direct mapping
|
|
178
|
-
return originalCol;
|
|
43
|
+
const defaultCodeColor = isDarkTerminal() ? 'brightBlack' : 'black';
|
|
44
|
+
const styledErrorLine = applyStyle(errorLine, { color: defaultCodeColor });
|
|
45
|
+
const truncateResult = truncateFocusRange(styledErrorLine, codeAreaWidth, startColumn, targetEndCol, maxColumn);
|
|
46
|
+
const truncatedErrorLine = truncateResult.text;
|
|
47
|
+
const visibleStartCol = truncateResult.visibleStartCol;
|
|
48
|
+
const visibleEndCol = truncateResult.visibleEndCol;
|
|
49
|
+
const rangeStartCol = truncateResult.rangeStartCol;
|
|
50
|
+
const rangeEndCol = truncateResult.rangeEndCol;
|
|
51
|
+
// Helper to map original column to display position using the actual visible range
|
|
52
|
+
const mapColumnToDisplayLocal = (originalCol) => {
|
|
53
|
+
const result = mapColumnToDisplay(errorLine, truncatedErrorLine, visibleStartCol, visibleEndCol, originalCol, rangeStartCol, rangeEndCol);
|
|
54
|
+
// Debug logging
|
|
55
|
+
if (originalCol === startColumn || originalCol === endColumn) {
|
|
56
|
+
const truncatedPlain = stripAnsi(truncatedErrorLine);
|
|
57
|
+
const charAtPos = truncatedPlain[result - 1] || '?';
|
|
58
|
+
const expectedChar = errorLine[originalCol - 1] || '?';
|
|
59
|
+
logToFile(`[code-debug] Width: ${codeAreaWidth}, OriginalCol: ${originalCol}, DisplayPos: ${result}, Char: '${charAtPos}' (expected '${expectedChar}'), VisibleRange: ${visibleStartCol}-${visibleEndCol}, Truncated: "${truncatedPlain.substring(0, 50)}..."`);
|
|
179
60
|
}
|
|
61
|
+
return result;
|
|
180
62
|
};
|
|
181
63
|
// Build the code block lines
|
|
182
64
|
const codeLines = [];
|
|
@@ -229,11 +111,11 @@ export function CodeDebug(options) {
|
|
|
229
111
|
const curve = applyStyle('╭─', { color: 'brightBlack' });
|
|
230
112
|
const bracketOpen = '[';
|
|
231
113
|
const colon1 = ':';
|
|
232
|
-
// Apply subtle color to line/column numbers (not colons)
|
|
233
|
-
const
|
|
234
|
-
const lineNum = applyStyle(String(startLine), { color:
|
|
114
|
+
// Apply subtle color to line/column numbers (not colons) - use magenta for location line
|
|
115
|
+
const locationNumColor = isDarkTerminal() ? 'magenta' : 'magenta';
|
|
116
|
+
const lineNum = applyStyle(String(startLine), { color: locationNumColor });
|
|
235
117
|
const colon2 = ':';
|
|
236
|
-
const colNum = applyStyle(String(startColumn), { color:
|
|
118
|
+
const colNum = applyStyle(String(startColumn), { color: locationNumColor });
|
|
237
119
|
const bracketClose = ']';
|
|
238
120
|
// Calculate max width for path: available width minus fixed parts
|
|
239
121
|
// Fixed parts: curveIndent + ╭─ + [ + : + lineNum + : + colNum + ]
|
|
@@ -274,46 +156,59 @@ export function CodeDebug(options) {
|
|
|
274
156
|
const dimmedBefore = isDarkTerminal()
|
|
275
157
|
? applyStyle(truncatedBefore, { dim: true })
|
|
276
158
|
: applyStyle(truncatedBefore, { color: 'brightBlack' });
|
|
277
|
-
codeLines.push(applyStyle(`${beforeLineNumPadded} `, { color:
|
|
159
|
+
codeLines.push(applyStyle(`${beforeLineNumPadded} `, { color: lineNumColor }) +
|
|
278
160
|
applyStyle('│ ', { color: 'brightBlack' }) + dimmedBefore);
|
|
279
161
|
}
|
|
280
162
|
// Error line (with space before code)
|
|
281
|
-
//
|
|
163
|
+
// truncatedErrorLine already has the default color applied
|
|
282
164
|
let highlightedErrorLine = truncatedErrorLine;
|
|
165
|
+
// Highlight the error range if endColumn is specified
|
|
283
166
|
if (endColumn && endColumn > startColumn) {
|
|
284
|
-
|
|
285
|
-
|
|
167
|
+
// Map columns to display positions in the truncated (and styled) text
|
|
168
|
+
// We need to map based on the plain truncated text, then account for ANSI codes
|
|
169
|
+
const truncatedPlain = stripAnsi(truncatedErrorLine);
|
|
170
|
+
const highlightStart = mapColumnToDisplayLocal(startColumn); // 1-based display position
|
|
171
|
+
const highlightEnd = mapColumnToDisplayLocal(endColumn); // 1-based display position
|
|
286
172
|
// Split at highlight start and end positions (splitAtVisiblePos uses 0-based)
|
|
287
|
-
const { before: beforeHighlight } = splitAtVisiblePos(
|
|
288
|
-
const remainingAfterStart = truncatedErrorLine.substring(beforeHighlight.length);
|
|
173
|
+
const { before: beforeHighlight, after: remainingAfterStart } = splitAtVisiblePos(highlightedErrorLine, highlightStart - 1);
|
|
289
174
|
const highlightLength = highlightEnd - highlightStart + 1;
|
|
290
|
-
const { before: highlightRange } = splitAtVisiblePos(remainingAfterStart, highlightLength);
|
|
291
|
-
|
|
292
|
-
//
|
|
293
|
-
const highlightColor = isDarkTerminal() ? '
|
|
294
|
-
const
|
|
295
|
-
|
|
175
|
+
const { before: highlightRange, after: afterHighlight } = splitAtVisiblePos(remainingAfterStart, highlightLength);
|
|
176
|
+
// Strip existing ANSI codes from highlight range and apply new highlight color
|
|
177
|
+
// This ensures the highlight color properly overrides the default code color
|
|
178
|
+
const highlightColor = isDarkTerminal() ? 'white' : 'black';
|
|
179
|
+
const highlightPlain = stripAnsi(highlightRange);
|
|
180
|
+
const highlightedRangeStyled = applyStyle(highlightPlain, { color: highlightColor });
|
|
181
|
+
highlightedErrorLine = beforeHighlight + highlightedRangeStyled + afterHighlight;
|
|
296
182
|
}
|
|
297
183
|
const errorLineNum = String(startLine);
|
|
298
184
|
const errorLineNumPadded = errorLineNum.padStart(lineNumWidth);
|
|
299
|
-
let errorLineDisplay = applyStyle(`${errorLineNumPadded} `, { color:
|
|
185
|
+
let errorLineDisplay = applyStyle(`${errorLineNumPadded} `, { color: lineNumColor }) +
|
|
300
186
|
applyStyle('│ ', { color: 'brightBlack' }) + highlightedErrorLine;
|
|
301
187
|
codeLines.push(errorLineDisplay);
|
|
302
188
|
// Underline line (Oxlint style)
|
|
303
189
|
// Format: "[lineNumWidth spaces][1 space][│][1 space][dots][underline]"
|
|
304
190
|
// Calculate positions relative to the code (after "│ ")
|
|
305
|
-
const underlineStartInCode =
|
|
306
|
-
const underlineEndInCode = endColumn ?
|
|
191
|
+
const underlineStartInCode = mapColumnToDisplayLocal(startColumn);
|
|
192
|
+
const underlineEndInCode = endColumn ? mapColumnToDisplayLocal(endColumn) : underlineStartInCode;
|
|
307
193
|
const underlineLength = underlineEndInCode - underlineStartInCode + 1;
|
|
308
|
-
// Spaces to align with the start of the underline
|
|
194
|
+
// Spaces to align with the start of the underline
|
|
195
|
+
// underlineStartInCode is position in truncated text (which is what's displayed after │ )
|
|
196
|
+
// The ellipsis is PART of the displayed text, so we use the position directly
|
|
197
|
+
// Position is 1-based, so spacesBefore = underlineStartInCode - 1
|
|
309
198
|
const spacesBefore = Math.max(0, underlineStartInCode - 1);
|
|
310
199
|
// Underline line: line number width + space + │ + space + spaces + underline
|
|
311
200
|
let indicatorLine = ' '.repeat(lineNumWidth) + ' ' + applyStyle('│', { color: 'brightBlack' }) + ' ' +
|
|
312
201
|
' '.repeat(spacesBefore);
|
|
313
202
|
// Calculate connectCol for short message (if present)
|
|
203
|
+
// This is the position where the T-bar (┬) will be, which is the middle of the underline
|
|
204
|
+
// Use positions in the truncated text (which is what's displayed)
|
|
314
205
|
const connectCol = shortMessage && underlineLength > 1
|
|
315
206
|
? underlineStartInCode + Math.floor(underlineLength / 2)
|
|
316
207
|
: underlineStartInCode;
|
|
208
|
+
// Calculate the position of the T-bar within the indicator line (after │ and space)
|
|
209
|
+
// This is: lineNumWidth + 1 (space) + 1 (│) + 1 (space) + spacesBefore + connectPosInUnderline
|
|
210
|
+
const connectPosInIndicator = lineNumWidth + 1 + 1 + 1 + spacesBefore + (connectCol - underlineStartInCode);
|
|
211
|
+
logToFile(`[code-debug] lineNumWidth: ${lineNumWidth}, spacesBefore: ${spacesBefore}, connectCol: ${connectCol}, underlineStartInCode: ${underlineStartInCode}, connectPosInIndicator: ${connectPosInIndicator}`);
|
|
317
212
|
const underlineStartCol = underlineStartInCode;
|
|
318
213
|
const underlineEndCol = underlineEndInCode;
|
|
319
214
|
if (endColumn && underlineEndCol > underlineStartCol) {
|
|
@@ -322,7 +217,7 @@ export function CodeDebug(options) {
|
|
|
322
217
|
const underlineLen = underlineLength;
|
|
323
218
|
if (shortMessage) {
|
|
324
219
|
// With short message: T-bar in the middle
|
|
325
|
-
const connectPosInUnderline = connectCol -
|
|
220
|
+
const connectPosInUnderline = connectCol - underlineStartInCode; // Position within the underline
|
|
326
221
|
if (underlineLen >= 3) {
|
|
327
222
|
// Build underline with T-bar: left curve, dashes, T-bar, dashes, right curve
|
|
328
223
|
// Total length = 1 (┖) + left dashes + 1 (┬) + right dashes + 1 (┚) = underlineLen
|
|
@@ -335,8 +230,8 @@ export function CodeDebug(options) {
|
|
|
335
230
|
indicatorLine += applyStyle('┖' + leftPart + '┬' + rightPart + '┚', { color: colorScheme.primary });
|
|
336
231
|
}
|
|
337
232
|
else if (underlineLen === 2) {
|
|
338
|
-
//
|
|
339
|
-
indicatorLine += applyStyle('
|
|
233
|
+
// Exactly 2 characters: just the brackets, no T-bar
|
|
234
|
+
indicatorLine += applyStyle('┖┚', { color: colorScheme.primary });
|
|
340
235
|
}
|
|
341
236
|
else {
|
|
342
237
|
// Single character, just use T
|
|
@@ -357,12 +252,53 @@ export function CodeDebug(options) {
|
|
|
357
252
|
codeLines.push(indicatorLine);
|
|
358
253
|
// Short message connected to underline (if provided)
|
|
359
254
|
if (shortMessage) {
|
|
360
|
-
//
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
255
|
+
// Determine placement: 'auto' means calculate which side has more available space
|
|
256
|
+
let placement = shortMessagePlacement === 'auto'
|
|
257
|
+
? (() => {
|
|
258
|
+
const shortMessageWidth = countVisibleChars(shortMessage);
|
|
259
|
+
const connectorWidth = 4; // " ──╯" or "╰── " is 4 characters
|
|
260
|
+
const totalWidth = shortMessageWidth + connectorWidth;
|
|
261
|
+
// Available space on left: from start of code area to connectCol
|
|
262
|
+
const availableLeft = connectCol - 1;
|
|
263
|
+
// Available space on right: from connectCol to end of code area
|
|
264
|
+
const availableRight = codeAreaWidth - connectCol;
|
|
265
|
+
// Place on left if left has more space, otherwise right
|
|
266
|
+
return availableLeft >= availableRight ? 'left' : 'right';
|
|
267
|
+
})()
|
|
268
|
+
: shortMessagePlacement;
|
|
269
|
+
if (placement === 'left') {
|
|
270
|
+
// Short message on left: message + connector pointing right (curved up)
|
|
271
|
+
// The connector " ──╯" is 4 chars: space + dash + dash + ╯
|
|
272
|
+
// The ╯ should be at connectPosInIndicator
|
|
273
|
+
// So: linePrefixWidth + spacesBeforeMessage + messageWidth + connectorWidth = connectPosInIndicator
|
|
274
|
+
// Where connectorWidth = 4 (space + 2 dashes + ╯)
|
|
275
|
+
const messageWidth = countVisibleChars(shortMessage);
|
|
276
|
+
const linePrefixWidth = lineNumWidth + 3; // lineNumWidth + space + │ + space
|
|
277
|
+
const connectorWidth = 4; // " ──╯" is 4 characters
|
|
278
|
+
const spacesBeforeMessage = Math.max(0, connectPosInIndicator - linePrefixWidth - messageWidth - connectorWidth);
|
|
279
|
+
const shortMessageLine = ' '.repeat(lineNumWidth) + ' ' + applyStyle('│', { color: 'brightBlack' }) + ' ' +
|
|
280
|
+
' '.repeat(spacesBeforeMessage) +
|
|
281
|
+
applyStyle(shortMessage, { color: colorScheme.message }) +
|
|
282
|
+
applyStyle(' ──╯', { color: colorScheme.primary });
|
|
283
|
+
codeLines.push(shortMessageLine);
|
|
284
|
+
}
|
|
285
|
+
else {
|
|
286
|
+
// Short message on right: connector pointing left (curved up) + message
|
|
287
|
+
// The connector "╰── " is 4 chars, and the last dash should connect to the T-bar
|
|
288
|
+
// The T-bar is at connectPosInIndicator, so the last dash is at connectPosInIndicator
|
|
289
|
+
// The connector "╰── " has the last dash at position 3 (0-indexed), so:
|
|
290
|
+
// connectorStartPos + 3 = connectPosInIndicator
|
|
291
|
+
// Therefore: connectorStartPos = connectPosInIndicator - 3
|
|
292
|
+
const linePrefixWidth = lineNumWidth + 3; // lineNumWidth + space + │ + space
|
|
293
|
+
const connectorStartPos = connectPosInIndicator - 3; // Connector "╰── " ends at connectPosInIndicator
|
|
294
|
+
const spacesBeforeConnector = Math.max(0, connectorStartPos - linePrefixWidth);
|
|
295
|
+
const shortMessageLine = ' '.repeat(lineNumWidth) + ' ' + applyStyle('│', { color: 'brightBlack' }) + ' ' +
|
|
296
|
+
' '.repeat(spacesBeforeConnector) +
|
|
297
|
+
applyStyle('╰── ', { color: colorScheme.primary }) +
|
|
298
|
+
' ' + // Single space between connector and message
|
|
299
|
+
applyStyle(shortMessage, { color: colorScheme.message });
|
|
300
|
+
codeLines.push(shortMessageLine);
|
|
301
|
+
}
|
|
366
302
|
}
|
|
367
303
|
// Line after (if exists)
|
|
368
304
|
if (lineAfter !== null && lineAfter !== undefined) {
|
|
@@ -373,7 +309,7 @@ export function CodeDebug(options) {
|
|
|
373
309
|
const dimmedAfter = isDarkTerminal()
|
|
374
310
|
? applyStyle(truncatedAfter, { dim: true })
|
|
375
311
|
: applyStyle(truncatedAfter, { color: 'brightBlack' });
|
|
376
|
-
codeLines.push(applyStyle(`${afterLineNumPadded} `, { color:
|
|
312
|
+
codeLines.push(applyStyle(`${afterLineNumPadded} `, { color: lineNumColor }) +
|
|
377
313
|
applyStyle('│ ', { color: 'brightBlack' }) + dimmedAfter);
|
|
378
314
|
}
|
|
379
315
|
// Bottom curve to close the box (Oxlint style)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-debug.js","sourceRoot":"","sources":["../../src/components/code-debug.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"code-debug.js","sourceRoot":"","sources":["../../src/components/code-debug.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-debug.test.d.ts","sourceRoot":"","sources":["../../src/components/code-debug.test.ts"],"names":[],"mappings":""}
|