ai-terminal-md 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +172 -0
- package/dist/__tests__/ansi.test.d.ts +2 -0
- package/dist/__tests__/ansi.test.d.ts.map +1 -0
- package/dist/__tests__/ansi.test.js +238 -0
- package/dist/__tests__/ansi.test.js.map +1 -0
- package/dist/__tests__/fixtures/code-blocks.d.ts +27 -0
- package/dist/__tests__/fixtures/code-blocks.d.ts.map +1 -0
- package/dist/__tests__/fixtures/code-blocks.js +72 -0
- package/dist/__tests__/fixtures/code-blocks.js.map +1 -0
- package/dist/__tests__/fixtures/markdown.d.ts +129 -0
- package/dist/__tests__/fixtures/markdown.d.ts.map +1 -0
- package/dist/__tests__/fixtures/markdown.js +205 -0
- package/dist/__tests__/fixtures/markdown.js.map +1 -0
- package/dist/__tests__/highlighter.test.d.ts +2 -0
- package/dist/__tests__/highlighter.test.d.ts.map +1 -0
- package/dist/__tests__/highlighter.test.js +567 -0
- package/dist/__tests__/highlighter.test.js.map +1 -0
- package/dist/__tests__/parser.test.d.ts +2 -0
- package/dist/__tests__/parser.test.d.ts.map +1 -0
- package/dist/__tests__/parser.test.js +226 -0
- package/dist/__tests__/parser.test.js.map +1 -0
- package/dist/__tests__/render-ai.test.d.ts +2 -0
- package/dist/__tests__/render-ai.test.d.ts.map +1 -0
- package/dist/__tests__/render-ai.test.js +234 -0
- package/dist/__tests__/render-ai.test.js.map +1 -0
- package/dist/__tests__/render-markdown.test.d.ts +2 -0
- package/dist/__tests__/render-markdown.test.d.ts.map +1 -0
- package/dist/__tests__/render-markdown.test.js +1107 -0
- package/dist/__tests__/render-markdown.test.js.map +1 -0
- package/dist/__tests__/renderer.test.d.ts +2 -0
- package/dist/__tests__/renderer.test.d.ts.map +1 -0
- package/dist/__tests__/renderer.test.js +153 -0
- package/dist/__tests__/renderer.test.js.map +1 -0
- package/dist/__tests__/streaming.test.d.ts +2 -0
- package/dist/__tests__/streaming.test.d.ts.map +1 -0
- package/dist/__tests__/streaming.test.js +196 -0
- package/dist/__tests__/streaming.test.js.map +1 -0
- package/dist/__tests__/terminal.test.d.ts +2 -0
- package/dist/__tests__/terminal.test.d.ts.map +1 -0
- package/dist/__tests__/terminal.test.js +206 -0
- package/dist/__tests__/terminal.test.js.map +1 -0
- package/dist/__tests__/theme.test.d.ts +2 -0
- package/dist/__tests__/theme.test.d.ts.map +1 -0
- package/dist/__tests__/theme.test.js +340 -0
- package/dist/__tests__/theme.test.js.map +1 -0
- package/dist/__tests__/types.test.d.ts +2 -0
- package/dist/__tests__/types.test.d.ts.map +1 -0
- package/dist/__tests__/types.test.js +196 -0
- package/dist/__tests__/types.test.js.map +1 -0
- package/dist/__tests__/wrap.test.d.ts +2 -0
- package/dist/__tests__/wrap.test.d.ts.map +1 -0
- package/dist/__tests__/wrap.test.js +151 -0
- package/dist/__tests__/wrap.test.js.map +1 -0
- package/dist/ansi.d.ts +38 -0
- package/dist/ansi.d.ts.map +1 -0
- package/dist/ansi.js +224 -0
- package/dist/ansi.js.map +1 -0
- package/dist/highlighter.d.ts +31 -0
- package/dist/highlighter.d.ts.map +1 -0
- package/dist/highlighter.js +77 -0
- package/dist/highlighter.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +30 -0
- package/dist/index.js.map +1 -0
- package/dist/languages/c.d.ts +3 -0
- package/dist/languages/c.d.ts.map +1 -0
- package/dist/languages/c.js +79 -0
- package/dist/languages/c.js.map +1 -0
- package/dist/languages/data.d.ts +4 -0
- package/dist/languages/data.d.ts.map +1 -0
- package/dist/languages/data.js +75 -0
- package/dist/languages/data.js.map +1 -0
- package/dist/languages/go.d.ts +3 -0
- package/dist/languages/go.d.ts.map +1 -0
- package/dist/languages/go.js +67 -0
- package/dist/languages/go.js.map +1 -0
- package/dist/languages/index.d.ts +18 -0
- package/dist/languages/index.d.ts.map +1 -0
- package/dist/languages/index.js +98 -0
- package/dist/languages/index.js.map +1 -0
- package/dist/languages/java.d.ts +3 -0
- package/dist/languages/java.d.ts.map +1 -0
- package/dist/languages/java.js +66 -0
- package/dist/languages/java.js.map +1 -0
- package/dist/languages/javascript.d.ts +6 -0
- package/dist/languages/javascript.d.ts.map +1 -0
- package/dist/languages/javascript.js +145 -0
- package/dist/languages/javascript.js.map +1 -0
- package/dist/languages/markdown.d.ts +3 -0
- package/dist/languages/markdown.d.ts.map +1 -0
- package/dist/languages/markdown.js +55 -0
- package/dist/languages/markdown.js.map +1 -0
- package/dist/languages/php.d.ts +3 -0
- package/dist/languages/php.d.ts.map +1 -0
- package/dist/languages/php.js +76 -0
- package/dist/languages/php.js.map +1 -0
- package/dist/languages/python.d.ts +3 -0
- package/dist/languages/python.d.ts.map +1 -0
- package/dist/languages/python.js +69 -0
- package/dist/languages/python.js.map +1 -0
- package/dist/languages/ruby.d.ts +3 -0
- package/dist/languages/ruby.d.ts.map +1 -0
- package/dist/languages/ruby.js +74 -0
- package/dist/languages/ruby.js.map +1 -0
- package/dist/languages/rust.d.ts +3 -0
- package/dist/languages/rust.d.ts.map +1 -0
- package/dist/languages/rust.js +68 -0
- package/dist/languages/rust.js.map +1 -0
- package/dist/languages/shell.d.ts +3 -0
- package/dist/languages/shell.d.ts.map +1 -0
- package/dist/languages/shell.js +63 -0
- package/dist/languages/shell.js.map +1 -0
- package/dist/languages/sql.d.ts +3 -0
- package/dist/languages/sql.d.ts.map +1 -0
- package/dist/languages/sql.js +69 -0
- package/dist/languages/sql.js.map +1 -0
- package/dist/languages/web.d.ts +4 -0
- package/dist/languages/web.d.ts.map +1 -0
- package/dist/languages/web.js +101 -0
- package/dist/languages/web.js.map +1 -0
- package/dist/parser.d.ts +48 -0
- package/dist/parser.d.ts.map +1 -0
- package/dist/parser.js +188 -0
- package/dist/parser.js.map +1 -0
- package/dist/render-ai.d.ts +26 -0
- package/dist/render-ai.d.ts.map +1 -0
- package/dist/render-ai.js +222 -0
- package/dist/render-ai.js.map +1 -0
- package/dist/render-markdown.d.ts +25 -0
- package/dist/render-markdown.d.ts.map +1 -0
- package/dist/render-markdown.js +437 -0
- package/dist/render-markdown.js.map +1 -0
- package/dist/renderer.d.ts +9 -0
- package/dist/renderer.d.ts.map +1 -0
- package/dist/renderer.js +219 -0
- package/dist/renderer.js.map +1 -0
- package/dist/terminal.d.ts +56 -0
- package/dist/terminal.d.ts.map +1 -0
- package/dist/terminal.js +137 -0
- package/dist/terminal.js.map +1 -0
- package/dist/theme.d.ts +28 -0
- package/dist/theme.d.ts.map +1 -0
- package/dist/theme.js +326 -0
- package/dist/theme.js.map +1 -0
- package/dist/types.d.ts +230 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/wrap.d.ts +14 -0
- package/dist/wrap.d.ts.map +1 -0
- package/dist/wrap.js +146 -0
- package/dist/wrap.js.map +1 -0
- package/package.json +39 -0
package/README.md
ADDED
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# ai-terminal-md
|
|
2
|
+
|
|
3
|
+
Terminal renderer optimized for AI markdown patterns. Renders markdown with full ANSI color support, syntax highlighting, and first-class handling of AI-specific XML elements (thinking blocks, artifacts, tool use, citations, and more).
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install ai-terminal-md
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Quick Start
|
|
12
|
+
|
|
13
|
+
### Render a complete markdown string
|
|
14
|
+
|
|
15
|
+
```typescript
|
|
16
|
+
import { render } from 'ai-terminal-md';
|
|
17
|
+
|
|
18
|
+
const output = render('# Hello\n\nThis is **bold** text.');
|
|
19
|
+
process.stdout.write(output);
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### Stream rendering (incremental)
|
|
23
|
+
|
|
24
|
+
```typescript
|
|
25
|
+
import { createRenderer } from 'ai-terminal-md';
|
|
26
|
+
|
|
27
|
+
const renderer = createRenderer({ theme: 'dark', width: 100 });
|
|
28
|
+
|
|
29
|
+
async function streamMarkdown(source: AsyncIterable<string>) {
|
|
30
|
+
for await (const chunk of renderer.renderStream(source)) {
|
|
31
|
+
process.stdout.write(chunk);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## API Reference
|
|
37
|
+
|
|
38
|
+
### `render(markdown, options?)`
|
|
39
|
+
|
|
40
|
+
Convenience function. Renders a complete markdown string to an ANSI-formatted string.
|
|
41
|
+
|
|
42
|
+
```typescript
|
|
43
|
+
import { render } from 'ai-terminal-md';
|
|
44
|
+
|
|
45
|
+
const out = render('# Title\n\nBody text.', { theme: 'dark', width: 80 });
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### `createRenderer(config?)`
|
|
49
|
+
|
|
50
|
+
Creates a reusable renderer instance. Returns an `AITerminalRenderer` object.
|
|
51
|
+
|
|
52
|
+
```typescript
|
|
53
|
+
import { createRenderer } from 'ai-terminal-md';
|
|
54
|
+
|
|
55
|
+
const renderer = createRenderer({ theme: 'dark', thinking: 'dim' });
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### `renderer.render(markdown)`
|
|
59
|
+
|
|
60
|
+
Render a complete markdown string synchronously.
|
|
61
|
+
|
|
62
|
+
### `renderer.renderChunk(chunk, state?)`
|
|
63
|
+
|
|
64
|
+
Render a single chunk of streaming markdown. Returns `{ output, state }`. Pass the returned `state` into the next call to maintain streaming context.
|
|
65
|
+
|
|
66
|
+
```typescript
|
|
67
|
+
let state;
|
|
68
|
+
for (const chunk of chunks) {
|
|
69
|
+
const result = renderer.renderChunk(chunk, state);
|
|
70
|
+
process.stdout.write(result.output);
|
|
71
|
+
state = result.state;
|
|
72
|
+
}
|
|
73
|
+
// Flush any remaining buffered content
|
|
74
|
+
process.stdout.write(renderer.flush(state));
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### `renderer.flush(state)`
|
|
78
|
+
|
|
79
|
+
Render whatever is left in the streaming buffer. Call this after the last chunk to ensure all content is output. Returns a string.
|
|
80
|
+
|
|
81
|
+
### `renderer.renderStream(stream)`
|
|
82
|
+
|
|
83
|
+
Render an `AsyncIterable<string>` of markdown chunks. Returns an `AsyncIterable<string>` of rendered output chunks. Internally calls `renderChunk` for each incoming chunk and `flush` at the end.
|
|
84
|
+
|
|
85
|
+
```typescript
|
|
86
|
+
for await (const rendered of renderer.renderStream(aiStream)) {
|
|
87
|
+
process.stdout.write(rendered);
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Configuration Options
|
|
92
|
+
|
|
93
|
+
Pass these as the `options` argument to `render()` or `createRenderer()`.
|
|
94
|
+
|
|
95
|
+
| Option | Type | Default | Description |
|
|
96
|
+
|---|---|---|---|
|
|
97
|
+
| `theme` | `'dark' \| 'light' \| 'minimal' \| 'monochrome'` | `'dark'` | Color theme |
|
|
98
|
+
| `width` | `number` | auto-detected | Terminal width in columns |
|
|
99
|
+
| `colorLevel` | `'none' \| '16' \| '256' \| 'truecolor'` | auto-detected | ANSI color support level |
|
|
100
|
+
| `unicode` | `boolean` | auto-detected | Use Unicode box-drawing characters |
|
|
101
|
+
| `thinking` | `'show' \| 'dim' \| 'hide'` | `'dim'` | How to render thinking blocks |
|
|
102
|
+
| `artifacts` | `'panel' \| 'inline' \| 'hide'` | `'panel'` | How to render artifact blocks |
|
|
103
|
+
| `toolUse` | `'box' \| 'inline' \| 'hide'` | `'box'` | How to render tool use blocks |
|
|
104
|
+
| `toolResult` | `'box' \| 'inline' \| 'hide'` | `'box'` | How to render tool result blocks |
|
|
105
|
+
| `semanticWrappers` | `'strip' \| 'label' \| 'keep'` | `'strip'` | How to handle semantic wrapper tags |
|
|
106
|
+
| `citations` | `'color' \| 'plain' \| 'hide'` | `'color'` | How to render citation markers |
|
|
107
|
+
| `codeBackground` | `boolean` | `true` | Apply background color to code blocks |
|
|
108
|
+
| `codeLineNumbers` | `boolean` | `false` | Show line numbers in code blocks |
|
|
109
|
+
| `codeLanguageLabel` | `boolean` | `true` | Show language label on code blocks |
|
|
110
|
+
| `codePadding` | `number` | `1` | Horizontal padding inside code blocks |
|
|
111
|
+
| `wordWrap` | `boolean` | `true` | Word-wrap text to terminal width |
|
|
112
|
+
| `margin` | `number` | `0` | Left margin (spaces) for all content |
|
|
113
|
+
| `showLinkUrls` | `boolean` | `true` | Show URLs after link text |
|
|
114
|
+
| `tableStyle` | `'unicode' \| 'ascii' \| 'none'` | `'unicode'` | Border style for tables |
|
|
115
|
+
|
|
116
|
+
## Supported AI Elements
|
|
117
|
+
|
|
118
|
+
The renderer automatically detects and renders the following AI-specific XML elements embedded in markdown:
|
|
119
|
+
|
|
120
|
+
### Thinking Blocks
|
|
121
|
+
|
|
122
|
+
Tags: `<thinking>`, `<antThinking>`, `<reflection>`, `<scratchpad>`, `<reasoning>`, `<inner_monologue>`, `<thought>`
|
|
123
|
+
|
|
124
|
+
Controlled by the `thinking` option:
|
|
125
|
+
- `'dim'` (default) — dimmed text with a "Thinking" header and left border
|
|
126
|
+
- `'show'` — full brightness with header and border
|
|
127
|
+
- `'hide'` — omit entirely
|
|
128
|
+
|
|
129
|
+
### Artifacts
|
|
130
|
+
|
|
131
|
+
Tags: `<antArtifact type="..." title="..." identifier="...">`, `<artifact>`
|
|
132
|
+
|
|
133
|
+
Controlled by the `artifacts` option:
|
|
134
|
+
- `'panel'` (default) — bordered panel with title bar using box-drawing characters
|
|
135
|
+
- `'inline'` — "Artifact: title" label above content
|
|
136
|
+
- `'hide'` — omit entirely
|
|
137
|
+
|
|
138
|
+
### Tool Use
|
|
139
|
+
|
|
140
|
+
Tags: `<tool_use>`, `<function_call>`, `<tool_call>` (with nested `<tool_name>` and `<arguments>`/`<parameters>`)
|
|
141
|
+
|
|
142
|
+
Controlled by the `toolUse` option:
|
|
143
|
+
- `'box'` (default) — bordered box with tool name header and formatted JSON arguments
|
|
144
|
+
- `'inline'` — compact `[Tool: name(arg=val)]` format
|
|
145
|
+
- `'hide'` — omit entirely
|
|
146
|
+
|
|
147
|
+
### Tool Results
|
|
148
|
+
|
|
149
|
+
Tags: `<tool_result>`, `<function_result>`
|
|
150
|
+
|
|
151
|
+
Controlled by the `toolResult` option:
|
|
152
|
+
- `'box'` (default) — bordered box with success/error icon and tool name
|
|
153
|
+
- `'inline'` — compact format with `✓` or `✗` prefix
|
|
154
|
+
- `'hide'` — omit entirely
|
|
155
|
+
|
|
156
|
+
### Semantic Wrappers
|
|
157
|
+
|
|
158
|
+
Tags: `<result>`, `<answer>`, `<output>`, `<response>`
|
|
159
|
+
|
|
160
|
+
Controlled by the `semanticWrappers` option:
|
|
161
|
+
- `'strip'` (default) — remove tags, render inner content
|
|
162
|
+
- `'label'` — add a subtle `[tagname]` label above the content
|
|
163
|
+
- `'keep'` — pass tags through as literal text
|
|
164
|
+
|
|
165
|
+
### Citations
|
|
166
|
+
|
|
167
|
+
Pattern: `[1]`, `[2]`, etc. (standalone — not markdown links)
|
|
168
|
+
|
|
169
|
+
Controlled by the `citations` option:
|
|
170
|
+
- `'color'` (default) — colored inline markers
|
|
171
|
+
- `'plain'` — no special styling
|
|
172
|
+
- `'hide'` — remove from output
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ansi.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/ansi.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const ansi_1 = require("../ansi");
|
|
5
|
+
(0, vitest_1.describe)('ansi', () => {
|
|
6
|
+
(0, vitest_1.describe)('FG_COLORS', () => {
|
|
7
|
+
(0, vitest_1.it)('contains all 16 standard foreground colors', () => {
|
|
8
|
+
(0, vitest_1.expect)(Object.keys(ansi_1.FG_COLORS)).toHaveLength(16);
|
|
9
|
+
(0, vitest_1.expect)(ansi_1.FG_COLORS['black']).toBe(30);
|
|
10
|
+
(0, vitest_1.expect)(ansi_1.FG_COLORS['white']).toBe(37);
|
|
11
|
+
(0, vitest_1.expect)(ansi_1.FG_COLORS['brightBlack']).toBe(90);
|
|
12
|
+
(0, vitest_1.expect)(ansi_1.FG_COLORS['brightWhite']).toBe(97);
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
(0, vitest_1.describe)('BG_COLORS', () => {
|
|
16
|
+
(0, vitest_1.it)('contains all 16 standard background colors', () => {
|
|
17
|
+
(0, vitest_1.expect)(Object.keys(ansi_1.BG_COLORS)).toHaveLength(16);
|
|
18
|
+
(0, vitest_1.expect)(ansi_1.BG_COLORS['black']).toBe(40);
|
|
19
|
+
(0, vitest_1.expect)(ansi_1.BG_COLORS['white']).toBe(47);
|
|
20
|
+
(0, vitest_1.expect)(ansi_1.BG_COLORS['brightBlack']).toBe(100);
|
|
21
|
+
(0, vitest_1.expect)(ansi_1.BG_COLORS['brightWhite']).toBe(107);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
(0, vitest_1.describe)('constants', () => {
|
|
25
|
+
(0, vitest_1.it)('exports correct ANSI attribute codes', () => {
|
|
26
|
+
(0, vitest_1.expect)(ansi_1.BOLD).toBe('\x1b[1m');
|
|
27
|
+
(0, vitest_1.expect)(ansi_1.DIM).toBe('\x1b[2m');
|
|
28
|
+
(0, vitest_1.expect)(ansi_1.ITALIC).toBe('\x1b[3m');
|
|
29
|
+
(0, vitest_1.expect)(ansi_1.UNDERLINE).toBe('\x1b[4m');
|
|
30
|
+
(0, vitest_1.expect)(ansi_1.STRIKETHROUGH).toBe('\x1b[9m');
|
|
31
|
+
(0, vitest_1.expect)(ansi_1.RESET).toBe('\x1b[0m');
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
(0, vitest_1.describe)('parseHex', () => {
|
|
35
|
+
(0, vitest_1.it)('parses 6-digit hex color', () => {
|
|
36
|
+
(0, vitest_1.expect)((0, ansi_1.parseHex)('#FF6B6B')).toEqual([255, 107, 107]);
|
|
37
|
+
});
|
|
38
|
+
(0, vitest_1.it)('parses 3-digit hex color', () => {
|
|
39
|
+
(0, vitest_1.expect)((0, ansi_1.parseHex)('#F00')).toEqual([255, 0, 0]);
|
|
40
|
+
});
|
|
41
|
+
(0, vitest_1.it)('handles hex without #', () => {
|
|
42
|
+
(0, vitest_1.expect)((0, ansi_1.parseHex)('00FF00')).toEqual([0, 255, 0]);
|
|
43
|
+
});
|
|
44
|
+
(0, vitest_1.it)('parses black', () => {
|
|
45
|
+
(0, vitest_1.expect)((0, ansi_1.parseHex)('#000000')).toEqual([0, 0, 0]);
|
|
46
|
+
});
|
|
47
|
+
(0, vitest_1.it)('parses white', () => {
|
|
48
|
+
(0, vitest_1.expect)((0, ansi_1.parseHex)('#FFFFFF')).toEqual([255, 255, 255]);
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
(0, vitest_1.describe)('rgbTo256', () => {
|
|
52
|
+
(0, vitest_1.it)('maps black to index 16', () => {
|
|
53
|
+
(0, vitest_1.expect)((0, ansi_1.rgbTo256)(0, 0, 0)).toBe(16);
|
|
54
|
+
});
|
|
55
|
+
(0, vitest_1.it)('maps white to index 231', () => {
|
|
56
|
+
(0, vitest_1.expect)((0, ansi_1.rgbTo256)(255, 255, 255)).toBe(231);
|
|
57
|
+
});
|
|
58
|
+
(0, vitest_1.it)('maps grayscale to grayscale ramp', () => {
|
|
59
|
+
const idx = (0, ansi_1.rgbTo256)(128, 128, 128);
|
|
60
|
+
(0, vitest_1.expect)(idx).toBeGreaterThanOrEqual(232);
|
|
61
|
+
(0, vitest_1.expect)(idx).toBeLessThanOrEqual(255);
|
|
62
|
+
});
|
|
63
|
+
(0, vitest_1.it)('maps pure red to red in color cube', () => {
|
|
64
|
+
const idx = (0, ansi_1.rgbTo256)(255, 0, 0);
|
|
65
|
+
// Should be 16 + 36*5 + 6*0 + 0 = 196
|
|
66
|
+
(0, vitest_1.expect)(idx).toBe(196);
|
|
67
|
+
});
|
|
68
|
+
(0, vitest_1.it)('maps pure green to green in color cube', () => {
|
|
69
|
+
const idx = (0, ansi_1.rgbTo256)(0, 255, 0);
|
|
70
|
+
// Should be 16 + 36*0 + 6*5 + 0 = 46
|
|
71
|
+
(0, vitest_1.expect)(idx).toBe(46);
|
|
72
|
+
});
|
|
73
|
+
(0, vitest_1.it)('maps pure blue to blue in color cube', () => {
|
|
74
|
+
const idx = (0, ansi_1.rgbTo256)(0, 0, 255);
|
|
75
|
+
// Should be 16 + 36*0 + 6*0 + 5 = 21
|
|
76
|
+
(0, vitest_1.expect)(idx).toBe(21);
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
(0, vitest_1.describe)('rgbTo16Fg', () => {
|
|
80
|
+
(0, vitest_1.it)('maps dark colors to non-bright ANSI codes', () => {
|
|
81
|
+
const code = (0, ansi_1.rgbTo16Fg)(128, 0, 0); // dark red
|
|
82
|
+
(0, vitest_1.expect)(code).toBe(31); // red
|
|
83
|
+
});
|
|
84
|
+
(0, vitest_1.it)('maps bright colors to bright ANSI codes', () => {
|
|
85
|
+
const code = (0, ansi_1.rgbTo16Fg)(255, 100, 100); // bright red-ish
|
|
86
|
+
(0, vitest_1.expect)(code).toBe(91); // brightRed
|
|
87
|
+
});
|
|
88
|
+
(0, vitest_1.it)('maps very dark to black', () => {
|
|
89
|
+
const code = (0, ansi_1.rgbTo16Fg)(10, 10, 10);
|
|
90
|
+
(0, vitest_1.expect)(code).toBe(30); // black
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
(0, vitest_1.describe)('fgSequence', () => {
|
|
94
|
+
(0, vitest_1.it)('returns empty string for none color level', () => {
|
|
95
|
+
(0, vitest_1.expect)((0, ansi_1.fgSequence)('red', 'none')).toBe('');
|
|
96
|
+
});
|
|
97
|
+
(0, vitest_1.it)('generates 16-color named foreground', () => {
|
|
98
|
+
(0, vitest_1.expect)((0, ansi_1.fgSequence)('red', '16')).toBe('\x1b[31m');
|
|
99
|
+
(0, vitest_1.expect)((0, ansi_1.fgSequence)('brightCyan', '16')).toBe('\x1b[96m');
|
|
100
|
+
});
|
|
101
|
+
(0, vitest_1.it)('generates 256-color foreground', () => {
|
|
102
|
+
(0, vitest_1.expect)((0, ansi_1.fgSequence)('196', '256')).toBe('\x1b[38;5;196m');
|
|
103
|
+
});
|
|
104
|
+
(0, vitest_1.it)('generates truecolor foreground from hex', () => {
|
|
105
|
+
(0, vitest_1.expect)((0, ansi_1.fgSequence)('#FF0000', 'truecolor')).toBe('\x1b[38;2;255;0;0m');
|
|
106
|
+
});
|
|
107
|
+
(0, vitest_1.it)('downgrades hex to 256-color when level is 256', () => {
|
|
108
|
+
const seq = (0, ansi_1.fgSequence)('#FF0000', '256');
|
|
109
|
+
(0, vitest_1.expect)(seq.startsWith('\x1b[38;5;')).toBe(true);
|
|
110
|
+
(0, vitest_1.expect)(seq.endsWith('m')).toBe(true);
|
|
111
|
+
});
|
|
112
|
+
(0, vitest_1.it)('downgrades hex to 16-color when level is 16', () => {
|
|
113
|
+
const seq = (0, ansi_1.fgSequence)('#FF0000', '16');
|
|
114
|
+
(0, vitest_1.expect)(seq.startsWith('\x1b[')).toBe(true);
|
|
115
|
+
(0, vitest_1.expect)(seq.endsWith('m')).toBe(true);
|
|
116
|
+
});
|
|
117
|
+
(0, vitest_1.it)('returns empty string for unknown color', () => {
|
|
118
|
+
(0, vitest_1.expect)((0, ansi_1.fgSequence)('notacolor', '16')).toBe('');
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
(0, vitest_1.describe)('bgSequence', () => {
|
|
122
|
+
(0, vitest_1.it)('returns empty string for none color level', () => {
|
|
123
|
+
(0, vitest_1.expect)((0, ansi_1.bgSequence)('red', 'none')).toBe('');
|
|
124
|
+
});
|
|
125
|
+
(0, vitest_1.it)('generates 16-color named background', () => {
|
|
126
|
+
(0, vitest_1.expect)((0, ansi_1.bgSequence)('red', '16')).toBe('\x1b[41m');
|
|
127
|
+
(0, vitest_1.expect)((0, ansi_1.bgSequence)('brightBlue', '256')).toBe('\x1b[104m');
|
|
128
|
+
});
|
|
129
|
+
(0, vitest_1.it)('generates 256-color background', () => {
|
|
130
|
+
(0, vitest_1.expect)((0, ansi_1.bgSequence)('232', '256')).toBe('\x1b[48;5;232m');
|
|
131
|
+
});
|
|
132
|
+
(0, vitest_1.it)('generates truecolor background from hex', () => {
|
|
133
|
+
(0, vitest_1.expect)((0, ansi_1.bgSequence)('#00FF00', 'truecolor')).toBe('\x1b[48;2;0;255;0m');
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
(0, vitest_1.describe)('applyStyle', () => {
|
|
137
|
+
(0, vitest_1.it)('returns text unchanged for empty style', () => {
|
|
138
|
+
(0, vitest_1.expect)((0, ansi_1.applyStyle)('hello', {}, 'truecolor')).toBe('hello');
|
|
139
|
+
});
|
|
140
|
+
(0, vitest_1.it)('applies bold', () => {
|
|
141
|
+
const result = (0, ansi_1.applyStyle)('hello', { bold: true }, 'truecolor');
|
|
142
|
+
(0, vitest_1.expect)(result).toBe(`${ansi_1.BOLD}hello${ansi_1.RESET}`);
|
|
143
|
+
});
|
|
144
|
+
(0, vitest_1.it)('applies dim', () => {
|
|
145
|
+
const result = (0, ansi_1.applyStyle)('hello', { dim: true }, 'truecolor');
|
|
146
|
+
(0, vitest_1.expect)(result).toBe(`${ansi_1.DIM}hello${ansi_1.RESET}`);
|
|
147
|
+
});
|
|
148
|
+
(0, vitest_1.it)('applies italic', () => {
|
|
149
|
+
const result = (0, ansi_1.applyStyle)('hello', { italic: true }, 'truecolor');
|
|
150
|
+
(0, vitest_1.expect)(result).toBe(`${ansi_1.ITALIC}hello${ansi_1.RESET}`);
|
|
151
|
+
});
|
|
152
|
+
(0, vitest_1.it)('applies underline', () => {
|
|
153
|
+
const result = (0, ansi_1.applyStyle)('hello', { underline: true }, 'truecolor');
|
|
154
|
+
(0, vitest_1.expect)(result).toBe(`${ansi_1.UNDERLINE}hello${ansi_1.RESET}`);
|
|
155
|
+
});
|
|
156
|
+
(0, vitest_1.it)('applies strikethrough', () => {
|
|
157
|
+
const result = (0, ansi_1.applyStyle)('hello', { strikethrough: true }, 'truecolor');
|
|
158
|
+
(0, vitest_1.expect)(result).toBe(`${ansi_1.STRIKETHROUGH}hello${ansi_1.RESET}`);
|
|
159
|
+
});
|
|
160
|
+
(0, vitest_1.it)('combines multiple attributes', () => {
|
|
161
|
+
const result = (0, ansi_1.applyStyle)('hello', { bold: true, italic: true }, 'truecolor');
|
|
162
|
+
(0, vitest_1.expect)(result).toBe(`${ansi_1.BOLD}${ansi_1.ITALIC}hello${ansi_1.RESET}`);
|
|
163
|
+
});
|
|
164
|
+
(0, vitest_1.it)('applies foreground color', () => {
|
|
165
|
+
const result = (0, ansi_1.applyStyle)('hello', { fg: 'red' }, 'truecolor');
|
|
166
|
+
(0, vitest_1.expect)(result).toContain('\x1b[31m');
|
|
167
|
+
(0, vitest_1.expect)(result).toContain('hello');
|
|
168
|
+
(0, vitest_1.expect)(result.endsWith(ansi_1.RESET)).toBe(true);
|
|
169
|
+
});
|
|
170
|
+
(0, vitest_1.it)('applies background color', () => {
|
|
171
|
+
const result = (0, ansi_1.applyStyle)('hello', { bg: 'blue' }, 'truecolor');
|
|
172
|
+
(0, vitest_1.expect)(result).toContain('\x1b[44m');
|
|
173
|
+
(0, vitest_1.expect)(result).toContain('hello');
|
|
174
|
+
});
|
|
175
|
+
(0, vitest_1.it)('applies color with attributes', () => {
|
|
176
|
+
const style = { fg: 'cyan', bold: true, dim: true };
|
|
177
|
+
const result = (0, ansi_1.applyStyle)('test', style, '16');
|
|
178
|
+
(0, vitest_1.expect)(result).toContain(ansi_1.BOLD);
|
|
179
|
+
(0, vitest_1.expect)(result).toContain(ansi_1.DIM);
|
|
180
|
+
(0, vitest_1.expect)(result).toContain('\x1b[36m'); // cyan fg
|
|
181
|
+
(0, vitest_1.expect)(result).toContain('test');
|
|
182
|
+
});
|
|
183
|
+
(0, vitest_1.it)('applies hex truecolor', () => {
|
|
184
|
+
const result = (0, ansi_1.applyStyle)('hi', { fg: '#FF6B6B' }, 'truecolor');
|
|
185
|
+
(0, vitest_1.expect)(result).toContain('\x1b[38;2;255;107;107m');
|
|
186
|
+
});
|
|
187
|
+
(0, vitest_1.it)('applies text attributes even with none color level', () => {
|
|
188
|
+
const result = (0, ansi_1.applyStyle)('hi', { bold: true, fg: 'red' }, 'none');
|
|
189
|
+
(0, vitest_1.expect)(result).toContain(ansi_1.BOLD);
|
|
190
|
+
(0, vitest_1.expect)(result).not.toContain('\x1b[31m');
|
|
191
|
+
});
|
|
192
|
+
(0, vitest_1.it)('skips color codes but keeps attributes with none level', () => {
|
|
193
|
+
const style = { bold: true, italic: true, fg: '#FF0000', bg: 'blue' };
|
|
194
|
+
const result = (0, ansi_1.applyStyle)('text', style, 'none');
|
|
195
|
+
(0, vitest_1.expect)(result).toBe(`${ansi_1.BOLD}${ansi_1.ITALIC}text${ansi_1.RESET}`);
|
|
196
|
+
});
|
|
197
|
+
});
|
|
198
|
+
(0, vitest_1.describe)('stripAnsi', () => {
|
|
199
|
+
(0, vitest_1.it)('removes bold/reset codes', () => {
|
|
200
|
+
(0, vitest_1.expect)((0, ansi_1.stripAnsi)(`${ansi_1.BOLD}hello${ansi_1.RESET}`)).toBe('hello');
|
|
201
|
+
});
|
|
202
|
+
(0, vitest_1.it)('removes color codes', () => {
|
|
203
|
+
(0, vitest_1.expect)((0, ansi_1.stripAnsi)('\x1b[31mhello\x1b[0m')).toBe('hello');
|
|
204
|
+
});
|
|
205
|
+
(0, vitest_1.it)('removes 256-color codes', () => {
|
|
206
|
+
(0, vitest_1.expect)((0, ansi_1.stripAnsi)('\x1b[38;5;196mhello\x1b[0m')).toBe('hello');
|
|
207
|
+
});
|
|
208
|
+
(0, vitest_1.it)('removes truecolor codes', () => {
|
|
209
|
+
(0, vitest_1.expect)((0, ansi_1.stripAnsi)('\x1b[38;2;255;0;0mhello\x1b[0m')).toBe('hello');
|
|
210
|
+
});
|
|
211
|
+
(0, vitest_1.it)('removes multiple codes', () => {
|
|
212
|
+
const styled = `${ansi_1.BOLD}${ansi_1.DIM}\x1b[31mhello\x1b[0m world${ansi_1.RESET}`;
|
|
213
|
+
(0, vitest_1.expect)((0, ansi_1.stripAnsi)(styled)).toBe('hello world');
|
|
214
|
+
});
|
|
215
|
+
(0, vitest_1.it)('returns plain text unchanged', () => {
|
|
216
|
+
(0, vitest_1.expect)((0, ansi_1.stripAnsi)('hello world')).toBe('hello world');
|
|
217
|
+
});
|
|
218
|
+
(0, vitest_1.it)('handles empty string', () => {
|
|
219
|
+
(0, vitest_1.expect)((0, ansi_1.stripAnsi)('')).toBe('');
|
|
220
|
+
});
|
|
221
|
+
});
|
|
222
|
+
(0, vitest_1.describe)('visibleLength', () => {
|
|
223
|
+
(0, vitest_1.it)('returns length of plain text', () => {
|
|
224
|
+
(0, vitest_1.expect)((0, ansi_1.visibleLength)('hello')).toBe(5);
|
|
225
|
+
});
|
|
226
|
+
(0, vitest_1.it)('excludes ANSI codes from length', () => {
|
|
227
|
+
(0, vitest_1.expect)((0, ansi_1.visibleLength)(`${ansi_1.BOLD}hello${ansi_1.RESET}`)).toBe(5);
|
|
228
|
+
});
|
|
229
|
+
(0, vitest_1.it)('handles complex styled text', () => {
|
|
230
|
+
const styled = (0, ansi_1.applyStyle)('test', { fg: '#FF0000', bold: true }, 'truecolor');
|
|
231
|
+
(0, vitest_1.expect)((0, ansi_1.visibleLength)(styled)).toBe(4);
|
|
232
|
+
});
|
|
233
|
+
(0, vitest_1.it)('returns 0 for empty string', () => {
|
|
234
|
+
(0, vitest_1.expect)((0, ansi_1.visibleLength)('')).toBe(0);
|
|
235
|
+
});
|
|
236
|
+
});
|
|
237
|
+
});
|
|
238
|
+
//# sourceMappingURL=ansi.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ansi.test.js","sourceRoot":"","sources":["../../src/__tests__/ansi.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/** Code block test fixtures for syntax highlighting tests. */
|
|
2
|
+
export declare const javascript: {
|
|
3
|
+
simple: string;
|
|
4
|
+
function: string;
|
|
5
|
+
arrowFunction: string;
|
|
6
|
+
classDefinition: string;
|
|
7
|
+
imports: string;
|
|
8
|
+
allTokenTypes: string;
|
|
9
|
+
};
|
|
10
|
+
export declare const typescript: {
|
|
11
|
+
interface: string;
|
|
12
|
+
typeAlias: string;
|
|
13
|
+
enumDef: string;
|
|
14
|
+
generic: string;
|
|
15
|
+
decorator: string;
|
|
16
|
+
};
|
|
17
|
+
export declare const unknownLanguage: {
|
|
18
|
+
brainfuck: string;
|
|
19
|
+
whitespace: string;
|
|
20
|
+
};
|
|
21
|
+
export declare const markdown: {
|
|
22
|
+
fencedJS: string;
|
|
23
|
+
fencedTS: string;
|
|
24
|
+
fencedUnknown: string;
|
|
25
|
+
fencedNoLang: string;
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=code-blocks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-blocks.d.ts","sourceRoot":"","sources":["../../../src/__tests__/fixtures/code-blocks.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAE9D,eAAO,MAAM,UAAU;;;;;;;CA8BtB,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;CAyBtB,CAAC;AAEF,eAAO,MAAM,eAAe;;;CAG3B,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;CAKpB,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/** Code block test fixtures for syntax highlighting tests. */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.markdown = exports.unknownLanguage = exports.typescript = exports.javascript = void 0;
|
|
5
|
+
exports.javascript = {
|
|
6
|
+
simple: `const x = 1;`,
|
|
7
|
+
function: `function add(a, b) {
|
|
8
|
+
return a + b;
|
|
9
|
+
}`,
|
|
10
|
+
arrowFunction: `const greet = (name) => {
|
|
11
|
+
console.log(\`Hello, \${name}!\`);
|
|
12
|
+
};`,
|
|
13
|
+
classDefinition: `class Animal {
|
|
14
|
+
constructor(name) {
|
|
15
|
+
this.name = name;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
speak() {
|
|
19
|
+
return \`\${this.name} makes a sound.\`;
|
|
20
|
+
}
|
|
21
|
+
}`,
|
|
22
|
+
imports: `import { readFile } from 'fs';
|
|
23
|
+
import path from 'path';
|
|
24
|
+
export default function main() {}`,
|
|
25
|
+
allTokenTypes: `// A comment
|
|
26
|
+
const PI = 3.14;
|
|
27
|
+
let greeting = "hello";
|
|
28
|
+
function add(a, b) {
|
|
29
|
+
if (a === null || b === undefined) {
|
|
30
|
+
return 0;
|
|
31
|
+
}
|
|
32
|
+
return a + b;
|
|
33
|
+
}
|
|
34
|
+
const result = add(1, 2);`,
|
|
35
|
+
};
|
|
36
|
+
exports.typescript = {
|
|
37
|
+
interface: `interface User {
|
|
38
|
+
readonly id: number;
|
|
39
|
+
name: string;
|
|
40
|
+
email?: string;
|
|
41
|
+
}`,
|
|
42
|
+
typeAlias: `type Result<T> = {
|
|
43
|
+
data: T;
|
|
44
|
+
error: string | null;
|
|
45
|
+
};`,
|
|
46
|
+
enumDef: `enum Direction {
|
|
47
|
+
Up = "UP",
|
|
48
|
+
Down = "DOWN",
|
|
49
|
+
Left = "LEFT",
|
|
50
|
+
Right = "RIGHT",
|
|
51
|
+
}`,
|
|
52
|
+
generic: `function identity<T>(arg: T): T {
|
|
53
|
+
return arg;
|
|
54
|
+
}`,
|
|
55
|
+
decorator: `@Component({
|
|
56
|
+
selector: 'app-root',
|
|
57
|
+
})
|
|
58
|
+
class AppComponent implements OnInit {
|
|
59
|
+
ngOnInit(): void {}
|
|
60
|
+
}`,
|
|
61
|
+
};
|
|
62
|
+
exports.unknownLanguage = {
|
|
63
|
+
brainfuck: `+++[-]>>>[-]<<<`,
|
|
64
|
+
whitespace: ` \t \t\t\n`,
|
|
65
|
+
};
|
|
66
|
+
exports.markdown = {
|
|
67
|
+
fencedJS: '```javascript\nconst x = 1;\n```',
|
|
68
|
+
fencedTS: '```typescript\ninterface Foo {}\n```',
|
|
69
|
+
fencedUnknown: '```brainfuck\n+++[-]\n```',
|
|
70
|
+
fencedNoLang: '```\nplain text\n```',
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=code-blocks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-blocks.js","sourceRoot":"","sources":["../../../src/__tests__/fixtures/code-blocks.ts"],"names":[],"mappings":";AAAA,8DAA8D;;;AAEjD,QAAA,UAAU,GAAG;IACxB,MAAM,EAAE,cAAc;IACtB,QAAQ,EAAE;;EAEV;IACA,aAAa,EAAE;;GAEd;IACD,eAAe,EAAE;;;;;;;;EAQjB;IACA,OAAO,EAAE;;kCAEuB;IAChC,aAAa,EAAE;;;;;;;;;0BASS;CACzB,CAAC;AAEW,QAAA,UAAU,GAAG;IACxB,SAAS,EAAE;;;;EAIX;IACA,SAAS,EAAE;;;GAGV;IACD,OAAO,EAAE;;;;;EAKT;IACA,OAAO,EAAE;;EAET;IACA,SAAS,EAAE;;;;;EAKX;CACD,CAAC;AAEW,QAAA,eAAe,GAAG;IAC7B,SAAS,EAAE,iBAAiB;IAC5B,UAAU,EAAE,cAAc;CAC3B,CAAC;AAEW,QAAA,QAAQ,GAAG;IACtB,QAAQ,EAAE,kCAAkC;IAC5C,QAAQ,EAAE,sCAAsC;IAChD,aAAa,EAAE,2BAA2B;IAC1C,YAAY,EAAE,sBAAsB;CACrC,CAAC"}
|