@agi-fans/dsh-tui 0.8.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/lib/CHANGELOG.md +44 -1
  2. package/lib/chrome/box.js +2 -1
  3. package/lib/chrome/box.js.map +1 -1
  4. package/lib/chrome/code-highlight.d.ts +45 -0
  5. package/lib/chrome/code-highlight.js +155 -0
  6. package/lib/chrome/code-highlight.js.map +1 -0
  7. package/lib/chrome/diff-render.d.ts +3 -1
  8. package/lib/chrome/diff-render.js +73 -9
  9. package/lib/chrome/diff-render.js.map +1 -1
  10. package/lib/chrome/markdown.d.ts +3 -6
  11. package/lib/chrome/markdown.js +5 -59
  12. package/lib/chrome/markdown.js.map +1 -1
  13. package/lib/chrome/md-style.d.ts +31 -0
  14. package/lib/chrome/md-style.js +58 -0
  15. package/lib/chrome/md-style.js.map +1 -0
  16. package/lib/chrome/welcome-tips.js +2 -1
  17. package/lib/chrome/welcome-tips.js.map +1 -1
  18. package/lib/chrome/width.d.ts +15 -0
  19. package/lib/chrome/width.js +119 -0
  20. package/lib/chrome/width.js.map +1 -1
  21. package/lib/commands/auth.d.ts +2 -1
  22. package/lib/commands/auth.js +318 -38
  23. package/lib/commands/auth.js.map +1 -1
  24. package/lib/commands/export.js +11 -6
  25. package/lib/commands/export.js.map +1 -1
  26. package/lib/commands/model.js +111 -4
  27. package/lib/commands/model.js.map +1 -1
  28. package/lib/commands/permission.js +1 -6
  29. package/lib/commands/permission.js.map +1 -1
  30. package/lib/commands/session.js +79 -36
  31. package/lib/commands/session.js.map +1 -1
  32. package/lib/commands/trajectory.d.ts +5 -0
  33. package/lib/commands/trajectory.js +20 -0
  34. package/lib/commands/trajectory.js.map +1 -0
  35. package/lib/definition.d.ts +12 -0
  36. package/lib/input/keybindings-config.d.ts +1 -1
  37. package/lib/input/keybindings-config.js +7 -1
  38. package/lib/input/keybindings-config.js.map +1 -1
  39. package/lib/runtime/provider-local.d.ts +1 -0
  40. package/lib/runtime/provider-local.js +110 -19
  41. package/lib/runtime/provider-local.js.map +1 -1
  42. package/lib/runtime/terminal-notifications.d.ts +24 -0
  43. package/lib/runtime/terminal-notifications.js +61 -0
  44. package/lib/runtime/terminal-notifications.js.map +1 -0
  45. package/lib/session/authorization-interaction.d.ts +12 -0
  46. package/lib/session/authorization-interaction.js +70 -0
  47. package/lib/session/authorization-interaction.js.map +1 -0
  48. package/lib/session/context-diagnostics.d.ts +8 -0
  49. package/lib/session/context-diagnostics.js +50 -0
  50. package/lib/session/context-diagnostics.js.map +1 -0
  51. package/lib/session/model-favorites.d.ts +11 -0
  52. package/lib/session/model-favorites.js +74 -0
  53. package/lib/session/model-favorites.js.map +1 -0
  54. package/lib/session/session-controller.d.ts +15 -5
  55. package/lib/session/session-controller.js +50 -16
  56. package/lib/session/session-controller.js.map +1 -1
  57. package/lib/session/session-library.d.ts +8 -0
  58. package/lib/session/session-library.js +43 -0
  59. package/lib/session/session-library.js.map +1 -0
  60. package/lib/session/subagent-roster.js +11 -1
  61. package/lib/session/subagent-roster.js.map +1 -1
  62. package/lib/session/tui-settings.d.ts +2 -0
  63. package/lib/session/tui-settings.js +2 -0
  64. package/lib/session/tui-settings.js.map +1 -1
  65. package/lib/views/agent-hub.d.ts +29 -0
  66. package/lib/views/agent-hub.js +165 -0
  67. package/lib/views/agent-hub.js.map +1 -0
  68. package/lib/views/event-views.d.ts +6 -0
  69. package/lib/views/event-views.js +84 -22
  70. package/lib/views/event-views.js.map +1 -1
  71. package/lib/views/hotkeys.js +3 -0
  72. package/lib/views/hotkeys.js.map +1 -1
  73. package/lib/views/prompt-selector.js +2 -1
  74. package/lib/views/prompt-selector.js.map +1 -1
  75. package/lib/views/settings-list.d.ts +2 -0
  76. package/lib/views/settings-list.js +21 -1
  77. package/lib/views/settings-list.js.map +1 -1
  78. package/lib/views/trajectory.d.ts +64 -0
  79. package/lib/views/trajectory.js +550 -0
  80. package/lib/views/trajectory.js.map +1 -0
  81. package/lib/views/transcript-export.d.ts +2 -0
  82. package/lib/views/transcript-export.js +34 -0
  83. package/lib/views/transcript-export.js.map +1 -1
  84. package/package.json +33 -27
