@tooee/renderers 0.1.11 → 0.1.14

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 (43) hide show
  1. package/dist/CodeView.d.ts +3 -7
  2. package/dist/CodeView.d.ts.map +1 -1
  3. package/dist/CodeView.js +5 -31
  4. package/dist/CodeView.js.map +1 -1
  5. package/dist/CommandPalette.d.ts.map +1 -1
  6. package/dist/CommandPalette.js +1 -23
  7. package/dist/CommandPalette.js.map +1 -1
  8. package/dist/DecorationLayer.d.ts +14 -0
  9. package/dist/DecorationLayer.d.ts.map +1 -0
  10. package/dist/DecorationLayer.js +2 -0
  11. package/dist/DecorationLayer.js.map +1 -0
  12. package/dist/MarkdownView.d.ts +16 -9
  13. package/dist/MarkdownView.d.ts.map +1 -1
  14. package/dist/MarkdownView.js +256 -107
  15. package/dist/MarkdownView.js.map +1 -1
  16. package/dist/RowDocumentRenderable.d.ts +14 -26
  17. package/dist/RowDocumentRenderable.d.ts.map +1 -1
  18. package/dist/RowDocumentRenderable.js +74 -78
  19. package/dist/RowDocumentRenderable.js.map +1 -1
  20. package/dist/Table.d.ts +5 -9
  21. package/dist/Table.d.ts.map +1 -1
  22. package/dist/Table.js +17 -46
  23. package/dist/Table.js.map +1 -1
  24. package/dist/index.d.ts +7 -3
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +4 -2
  27. package/dist/index.js.map +1 -1
  28. package/dist/parsers.d.ts.map +1 -1
  29. package/dist/parsers.js.map +1 -1
  30. package/dist/useGutterPalette.d.ts +3 -0
  31. package/dist/useGutterPalette.d.ts.map +1 -0
  32. package/dist/useGutterPalette.js +10 -0
  33. package/dist/useGutterPalette.js.map +1 -0
  34. package/package.json +18 -16
  35. package/src/CodeView.tsx +11 -54
  36. package/src/CommandPalette.tsx +1 -25
  37. package/src/DecorationLayer.ts +11 -0
  38. package/src/MarkdownView.tsx +382 -164
  39. package/src/RowDocumentRenderable.ts +91 -135
  40. package/src/Table.tsx +35 -71
  41. package/src/index.ts +6 -8
  42. package/src/parsers.ts +4 -1
  43. package/src/useGutterPalette.ts +15 -0
@@ -1,59 +1,132 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@opentui/react/jsx-runtime";
2
2
  import { marked } from "marked";
3
- import { useEffect, useMemo, useRef } from "react";
3
+ import { useMemo } from "react";
4
4
  import { useTheme } from "@tooee/themes";
5
- import { bold as boldChunk } from "@opentui/core";
5
+ import { bold as boldChunk, italic as italicChunk, underline as underlineChunk, parseColor, } from "@opentui/core";
6
+ import { useGutterPalette } from "./useGutterPalette.js";
6
7
  import "./row-document.js";
7
8
  import "./text-table.js";
8
- export function MarkdownView({ content, showLineNumbers = true, activeBlock, selectedBlocks, matchingBlocks, currentMatchBlock, toggledBlocks, docRef, }) {
9
+ // ---------------------------------------------------------------------------
10
+ // Token flattening
11
+ // ---------------------------------------------------------------------------
12
+ export function flattenTokens(tokens) {
13
+ const result = [];
14
+ flattenTokenList(tokens, 0, result);
15
+ return result;
16
+ }
17
+ function flattenTokenList(tokens, indent, result) {
18
+ for (const token of tokens) {
19
+ if (token.type === "space")
20
+ continue;
21
+ if (token.type === "list") {
22
+ const list = token;
23
+ for (let i = 0; i < list.items.length; i++) {
24
+ const item = list.items[i];
25
+ const bullet = list.ordered ? `${i + (list.start || 1)}. ` : "- ";
26
+ flattenListItem(item, indent, bullet, result);
27
+ }
28
+ }
29
+ else {
30
+ result.push({ token, indent });
31
+ }
32
+ }
33
+ }
34
+ function flattenListItem(item, indent, bullet, result) {
35
+ const checked = item.checked != null ? item.checked : undefined;
36
+ const childTokens = item.tokens || [];
37
+ let bulletUsed = false;
38
+ for (const token of childTokens) {
39
+ if (token.type === "space" || token.type === "checkbox")
40
+ continue;
41
+ if (token.type === "text" || token.type === "paragraph") {
42
+ // Inline content — attach the bullet to the first one
43
+ result.push({
44
+ token,
45
+ indent,
46
+ bullet: bulletUsed ? undefined : bullet,
47
+ checked: bulletUsed ? undefined : checked,
48
+ });
49
+ bulletUsed = true;
50
+ }
51
+ else if (token.type === "list") {
52
+ // Emit bullet line if nothing preceded this nested list
53
+ if (!bulletUsed) {
54
+ result.push({
55
+ token: { type: "text", raw: "", text: "", tokens: [] },
56
+ indent,
57
+ bullet,
58
+ checked,
59
+ });
60
+ bulletUsed = true;
61
+ }
62
+ // Nested list — increase indent to align with content after bullet
63
+ const list = token;
64
+ for (let i = 0; i < list.items.length; i++) {
65
+ const subItem = list.items[i];
66
+ const subBullet = list.ordered ? `${i + (list.start || 1)}. ` : "- ";
67
+ flattenListItem(subItem, indent + bullet.length, subBullet, result);
68
+ }
69
+ }
70
+ else {
71
+ // Block content (code, table, blockquote, hr, etc.)
72
+ if (!bulletUsed) {
73
+ result.push({
74
+ token: { type: "text", raw: "", text: "", tokens: [] },
75
+ indent,
76
+ bullet,
77
+ checked,
78
+ });
79
+ bulletUsed = true;
80
+ }
81
+ // Emit the block indented to align with content after the bullet
82
+ result.push({ token, indent: indent + bullet.length });
83
+ }
84
+ }
85
+ // List item had no content tokens — still emit the bullet
86
+ if (!bulletUsed) {
87
+ result.push({
88
+ token: { type: "text", raw: "", text: "", tokens: [] },
89
+ indent,
90
+ bullet,
91
+ checked,
92
+ });
93
+ }
94
+ }
95
+ // ---------------------------------------------------------------------------
96
+ // Component
97
+ // ---------------------------------------------------------------------------
98
+ export function MarkdownView({ content, showLineNumbers = true, marks, docRef }) {
9
99
  const { theme, syntax } = useTheme();
10
- const internalRef = useRef(null);
11
- const effectiveRef = docRef ?? internalRef;
100
+ const palette = useGutterPalette();
12
101
  const tokens = marked.lexer(content);
13
- const blocks = tokens.filter((t) => t.type !== "space");
14
- const palette = {
15
- gutterFg: theme.textMuted,
16
- gutterBg: theme.backgroundElement,
17
- cursorBg: theme.cursorLine,
18
- selectionBg: theme.selection,
19
- matchBg: theme.warning,
20
- currentMatchBg: theme.primary,
21
- toggledBg: theme.backgroundPanel,
22
- cursorSignFg: theme.primary,
23
- matchSignFg: theme.warning,
24
- currentMatchSignFg: theme.primary,
25
- };
26
- useEffect(() => {
27
- const decorations = {
28
- cursorRow: activeBlock,
29
- selection: selectedBlocks ? { start: selectedBlocks.start, end: selectedBlocks.end } : null,
30
- matchingRows: matchingBlocks,
31
- currentMatchRow: currentMatchBlock,
32
- toggledRows: toggledBlocks,
33
- };
34
- effectiveRef.current?.setDecorations(decorations);
35
- }, [activeBlock, selectedBlocks, matchingBlocks, currentMatchBlock, toggledBlocks]);
36
- const blockElements = blocks.map((token, index) => (_jsx(TokenRenderer, { token: token, theme: theme, syntax: syntax }, index)));
37
- return (_jsx("row-document", { ref: effectiveRef, showLineNumbers: showLineNumbers, palette: palette, signColumnWidth: 1, style: { flexGrow: 1 }, children: blockElements }, theme.textMuted + theme.backgroundElement));
102
+ const blocks = flattenTokens(tokens);
103
+ const blockElements = blocks.map((block, index) => (_jsx(FlatBlockRenderer, { block: block, theme: theme, syntax: syntax }, index)));
104
+ return (_jsx("row-document", { ref: docRef, showLineNumbers: showLineNumbers, palette: palette, decorations: marks?.sets, signColumnWidth: 1, style: { flexGrow: 1 }, children: blockElements }));
38
105
  }
39
- function TokenRenderer({ token, theme, syntax, }) {
106
+ // ---------------------------------------------------------------------------
107
+ // Block renderer (flat)
108
+ // ---------------------------------------------------------------------------
109
+ function FlatBlockRenderer({ block, theme, syntax, }) {
110
+ const { token, indent, bullet } = block;
111
+ // List item line (has bullet)
112
+ if (bullet !== undefined) {
113
+ return _jsx(ListLineRenderer, { block: block, theme: theme });
114
+ }
115
+ // Regular block token
40
116
  switch (token.type) {
41
117
  case "heading":
42
- return _jsx(HeadingRenderer, { token: token, theme: theme });
118
+ return _jsx(HeadingRenderer, { token: token, theme: theme, indent: indent });
43
119
  case "paragraph":
44
- return _jsx(ParagraphRenderer, { token: token, theme: theme });
120
+ return _jsx(ParagraphRenderer, { token: token, theme: theme, indent: indent });
45
121
  case "code":
46
- return _jsx(CodeBlockRenderer, { token: token, theme: theme, syntax: syntax });
122
+ return (_jsx(CodeBlockRenderer, { token: token, theme: theme, syntax: syntax, indent: indent }));
47
123
  case "blockquote":
48
- return _jsx(BlockquoteRenderer, { token: token, theme: theme });
49
- case "list":
50
- return _jsx(ListRenderer, { token: token, theme: theme });
124
+ return (_jsx(BlockquoteRenderer, { token: token, theme: theme, indent: indent }));
51
125
  case "table":
52
- return _jsx(MarkdownTableRenderer, { token: token });
126
+ return _jsx(MarkdownTableRenderer, { token: token, indent: indent });
53
127
  case "hr":
54
- return _jsx(HorizontalRule, { theme: theme });
128
+ return _jsx(HorizontalRule, { theme: theme, indent: indent });
55
129
  case "space":
56
- return null;
57
130
  case "html":
58
131
  return null;
59
132
  default:
@@ -62,14 +135,30 @@ function TokenRenderer({ token, theme, syntax, }) {
62
135
  fg: theme.markdownText,
63
136
  marginBottom: 1,
64
137
  marginTop: 0,
65
- marginLeft: 1,
138
+ marginLeft: 1 + indent,
66
139
  marginRight: 1,
67
140
  } }));
68
141
  }