package/lib/CHANGELOG.md CHANGED
@@ -6,6 +6,47 @@ The format is based on [Keep a Changelog], and this project adheres to [Semantic
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.10.0] - 2026-08-26
10
+
11
+ ### Added
12
+
13
+ - `omdsh completions bash|zsh|fish` prints an instant, network-free completion script generated from the canonical CLI metadata.
14
+ - `/export html [path]` creates a standalone, CSP-locked HTML transcript alongside the existing complete Markdown export.
15
+ - `/context` prints a projection-backed context diagnostics report into the transcript with occupancy, provider usage, and heuristic prompt composition.
16
+ - `/sessions` opens a searchable Session Library where durable sessions can be pinned or renamed with the keyboard before resuming.
17
+ - Optional terminal notifications can report completed long-running turns and prompts that need human input; they are disabled by default and configurable in `/settings`.
18
+ - Added `/trajectory`, a keyboard-driven full-screen session event ledger with Turn/Step grouping, live following, search, folding, timing and token details, and tool payload, result, and schema inspection.
19
+ - Models can now be favorited through `/model favorite` and cycled with `Ctrl+P` or `Alt+P`; `Ctrl+T` cycles the active model's supported reasoning efforts.
20
+ - Agent Hub now opens as a keyboard-driven roster and inspector with responsive split-pane details, hierarchy, elapsed time, recent activity, and direct transcript access.
21
+
22
+ ### Fixed
23
+
24
+ - The first startup header now includes durable recent sessions instead of rendering before persistence discovery completes.
25
+ - Terminal layouts now count common emoji symbols such as `✅` at their actual two-cell width, preventing Trajectory and other vertical dividers from shifting on emoji-containing rows.
26
+ - Long Trajectory payload, result, schema, timing, and summary details can now be paged with `PgUp` and `PgDn` instead of being clipped to the visible pane.
27
+
28
+ ## [0.9.0] - 2026-08-26
29
+
30
+ ### Added
31
+
32
+ - Edit-card context lines are now syntax-highlighted from the changed file's language, while added and deleted lines keep their green and red colors with inverse intra-line highlighting. Unknown file types keep the previous dim context.
33
+ - `/login` lists registered Harness authorization flows and their methods when a mounted provider offers them. The terminal renders notices and keyboard-selectable prompts; the provider plugin owns the protocol. DeepSeek API-key login remains available when no flow claims that route.
34
+
35
+ ### Changed
36
+
37
+ - Composer image submissions now admit every attached image in one ordered batch. A failed member keeps the composer text and image drafts instead of saving a partial set.
38
+
39
+ ### Removed
40
+
41
+ - Removed the duplicate `/access` alias. Use `/permission` to choose Read only, Workspace write, or Full access through the same keyboard selector and Full access confirmation.
42
+
43
+ ### Fixed
44
+
45
+ - The startup Header now moves its column divider to fit longer model names when terminal space is available, while preserving the Tips and recent-session column at narrower widths.
46
+ - `/login` now keeps the official DeepSeek route first, orders signed-in authorization flows before unconfigured providers, and distinguishes environment, local-store, external, in-progress, and signed-in credential ownership with badges. It hides the dormant pi-ai DeepSeek flow, retains an explicitly configured compatibility route, and capitalizes the custom-provider option. `/logout` omits an environment-owned or already-inactive official route when a removable stored sign-in is available and consistently labels every removable provider as signed in.
47
+ - A retried model request replaces the live retry notice, drops stale live mutable assistant and partial-tool rows from the failed attempt, and keeps one final terminal error after retries are exhausted. Output that already reached native terminal scrollback is not rewritten.
48
+ - `/logout` of a provider authorization record deletes only that credential record. Independent settings profiles, environment credentials, and credential records owned by other plugins stay in place, while a stored pi-ai DeepSeek compatibility credential remains removable even when its login flow is hidden by default.
49
+
9
50
  ## [0.8.0] - 2026-08-20
10
51
 
11
52
  ### Changed