69
142
  return null;
70
143
  }
71
144
  }
72
- function HeadingRenderer({ token, theme }) {
145
+ // ---------------------------------------------------------------------------
146
+ // List line renderer
147
+ // ---------------------------------------------------------------------------
148
+ function ListLineRenderer({ block, theme }) {
149
+ const { token, indent, bullet, checked } = block;
150
+ const checkboxPrefix = checked !== undefined ? (checked ? "[x] " : "[ ] ") : "";
151
+ // Get inline tokens from the text/paragraph token
152
+ const inlineTokens = "tokens" in token && Array.isArray(token.tokens) ? token.tokens : [];
153
+ const hasText = "text" in token && typeof token.text === "string" && token.text.length > 0;
154
+ const hasContent = inlineTokens.length > 0 || hasText;
155
+ return (_jsx("box", { style: { marginLeft: 1 + indent, marginRight: 1 }, children: _jsxs("text", { style: { fg: theme.markdownText }, children: [_jsx("span", { fg: theme.markdownListItem, children: bullet }), checkboxPrefix !== "" && (_jsx("span", { fg: checked ? theme.accent : theme.textMuted, children: checkboxPrefix })), hasContent &&
156
+ (inlineTokens.length > 0 ? (_jsx(InlineTokens, { tokens: inlineTokens, theme: theme })) : hasText ? (("text" in token ? token.text : "")) : null)] }) }));
157
+ }
158
+ // ---------------------------------------------------------------------------
159
+ // Block renderers
160
+ // ---------------------------------------------------------------------------
161
+ function HeadingRenderer({ token, theme, indent, }) {
73
162
  const headingColors = {
74
163
  1: theme.markdownHeading,
75
164
  2: theme.secondary,
@@ -86,18 +175,17 @@ function HeadingRenderer({ token, theme }) {
86
175
  5: "##### ",
87
176
  6: "###### ",
88
177
  };
89
- const headingText = getPlainText(token.tokens || []);
90
- return (_jsx("box", { style: { marginTop: 1, marginBottom: 1 }, children: _jsxs("text", { style: { fg: headingColors[token.depth] || theme.text }, children: [_jsx("span", { fg: theme.textMuted, children: prefixes[token.depth] }), _jsx("strong", { children: headingText })] }) }));
178
+ return (_jsx("box", { style: { marginTop: 1, marginBottom: 1, marginLeft: indent }, children: _jsxs("text", { style: { fg: headingColors[token.depth] || theme.text }, children: [_jsx("span", { fg: theme.textMuted, children: prefixes[token.depth] }), _jsx("strong", { children: _jsx(InlineTokens, { tokens: token.tokens || [], theme: theme }) })] }) }));
91
179
  }
92
- function ParagraphRenderer({ token, theme }) {
93
- return (_jsx("box", { style: { marginBottom: 1, marginLeft: 1, marginRight: 1 }, children: _jsx("text", { style: { fg: theme.markdownText }, children: _jsx(InlineTokens, { tokens: token.tokens || [], theme: theme }) }) }));
180
+ function ParagraphRenderer({ token, theme, indent, }) {
181
+ return (_jsx("box", { style: { marginBottom: 1, marginLeft: 1 + indent, marginRight: 1 }, children: _jsx("text", { style: { fg: theme.markdownText }, children: _jsx(InlineTokens, { tokens: token.tokens || [], theme: theme }) }) }));
94
182
  }
95
- function CodeBlockRenderer({ token, theme, syntax, }) {
183
+ function CodeBlockRenderer({ token, theme, syntax, indent, }) {
96
184
  const lineCount = token.text.split("\n").length;
97
185
  return (_jsx("box", { style: {
98
186
  marginTop: 0,
99
187
  marginBottom: 1,
100
- marginLeft: 1,
188
+ marginLeft: 1 + indent,
101
189
  marginRight: 1,
102
190
  border: true,
103
191
  borderColor: theme.border,
@@ -105,68 +193,56 @@ function CodeBlockRenderer({ token, theme, syntax, }) {
105
193
  flexDirection: "column",
106
194
  }, children: _jsx("code", { content: token.text, filetype: token.lang, syntaxStyle: syntax, style: { height: lineCount } }) }));
107
195
  }
108
- function BlockquoteRenderer({ token, theme }) {
109
- const quoteText = token.tokens
110
- ? token.tokens
111
- .map((t) => {
112
- const innerTokens = "tokens" in t ? t.tokens : undefined;
113
- const textContent = "text" in t ? t.text : "";
114
- return getPlainText(innerTokens || []) || textContent || "";
115
- })
116
- .join("\n")
117
- : "";
118
- return (_jsxs("box", { style: { marginTop: 0, marginBottom: 1, marginLeft: 1, marginRight: 1, paddingLeft: 2 }, children: [_jsx("text", { style: { fg: theme.markdownBlockQuote }, content: "\u2502 " }), _jsx("text", { style: { fg: theme.textMuted }, content: quoteText })] }));
119
- }
120
- function ListRenderer({ token, theme }) {
121
- return (_jsx("box", { style: { marginBottom: 1, marginLeft: 3, marginRight: 1, flexDirection: "column" }, children: token.items.map((item, index) => (_jsx(ListItemRenderer, { item: item, ordered: token.ordered, index: index + (token.start || 1), theme: theme }, index))) }));
122
- }
123
- function ListItemRenderer({ item, ordered, index, theme, }) {
124
- const bullet = ordered ? `${index}. ` : "- ";
125
- const itemContent = item.tokens || [];
126
- return (_jsxs("box", { style: { flexDirection: "row" }, children: [_jsx("text", { style: { fg: theme.markdownListItem }, content: bullet }), _jsx("box", { style: { flexShrink: 1, flexDirection: "column" }, children: itemContent.map((token, idx) => {
127
- if (token.type === "text" && "tokens" in token && token.tokens) {
128
- return (_jsx("text", { style: { fg: theme.markdownText }, children: _jsx(InlineTokens, { tokens: token.tokens, theme: theme }) }, idx));
129
- }
130
- if (token.type === "paragraph" && token.tokens) {
131
- return (_jsx("text", { style: { fg: theme.markdownText }, children: _jsx(InlineTokens, { tokens: token.tokens, theme: theme }) }, idx));
132
- }
133
- if ("text" in token && typeof token.text === "string") {
134
- return _jsx("text", { style: { fg: theme.markdownText }, content: token.text }, idx);
135
- }
136
- return null;
137
- }) })] }));
196
+ function BlockquoteRenderer({ token, theme, indent, }) {
197
+ // Collect inline tokens from blockquote's child paragraphs/text
198
+ const inlineTokens = [];
199
+ if (token.tokens) {
200
+ for (const child of token.tokens) {
201
+ if ("tokens" in child && Array.isArray(child.tokens)) {
202
+ if (inlineTokens.length > 0) {
203
+ inlineTokens.push({ type: "text", raw: "\n", text: "\n" });
204
+ }
205
+ inlineTokens.push(...child.tokens);
206
+ }
207
+ else if ("text" in child && typeof child.text === "string") {
208
+ inlineTokens.push(child);
209
+ }
210
+ }
211
+ }
212
+ return (_jsxs("box", { style: {
213
+ marginTop: 0,
214
+ marginBottom: 1,
215
+ marginLeft: 1 + indent,
216
+ marginRight: 1,
217
+ paddingLeft: 2,
218
+ }, children: [_jsx("text", { style: { fg: theme.markdownBlockQuote }, content: "\u2502 " }), _jsx("text", { style: { fg: theme.textMuted }, children: _jsx(InlineTokens, { tokens: inlineTokens, theme: theme }) })] }));
138
219
  }
139
- function MarkdownTableRenderer({ token }) {
220
+ function MarkdownTableRenderer({ token, indent }) {
140
221
  const { theme } = useTheme();
141
222
  const content = useMemo(() => {
142
- const headerRow = token.header.map(cell => [
143
- boldChunk(getPlainText(cell.tokens).trim())
144
- ]);
145
- const dataRows = token.rows.map(row => row.map(cell => [
146
- { __isChunk: true, text: getPlainText(cell.tokens) }
147
- ]));
223
+ const headerRow = token.header.map((cell) => {
224
+ const chunks = inlineTokensToChunks(cell.tokens, theme);
225
+ // Wrap header chunks in bold
226
+ return chunks.length > 0
227
+ ? chunks.map((c) => boldChunk(c))
228
+ : [boldChunk(getPlainText(cell.tokens).trim())];
229
+ });
230
+ const dataRows = token.rows.map((row) => row.map((cell) => {
231
+ const chunks = inlineTokensToChunks(cell.tokens, theme);
232
+ return chunks.length > 0
233
+ ? chunks
234
+ : [{ __isChunk: true, text: getPlainText(cell.tokens) }];
235
+ }));
148
236
  return [headerRow, ...dataRows];
149
- }, [token]);
150
- return (_jsx("box", { style: { marginLeft: 1, marginRight: 1, marginBottom: 1 }, children: _jsx("text-table", { content: content, wrapMode: "word", columnWidthMode: "content", cellPadding: 0, border: true, borderStyle: "single", borderColor: theme.border, fg: theme.text }) }));
237
+ }, [token, theme]);
238
+ return (_jsx("box", { style: { marginLeft: 1 + indent, marginRight: 1, marginBottom: 1 }, children: _jsx("text-table", { content: content, wrapMode: "word", columnWidthMode: "content", cellPadding: 0, border: true, borderStyle: "single", borderColor: theme.border, fg: theme.text }) }));
151
239
  }
152
- function HorizontalRule({ theme }) {
153
- return (_jsx("box", { style: { marginTop: 0, marginBottom: 1, marginLeft: 1, marginRight: 1 }, children: _jsx("text", { style: { fg: theme.markdownHorizontalRule }, content: "─".repeat(40) }) }));
154
- }
155
- function getPlainText(tokens) {
156
- return tokens
157
- .map((token) => {
158
- if (token.type === "text")
159
- return token.text;
160
- if (token.type === "codespan")
161
- return token.text;
162
- if ("tokens" in token && token.tokens)
163
- return getPlainText(token.tokens);
164
- if ("text" in token)
165
- return token.text;
166
- return "";
167
- })
168
- .join("");
240
+ function HorizontalRule({ theme, indent }) {
241
+ return (_jsx("box", { style: { marginTop: 0, marginBottom: 1, marginLeft: 1 + indent, marginRight: 1 }, children: _jsx("text", { style: { fg: theme.markdownHorizontalRule }, content: "─".repeat(40) }) }));
169
242
  }
243
+ // ---------------------------------------------------------------------------
244
+ // Inline token rendering (React elements)
245
+ // ---------------------------------------------------------------------------
170
246
  function InlineTokens({ tokens, theme }) {
171
247
  const result = [];
172
248
  for (let i = 0; i < tokens.length; i++) {
@@ -179,17 +255,25 @@ function InlineTokens({ tokens, theme }) {
179
255
  result.push(token.text);
180
256
  break;
181
257
  case "strong":
182
- result.push(_jsx("strong", { children: getPlainText(token.tokens || []) }, key));
258
+ result.push(_jsx("strong", { children: _jsx(InlineTokens, { tokens: token.tokens || [], theme: theme }) }, key));
183
259
  break;
184
260
  case "em":
185
- result.push(_jsx("em", { children: getPlainText(token.tokens || []) }, key));
261
+ result.push(_jsx("em", { children: _jsx(InlineTokens, { tokens: token.tokens || [], theme: theme }) }, key));
186
262
  break;
187
263
  case "codespan":
188
264
  result.push(_jsx("span", { fg: theme.markdownCode, bg: theme.backgroundPanel, children: ` ${token.text} ` }, key));
189
265
  break;
190
266
  case "link": {
191
267
  const linkToken = token;
192
- result.push(_jsx("u", { children: _jsx("a", { href: linkToken.href, fg: theme.markdownLink, children: getPlainText(linkToken.tokens || []) }) }, key));
268
+ result.push(_jsx("u", { children: _jsx("a", { href: linkToken.href, fg: theme.markdownLink, children: _jsx(InlineTokens, { tokens: linkToken.tokens || [], theme: theme }) }) }, key));
269
+ break;
270
+ }
271
+ case "del":
272
+ result.push(_jsxs("span", { fg: theme.textMuted, children: ["~", _jsx(InlineTokens, { tokens: token.tokens || [], theme: theme }), "~"] }, key));
273
+ break;
274
+ case "image": {
275
+ const imgToken = token;
276
+ result.push(_jsx("span", { fg: theme.textMuted, children: imgToken.text || imgToken.href }, key));
193
277
  break;
194
278
  }
195
279
  case "br":
@@ -210,4 +294,69 @@ function InlineTokens({ tokens, theme }) {
210
294
  }
211
295
  return _jsx(_Fragment, { children: result });
212
296
  }
297
+ // ---------------------------------------------------------------------------
298
+ // Inline token rendering (TextChunks — for text-table cells)
299
+ // ---------------------------------------------------------------------------
300
+ function inlineTokensToChunks(tokens, theme) {
301
+ const chunks = [];
302
+ for (const token of tokens) {
303
+ switch (token.type) {
304
+ case "text":
305
+ chunks.push({ __isChunk: true, text: token.text });
306
+ break;
307
+ case "strong":
308
+ for (const sub of inlineTokensToChunks(token.tokens || [], theme)) {
309
+ chunks.push(boldChunk(sub));
310
+ }
311
+ break;
312
+ case "em":
313
+ for (const sub of inlineTokensToChunks(token.tokens || [], theme)) {
314
+ chunks.push(italicChunk(sub));
315
+ }
316
+ break;
317
+ case "codespan":
318
+ chunks.push({
319
+ __isChunk: true,
320
+ text: ` ${token.text} `,
321
+ fg: parseColor(theme.markdownCode),
322
+ bg: parseColor(theme.backgroundPanel),
323
+ });
324
+ break;
325
+ case "link": {
326
+ const linkToken = token;
327
+ for (const sub of inlineTokensToChunks(linkToken.tokens || [], theme)) {
328
+ chunks.push(underlineChunk({ ...sub, fg: parseColor(theme.markdownLink) }));
329
+ }
330
+ break;
331
+ }
332
+ case "escape":
333
+ chunks.push({ __isChunk: true, text: token.text });
334
+ break;
335
+ default:
336
+ if ("text" in token && typeof token.text === "string") {
337
+ chunks.push({ __isChunk: true, text: token.text });
338
+ }
339
+ break;
340
+ }
341
+ }
342
+ return chunks;
343
+ }
344
+ // ---------------------------------------------------------------------------
345
+ // Plain text extraction (only for width computation, not rendering)
346
+ // ---------------------------------------------------------------------------
347
+ function getPlainText(tokens) {
348
+ return tokens
349
+ .map((token) => {
350
+ if (token.type === "text")
351
+ return token.text;
352
+ if (token.type === "codespan")
353
+ return token.text;
354
+ if ("tokens" in token && token.tokens)
355
+ return getPlainText(token.tokens);
356
+ if ("text" in token)
357
+ return token.text;
358
+ return "";
359
+ })
360
+ .join("");
361
+ }
213
362
  //# sourceMappingURL=MarkdownView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownView.js","sourceRoot":"","sources":["../src/MarkdownView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MarkdownView.js","sourceRoot":"","sources":["../src/MarkdownView.tsx"],"names":[],"mappings":"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"}
@@ -1,32 +1,9 @@
1
1
  import { type RenderContext, ScrollBoxRenderable, type ScrollBoxOptions } from "@opentui/core";
2
2
  import type { OptimizedBuffer } from "@opentui/core";
3
+ import type { DecorationLayer } from "./DecorationLayer.js";
3
4
  export interface RowDocumentPalette {
4
5
  gutterFg?: string;
5
6
  gutterBg?: string;
6
- cursorBg?: string;
7
- selectionBg?: string;
8
- matchBg?: string;
9
- currentMatchBg?: string;
10
- toggledBg?: string;
11
- cursorSign?: string;
12
- cursorSignFg?: string;
13
- matchSign?: string;
14
- matchSignFg?: string;
15
- currentMatchSignFg?: string;
16
- }
17
- export interface RowDocumentDecorations {
18
- cursorRow?: number;
19
- selection?: {
20
- start: number;
21
- end: number;
22
- } | null;
23
- matchingRows?: Set<number>;
24
- currentMatchRow?: number;
25
- toggledRows?: Set<number>;
26
- signs?: Map<number, {
27
- text: string;
28
- fg?: string;
29
- }>;
30
7
  }
31
8
  export interface RowDocumentOptions extends ScrollBoxOptions {
32
9
  mode?: "auto" | "multi" | "provider";
@@ -37,7 +14,15 @@ export interface RowDocumentOptions extends ScrollBoxOptions {
37
14
  gutterPaddingRight?: number;
38
15
  rowChildOffset?: number;
39
16
  palette?: RowDocumentPalette;
17
+ decorations?: readonly DecorationLayer[];
40
18
  }
19
+ export declare function computeRowDocumentGutterWidth(opts: {
20
+ showLineNumbers: boolean;
21
+ rowCount: number;
22
+ lineNumberStart?: number;
23
+ signColumnWidth?: number;
24
+ gutterPaddingRight?: number;
25
+ }): number;
41
26
  export declare class RowDocumentRenderable extends ScrollBoxRenderable {
42
27
  private _mode;
43
28
  private _showGutter;
@@ -47,7 +32,9 @@ export declare class RowDocumentRenderable extends ScrollBoxRenderable {
47
32
  private _gutterPaddingRight;
48
33
  private _rowChildOffset;
49
34
  private _palette;
50
- private _deco;
35
+ private _layers;
36
+ private _layerGutterBgs;
37
+ private _layerSigns;
51
38
  private _rowVirtualStarts;
52
39
  private _rowVirtualHeights;
53
40
  private _virtualRowToRow;
@@ -55,7 +42,8 @@ export declare class RowDocumentRenderable extends ScrollBoxRenderable {
55
42
  private _rowCount;
56
43
  private _lastGeometryHash;
57
44
  constructor(ctx: RenderContext, options: RowDocumentOptions);
58
- setDecorations(decorations: RowDocumentDecorations): void;
45
+ set decorations(layers: readonly DecorationLayer[] | undefined);
46
+ set palette(palette: RowDocumentPalette | undefined);
59
47
  set showGutter(value: boolean);
60
48
  set showLineNumbers(value: boolean);
61
49
  get rowCount(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"RowDocumentRenderable.d.ts","sourceRoot":"","sources":["../src/RowDocumentRenderable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RowDocumentRenderable.d.ts","sourceRoot":"","sources":["../src/RowDocumentRenderable.ts"],"names":[],"mappings":"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"}