@@ -210,7 +251,9 @@ The format is based on [Keep a Changelog], and this project adheres to [Semantic
210
251
  - Preserved terminal-cell alignment and right padding for long commands, CJK text, emoji, ANSI styling, and narrow viewports.
211
252
  - Stabilized incremental rendering, transcript scrolling, cursor placement, tool-output folding, and queued input during active turns.
212
253
 
213
- [Unreleased]: https://github.com/agi-fans/oh-my-dsh/compare/v0.8.0...HEAD
254
+ [Unreleased]: https://github.com/agi-fans/oh-my-dsh/compare/v0.10.0...HEAD
255
+ [0.10.0]: https://github.com/agi-fans/oh-my-dsh/compare/v0.9.0...v0.10.0
256
+ [0.9.0]: https://github.com/agi-fans/oh-my-dsh/compare/v0.8.0...v0.9.0
214
257
  [0.8.0]: https://github.com/agi-fans/oh-my-dsh/compare/v0.7.0...v0.8.0
215
258
  [0.7.0]: https://github.com/agi-fans/oh-my-dsh/compare/v0.6.1...v0.7.0
216
259
  [0.6.1]: https://github.com/agi-fans/oh-my-dsh/compare/v0.6.0...v0.6.1
package/lib/chrome/box.js CHANGED
@@ -103,7 +103,8 @@ export function renderWelcome(options, theme) {
103
103
  const dualContentWidth = boxWidth - 3;
104
104
  const minLeft = visibleWidth(DEEPSEEK_LOGO[0]) + 2;
105
105
  const minRight = 20;
106
- const desiredLeft = Math.min(26, Math.max(minLeft, Math.floor(dualContentWidth * 0.35)));
106
+ const baselineLeft = Math.min(26, Math.max(minLeft, Math.floor(dualContentWidth * 0.35)));
107
+ const desiredLeft = Math.max(baselineLeft, visibleWidth(options.model) + 2);
107
108
  const showRight = dualContentWidth >= minRight + minLeft;
108
109
  const leftCol = showRight ? Math.min(desiredLeft, dualContentWidth - minRight) : boxWidth - 2;
109
110
  const rightCol = showRight ? Math.max(1, dualContentWidth - leftCol) : 0;
@@ -1 +1 @@
1
- {"version":3,"file":"box.js","sourceRoot":"","sources":["../../src/chrome/box.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"box.js","sourceRoot":"","sources":["../../src/chrome/box.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Reusable terminal code highlighting shared by the Markdown renderer and the
3
+ * diff card. Resolves a language from a file path or a fenced-code info string,
4
+ * paints keyword and literal tokens with the TUI theme, and exposes a multiline
5
+ * batch seam so consecutive lines (a Markdown block or a run of diff context)
6
+ * highlight through one call. No external syntax library is added: the tokenizer
7
+ * is a small, dependency-free keyword and literal recognizer.
8
+ *
9
+ * The batch API accepts many lines and returns one painted string per input
10
+ * line. The current tokenizer is line-scoped, so multi-line constructs (block
11
+ * comments, template strings) are not yet recognized across breaks; the seam is
12
+ * shaped so a real multi-line tokenizer can replace {@link highlightLine}
13
+ * without changing callers. Output is pre-wrap and never depends on terminal
14
+ * width, which keeps the {@link highlightCache} safe to reuse across wraps.
15
+ * @module @agi-fans/dsh-tui
16
+ */
17
+ import { type MarkdownStyle } from './md-style.ts';
18
+ import type { Theme } from './theme.ts';
19
+ /** Canonical id for a supported language, or `undefined` when unrecognized. */
20
+ export type LanguageId = string;
21
+ /** True when a language token (fence info or resolved id) is highlightable. */
22
+ export declare function isSupportedLanguage(lang: string): boolean;
23
+ /** Lowercase and trim a fence info string or raw language token. */
24
+ export declare function normalizeLanguage(lang: string): string;
25
+ /**
26
+ * Resolve a highlightable language from a file path, or `undefined` when the
27
+ * extension is unknown or not supported. Used by the diff card to pick a
28
+ * tokenizer for context lines without parsing a unified diff.
29
+ */
30
+ export declare function languageFromPath(path: string): LanguageId | undefined;
31
+ /** Drop every cached highlight result. Intended for tests and hot reloads. */
32
+ export declare function clearHighlightCache(): void;
33
+ /** Number of cached highlight results. Intended for tests. */
34
+ export declare function highlightCacheSize(): number;
35
+ /** Total source characters retained across all cached entries. Intended for tests. */
36
+ export declare function highlightCacheTotalChars(): number;
37
+ /**
38
+ * Paint every line of a code block. Supported languages tokenize keywords and
39
+ * literals; unsupported or empty languages paint the whole run in the block
40
+ * color. Output is plain text when colors are off. Results for supported
41
+ * languages are cached by theme, style, language, and source (never by width).
42
+ * Blocks larger than the per-entry cap are highlighted but bypass the cache,
43
+ * and the total retained source is bounded by an aggregate character budget.
44
+ */
45
+ export declare function highlightCodeLines(lines: readonly string[], language: string, theme: Theme, style?: MarkdownStyle): string[];
@@ -0,0 +1,155 @@
1
+ /**
2
+ * Reusable terminal code highlighting shared by the Markdown renderer and the
3
+ * diff card. Resolves a language from a file path or a fenced-code info string,
4
+ * paints keyword and literal tokens with the TUI theme, and exposes a multiline
5
+ * batch seam so consecutive lines (a Markdown block or a run of diff context)
6
+ * highlight through one call. No external syntax library is added: the tokenizer
7
+ * is a small, dependency-free keyword and literal recognizer.
8
+ *
9
+ * The batch API accepts many lines and returns one painted string per input
10
+ * line. The current tokenizer is line-scoped, so multi-line constructs (block
11
+ * comments, template strings) are not yet recognized across breaks; the seam is
12
+ * shaped so a real multi-line tokenizer can replace {@link highlightLine}
13
+ * without changing callers. Output is pre-wrap and never depends on terminal
14
+ * width, which keeps the {@link highlightCache} safe to reuse across wraps.
15
+ * @module @agi-fans/dsh-tui
16
+ */
17
+ import { ink, paintBase, paintFg } from "./md-style.js";
18
+ /** Languages the built-in tokenizer recognizes. Aliases are accepted verbatim. */
19
+ const SUPPORTED_LANGS = /^(?:js|jsx|ts|tsx|javascript|typescript|json|python|py|bash|sh|shell|rust|go|java|css|html)$/u;
20
+ const KEYWORDS = /^(?:const|let|var|function|class|interface|type|return|if|else|for|while|async|await|import|export|from|def|fn|struct|package|func|true|false|null|undefined)$/u;
21
+ const LITERALS = /^(?:\d+(?:\.\d+)?|"[^"]*"|'[^']*')$/u;
22
+ /** True when a language token (fence info or resolved id) is highlightable. */
23
+ export function isSupportedLanguage(lang) {
24
+ return SUPPORTED_LANGS.test(lang.trim().toLowerCase());
25
+ }
26
+ /** Lowercase and trim a fence info string or raw language token. */
27
+ export function normalizeLanguage(lang) {
28
+ return lang.trim().toLowerCase();
29
+ }
30
+ const PATH_EXTENSION = /\.([^.]+)$/u;
31
+ /** Map common source extensions to a canonical, supported language id. */
32
+ const EXTENSION_TO_LANG = {
33
+ ts: 'ts', mts: 'ts', cts: 'ts',
34
+ tsx: 'tsx',
35
+ js: 'js', mjs: 'js', cjs: 'js',
36
+ jsx: 'jsx',
37
+ json: 'json',
38
+ py: 'python', pyi: 'python',
39
+ sh: 'bash', bash: 'bash',
40
+ rs: 'rust',
41
+ go: 'go',
42
+ java: 'java',
43
+ css: 'css',
44
+ html: 'html', htm: 'html',
45
+ };
46
+ /**
47
+ * Resolve a highlightable language from a file path, or `undefined` when the
48
+ * extension is unknown or not supported. Used by the diff card to pick a
49
+ * tokenizer for context lines without parsing a unified diff.
50
+ */
51
+ export function languageFromPath(path) {
52
+ const match = PATH_EXTENSION.exec(path);
53
+ const ext = match?.[1]?.toLowerCase();
54
+ if (ext === undefined)
55
+ return undefined;
56
+ const lang = EXTENSION_TO_LANG[ext];
57
+ return lang === undefined ? undefined : lang;
58
+ }
59
+ /** Highlight a single line with the line-scoped tokenizer. */
60
+ function highlightLine(row, theme, style) {
61
+ return row.split(/(\s+|\b)/u).map(token => {
62
+ if (KEYWORDS.test(token))
63
+ return paintFg(theme, ink(style, 'mdKeyword'), token, style);
64
+ if (LITERALS.test(token))
65
+ return paintFg(theme, ink(style, 'mdCodeBlock'), token, style);
66
+ return paintBase(theme, token, style);
67
+ }).join('');
68
+ }
69
+ /** Maximum cached highlight results before the oldest entry is evicted. */
70
+ const HIGHLIGHT_CACHE_CAP = 32;
71
+ /** A single block larger than this is highlighted but never cached. */
72
+ const HIGHLIGHT_CACHE_MAX_ENTRY_CHARS = 64 * 1024;
73
+ /** Total source characters retained across all cached entries before eviction. */
74
+ const HIGHLIGHT_CACHE_TOTAL_BUDGET = 512 * 1024;
75
+ const highlightCache = new Map();
76
+ let cacheTotalChars = 0;
77
+ /** Drop every cached highlight result. Intended for tests and hot reloads. */
78
+ export function clearHighlightCache() {
79
+ highlightCache.clear();
80
+ cacheTotalChars = 0;
81
+ }
82
+ /** Number of cached highlight results. Intended for tests. */
83
+ export function highlightCacheSize() {
84
+ return highlightCache.size;
85
+ }
86
+ /** Total source characters retained across all cached entries. Intended for tests. */
87
+ export function highlightCacheTotalChars() {
88
+ return cacheTotalChars;
89
+ }
90
+ function themeFingerprint(theme) {
91
+ return `${theme.name}|${theme.colors ? 1 : 0}|${theme.trueColor ? 1 : 0}`;
92
+ }
93
+ function styleKey(style) {
94
+ return style === undefined ? '-' : `${style.color ?? ''}|${style.italic ? 'i' : ''}`;
95
+ }
96
+ function cacheKey(theme, style, lang, source) {
97
+ return `${themeFingerprint(theme)}\0${styleKey(style)}\0${lang}\0${source}`;
98
+ }
99
+ /** Evict oldest entries until the total character budget is satisfied. */
100
+ function evictToBudget() {
101
+ while (cacheTotalChars > HIGHLIGHT_CACHE_TOTAL_BUDGET && highlightCache.size > 0) {
102
+ const oldest = highlightCache.keys().next();
103
+ if (oldest.done !== true) {
104
+ const entry = highlightCache.get(oldest.value);
105
+ if (entry !== undefined)
106
+ cacheTotalChars -= entry.sourceChars;
107
+ highlightCache.delete(oldest.value);
108
+ }
109
+ else {
110
+ break;
111
+ }
112
+ }
113
+ }
114
+ /**
115
+ * Paint every line of a code block. Supported languages tokenize keywords and
116
+ * literals; unsupported or empty languages paint the whole run in the block
117
+ * color. Output is plain text when colors are off. Results for supported
118
+ * languages are cached by theme, style, language, and source (never by width).
119
+ * Blocks larger than the per-entry cap are highlighted but bypass the cache,
120
+ * and the total retained source is bounded by an aggregate character budget.
121
+ */
122
+ export function highlightCodeLines(lines, language, theme, style) {
123
+ const lang = normalizeLanguage(language);
124
+ if (!theme.colors || lang === '' || !SUPPORTED_LANGS.test(lang)) {
125
+ return lines.map(line => paintFg(theme, ink(style, 'mdCodeBlock'), line, style));
126
+ }
127
+ const source = lines.join('\n');
128
+ if (source.length > HIGHLIGHT_CACHE_MAX_ENTRY_CHARS) {
129
+ return lines.map(line => highlightLine(line, theme, style));
130
+ }
131
+ const key = cacheKey(theme, style, lang, source);
132
+ const cached = highlightCache.get(key);
133
+ if (cached !== undefined) {
134
+ // Refresh LRU recency so a hot block survives evictions.
135
+ highlightCache.delete(key);
136
+ highlightCache.set(key, cached);
137
+ return [...cached.result];
138
+ }
139
+ const result = lines.map(line => highlightLine(line, theme, style));
140
+ const entry = { result, sourceChars: source.length };
141
+ highlightCache.set(key, entry);
142
+ cacheTotalChars += entry.sourceChars;
143
+ evictToBudget();
144
+ if (highlightCache.size > HIGHLIGHT_CACHE_CAP) {
145
+ const oldest = highlightCache.keys().next();
146
+ if (oldest.done !== true) {
147
+ const evicted = highlightCache.get(oldest.value);
148
+ if (evicted !== undefined)
149
+ cacheTotalChars -= evicted.sourceChars;
150
+ highlightCache.delete(oldest.value);
151
+ }
152
+ }
153
+ return result;
154
+ }
155
+ //# sourceMappingURL=code-highlight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-highlight.js","sourceRoot":"","sources":["../../src/chrome/code-highlight.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,8 @@ export interface DiffToken {
16
16
  export interface DiffRow {
17
17
  readonly kind: DiffKind;
18
18
  readonly tokens: readonly DiffToken[];
19
+ /** Resolved language id carried on `ctx` rows for syntax highlighting. */
20
+ readonly language?: string;
19
21
  }
20
22
  export interface DiffStats {
21
23
  readonly added: number;
@@ -35,5 +37,5 @@ export declare function formatDiffRows(rows: readonly DiffRow[]): string[];
35
37
  export declare function paintPrefixedDiffLine(line: string, theme: Theme): string;
36
38
  export declare function paintDiffRow(row: DiffRow, theme: Theme): string;
37
39
  export declare function paintDiffStats(added: number, removed: number, theme: Theme): string;
38
- /** Paint, expand tabs, wrap to the framed-body width, and close inverse per row. */
40
+ /** Paint, expand tabs, wrap to the framed-body width, and close inverse and foreground per row. */
39
41
  export declare function wrapPaintedDiffRows(rows: readonly DiffRow[], theme: Theme, width: number): string[];
@@ -3,14 +3,23 @@
3
3
  * Line LCS recovers context that the presenter stores on both sides; a 1:1
4
4
  * replacement also marks changed tokens with inverse video.
5
5
  */
6
- import { expandTabs, wrapText } from "./width.js";
6
+ import { highlightCodeLines, languageFromPath } from "./code-highlight.js";
7
+ import { expandTabs, wrapTextStable } from "./width.js";
7
8
  /** Skip Myers/LCS when a side is this long; dump old then new instead. */
8
9
  const ALIGN_LINE_LIMIT = 200;
9
10
  /** Inverse-off after each wrapped visual row so frame padding cannot inherit it. */
10
11
  const INVERSE_OFF = '\x1b[27m';
12
+ /** Foreground-off after each wrapped visual row so syntax colors cannot leak into borders. */
13
+ const FG_RESET = '\x1b[39m';
11
14
  function plainRow(kind, text) {
12
15
  return { kind, tokens: [{ text }] };
13
16
  }
17
+ /** A context row carrying the file's resolved language for syntax highlighting. */
18
+ function ctxRow(text, language) {
19
+ if (language === undefined)
20
+ return { kind: 'ctx', tokens: [{ text }] };
21
+ return { kind: 'ctx', tokens: [{ text }], language };
22
+ }
14
23
  /** Split a side's text into content lines. A trailing newline is a terminator. */
15
24
  export function contentLines(text) {
16
25
  if (text === '')
@@ -135,7 +144,7 @@ function applyIntraLine(rows) {
135
144
  }
136
145
  return out;
137
146
  }
138
- function alignHunk(oldText, newText) {
147
+ function alignHunk(oldText, newText, language) {
139
148
  if (oldText === null)
140
149
  return contentLines(newText).map(line => plainRow('add', line));
141
150
  const oldLines = contentLines(oldText);
@@ -146,7 +155,7 @@ function alignHunk(oldText, newText) {
146
155
  ...newLines.map(line => plainRow('add', line)),
147
156
  ];
148
157
  }
149
- const aligned = alignSequences(oldLines, newLines).map(part => plainRow(part.kind, part.text));
158
+ const aligned = alignSequences(oldLines, newLines).map(part => part.kind === 'ctx' ? ctxRow(part.text, language) : plainRow(part.kind, part.text));
150
159
  return applyIntraLine(aligned);
151
160
  }
152
161
  /** Align every hunk, inserting a path header or a same-file gap. */
@@ -159,7 +168,8 @@ export function alignFileDiffs(diffs) {
159
168
  else
160
169
  rows.push(plainRow('gap', '⋯'));
161
170
  previousPath = diff.path;
162
- rows.push(...alignHunk(diff.oldText, diff.newText));
171
+ const language = languageFromPath(diff.path);
172
+ rows.push(...alignHunk(diff.oldText, diff.newText, language));
163
173
  }
164
174
  return rows;
165
175
  }
@@ -248,6 +258,56 @@ export function paintDiffRow(row, theme) {
248
258
  return theme.fg('toolDiffAdded', `+ ${body}`);
249
259
  }
250
260
  }
261
+ /**
262
+ * Highlight consecutive context rows that share a resolved language as one
263
+ * block, returning a map from row index to its syntax-painted body. Rows
264
+ * without a language (path, gap, add, delete, or unknown-file context) are
265
+ * absent and fall back to {@link paintDiffRow}. The context style keeps the
266
+ * unchanged-line ink dim while keywords and literals light up, so added and
267
+ * deleted rows keep unambiguous green and red semantics.
268
+ */
269
+ function highlightContextBodies(rows, theme) {
270
+ const map = new Map();
271
+ if (!theme.colors)
272
+ return map;
273
+ let runStart = -1;
274
+ let runLang = '';
275
+ const flush = (end) => {
276
+ if (runStart === -1)
277
+ return;
278
+ const texts = [];
279
+ for (let i = runStart; i < end; i += 1)
280
+ texts.push(rowText(rows[i]));
281
+ const highlighted = highlightCodeLines(texts, runLang, theme, { color: 'toolDiffContext' });
282
+ for (let i = 0; i < highlighted.length; i += 1)
283
+ map.set(runStart + i, highlighted[i] ?? '');
284
+ runStart = -1;
285
+ runLang = '';
286
+ };
287
+ for (let i = 0; i < rows.length; i += 1) {
288
+ const row = rows[i];
289
+ if (row.kind === 'ctx' && row.language !== undefined) {
290
+ if (runStart === -1) {
291
+ runStart = i;
292
+ runLang = row.language;
293
+ }
294
+ else if (row.language !== runLang) {
295
+ flush(i);
296
+ runStart = i;
297
+ runLang = row.language;
298
+ }
299
+ }
300
+ else {
301
+ flush(i);
302
+ }
303
+ }
304
+ flush(rows.length);
305
+ return map;
306
+ }
307
+ /** Paint a syntax-highlighted context row: dim gutter, highlighted body. */
308
+ function paintContextRow(highlightedBody, theme) {
309
+ return theme.fg('toolDiffContext', ' ') + highlightedBody;
310
+ }
251
311
  export function paintDiffStats(added, removed, theme) {
252
312
  const label = formatDiffStats(added, removed);
253
313
  if (label === undefined)
@@ -259,14 +319,18 @@ export function paintDiffStats(added, removed, theme) {
259
319
  parts.push(theme.fg('toolDiffRemoved', `-${removed}`));
260
320
  return parts.join(theme.fg('dim', '/'));
261
321
  }
262
- /** Paint, expand tabs, wrap to the framed-body width, and close inverse per row. */
322
+ /** Paint, expand tabs, wrap to the framed-body width, and close inverse and foreground per row. */
263
323
  export function wrapPaintedDiffRows(rows, theme, width) {
264
324
  const inner = Math.max(1, width - 4);
265
325
  const lines = [];
266
- for (const row of rows) {
267
- const painted = expandTabs(paintDiffRow(row, theme), 8, 2);
268
- for (const segment of wrapText(painted, inner)) {
269
- lines.push(theme.colors ? segment + INVERSE_OFF : segment);
326
+ const ctxBodies = highlightContextBodies(rows, theme);
327
+ for (let i = 0; i < rows.length; i += 1) {
328
+ const row = rows[i];
329
+ const ctxBody = ctxBodies.get(i);
330
+ const painted = ctxBody === undefined ? paintDiffRow(row, theme) : paintContextRow(ctxBody, theme);
331
+ const expanded = expandTabs(painted, 8, 2);
332
+ for (const segment of wrapTextStable(expanded, inner)) {
333
+ lines.push(theme.colors ? segment + INVERSE_OFF + FG_RESET : segment);
270
334
  }
271
335
  }
272
336
  return lines;
@@ -1 +1 @@
1
- {"version":3,"file":"diff-render.js","sourceRoot":"","sources":["../../src/chrome/diff-render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diff-render.js","sourceRoot":"","sources":["../../src/chrome/diff-render.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAE1E,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAwBvD,0EAA0E;AAC1E,MAAM,gBAAgB,GAAG,GAAG,CAAA;AAE5B,oFAAoF;AACpF,MAAM,WAAW,GAAG,UAAU,CAAA;AAE9B,8FAA8F;AAC9F,MAAM,QAAQ,GAAG,UAAU,CAAA;AAE3B,SAAS,QAAQ,CAAC,IAAc,EAAE,IAAY;IAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAA;AACrC,CAAC;AAED,mFAAmF;AACnF,SAAS,MAAM,CAAC,IAAY,EAAE,QAA4B;IACxD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAA;IACtE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAA;AACtD,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,EAAE,CAAA;IAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAY;IAClC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACrD,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,QAA2B,EAAE,QAA2B;IAC9E,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAA;IAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAA;IAChC,MAAM,KAAK,GAAkB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAA;IACtG,KAAK,IAAI,QAAQ,GAAG,QAAQ,GAAG,CAAC,EAAE,QAAQ,IAAI,CAAC,EAAE,QAAQ,IAAI,CAAC,EAAE,CAAC;QAC/D,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;QACnC,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS;YAAE,SAAQ;QAC3D,KAAK,IAAI,QAAQ,GAAG,QAAQ,GAAG,CAAC,EAAE,QAAQ,IAAI,CAAC,EAAE,QAAQ,IAAI,CAAC,EAAE,CAAC;YAC/D,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC;gBAC1D,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;gBAClC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QACjE,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAoD,EAAE,CAAA;IAChE,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,OAAO,QAAQ,GAAG,QAAQ,IAAI,QAAQ,GAAG,QAAQ,EAAE,CAAC;QAClD,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YAC1D,QAAQ,IAAI,CAAC,CAAA;YACb,QAAQ,IAAI,CAAC,CAAA;YACb,SAAQ;QACV,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACjD,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAA;QAClD,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YAC1D,QAAQ,IAAI,CAAC,CAAA;QACf,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YAC1D,QAAQ,IAAI,CAAC,CAAA;QACf,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,GAAG,QAAQ,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAC1D,QAAQ,IAAI,CAAC,CAAA;IACf,CAAC;IACD,OAAO,QAAQ,GAAG,QAAQ,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAC1D,QAAQ,IAAI,CAAC,CAAA;IACf,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAA;AACzD,CAAC;AAED,SAAS,aAAa,CAAC,OAAe,EAAE,OAAe;IACrD,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;IACnC,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;IACnC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAA;IAC/E,CAAC;IACD,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IACpD,MAAM,OAAO,GAAgB,EAAE,CAAA;IAC/B,MAAM,KAAK,GAAgB,EAAE,CAAA;IAC7B,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;YACjC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QACjC,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAClD,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IACD,OAAO;QACL,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;QACzC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;KACtC,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAwB;IAC9C,MAAM,GAAG,GAAc,EAAE,CAAA;IACzB,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;QACvB,IAAI,GAAG,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;YACxB,IAAI,GAAG,KAAK,SAAS;gBAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACpC,KAAK,IAAI,CAAC,CAAA;YACV,SAAQ;QACV,CAAC;QACD,MAAM,OAAO,GAAc,EAAE,CAAA;QAC7B,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;YAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;YACxB,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC1C,KAAK,IAAI,CAAC,CAAA;QACZ,CAAC;QACD,MAAM,KAAK,GAAc,EAAE,CAAA;QAC3B,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;YAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;YACxB,IAAI,IAAI,KAAK,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACxC,KAAK,IAAI,CAAC,CAAA;QACZ,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAA;YACpE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QACpC,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,SAAS,CAAC,OAAsB,EAAE,OAAe,EAAE,QAA4B;IACtF,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;IACrF,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IACtC,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IACtC,IAAI,QAAQ,CAAC,MAAM,GAAG,gBAAgB,IAAI,QAAQ,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAC7E,OAAO;YACL,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC9C,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;SAC/C,CAAA;IACH,CAAC;IACD,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAC5D,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CACnF,CAAA;IACD,OAAO,cAAc,CAAC,OAAO,CAAC,CAAA;AAChC,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,MAAM,IAAI,GAAc,EAAE,CAAA;IAC1B,IAAI,YAAgC,CAAA;IACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY;YAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;;YACjE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;QACpC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAA;QACxB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;IAC/D,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAwB;IACrD,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK;YAAE,KAAK,IAAI,CAAC,CAAA;aAC7B,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC,CAAA;IAC3C,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;AAC3B,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,OAAe;IAC5D,IAAI,KAAK,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAClD,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,KAAK,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,CAAA;IACtC,IAAI,OAAO,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC,CAAA;IAC1C,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACzB,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK;YACR,OAAO,IAAI,CAAA;QACb,KAAK,KAAK;YACR,OAAO,KAAK,IAAI,EAAE,CAAA;QACpB,KAAK,KAAK;YACR,OAAO,KAAK,IAAI,EAAE,CAAA;QACpB,KAAK,KAAK;YACR,OAAO,KAAK,IAAI,EAAE,CAAA;IACtB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAwB;IACrD,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;AAChC,CAAC;AAED,SAAS,WAAW,CAAC,MAA4B,EAAE,KAAY;IAC7D,IAAI,YAAY,GAAG,IAAI,CAAA;IACvB,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC3B,GAAG,IAAI,KAAK,CAAC,IAAI,CAAA;YACjB,SAAQ;QACV,CAAC;QACD,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAA;QACtB,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YAC3C,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;gBAChB,GAAG,IAAI,IAAI,CAAA;gBACX,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAClC,CAAC;YACD,YAAY,GAAG,KAAK,CAAA;QACtB,CAAC;QACD,IAAI,KAAK,KAAK,EAAE;YAAE,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC/C,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,KAAY;IAC9D,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,EAAE,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAA;IACnE,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,CAAA;IACjE,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,EAAE,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAA;IACnE,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAY,EAAE,KAAY;IACrD,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC3C,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK;YACR,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;QACtC,KAAK,KAAK;YACR,OAAO,KAAK,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAA;QACjD,KAAK,KAAK;YACR,OAAO,KAAK,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAA;QACjD,KAAK,KAAK;YACR,OAAO,KAAK,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,CAAA;IACjD,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,sBAAsB,CAAC,IAAwB,EAAE,KAAY;IACpE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAA;IACrC,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,GAAG,CAAA;IAC7B,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAA;IACjB,IAAI,OAAO,GAAG,EAAE,CAAA;IAChB,MAAM,KAAK,GAAG,CAAC,GAAW,EAAQ,EAAE;QAClC,IAAI,QAAQ,KAAK,CAAC,CAAC;YAAE,OAAM;QAC3B,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,CAAA;QACrE,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAA;QAC3F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;QAC3F,QAAQ,GAAG,CAAC,CAAC,CAAA;QACb,OAAO,GAAG,EAAE,CAAA;IACd,CAAC,CAAA;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAA;QACpB,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACrD,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;gBACpB,QAAQ,GAAG,CAAC,CAAA;gBACZ,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAA;YACxB,CAAC;iBAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACpC,KAAK,CAAC,CAAC,CAAC,CAAA;gBACR,QAAQ,GAAG,CAAC,CAAA;gBACZ,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAA;YACxB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,CAAC,CAAC,CAAA;QACV,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAClB,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,4EAA4E;AAC5E,SAAS,eAAe,CAAC,eAAuB,EAAE,KAAY;IAC5D,OAAO,KAAK,CAAC,EAAE,CAAC,iBAAiB,EAAE,IAAI,CAAC,GAAG,eAAe,CAAA;AAC5D,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,OAAe,EAAE,KAAY;IACzE,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAC7C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAA;IAClC,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,KAAK,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,KAAK,EAAE,CAAC,CAAC,CAAA;IACjE,IAAI,OAAO,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,iBAAiB,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC,CAAA;IACvE,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;AACzC,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,mBAAmB,CAAC,IAAwB,EAAE,KAAY,EAAE,KAAa;IACvF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;IACpC,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,SAAS,GAAG,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAA;QACpB,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAChC,MAAM,OAAO,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAClG,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC1C,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QACvE,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -3,12 +3,9 @@
3
3
  * tokens with the TUI theme and wraps to display columns.
4
4
  * @module @agi-fans/dsh-tui
5
5
  */
6
- import { type Theme, type ThemeColor } from './theme.ts';
7
- /** Optional surrounding style restored after inline code and emphasis. */
8
- export interface MarkdownStyle {
9
- color?: ThemeColor;
10
- italic?: boolean;
11
- }
6
+ import { type Theme } from './theme.ts';
7
+ import { type MarkdownStyle } from './md-style.ts';
8
+ export type { MarkdownStyle } from './md-style.ts';
12
9
  /** Inline markdown: code, links, strike, bold, italic, math. */
13
10
  export declare function renderInline(text: string, theme: Theme, style?: MarkdownStyle): string;
14
11
  /**