@google/gemini-cli 0.1.18 → 0.1.19-nightly.250813.9d023be1
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 +199 -132
- package/dist/package.json +4 -2
- package/dist/src/acp/acpPeer.js +72 -64
- package/dist/src/acp/acpPeer.js.map +1 -1
- package/dist/src/commands/mcp/add.d.ts +7 -0
- package/dist/src/commands/mcp/add.js +155 -0
- package/dist/src/commands/mcp/add.js.map +1 -0
- package/dist/src/commands/mcp/list.d.ts +8 -0
- package/dist/src/commands/mcp/list.js +110 -0
- package/dist/src/commands/mcp/list.js.map +1 -0
- package/dist/src/commands/mcp/remove.d.ts +7 -0
- package/dist/src/commands/mcp/remove.js +44 -0
- package/dist/src/commands/mcp/remove.js.map +1 -0
- package/dist/src/commands/mcp.d.ts +7 -0
- package/dist/src/commands/mcp.js +23 -0
- package/dist/src/commands/mcp.js.map +1 -0
- package/dist/src/config/config.d.ts +1 -2
- package/dist/src/config/config.js +114 -52
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/keyBindings.d.ts +66 -0
- package/dist/src/config/keyBindings.js +136 -0
- package/dist/src/config/keyBindings.js.map +1 -0
- package/dist/src/config/settings.d.ts +3 -50
- package/dist/src/config/settings.js +17 -1
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/config/settingsSchema.d.ts +488 -0
- package/dist/src/config/settingsSchema.js +461 -0
- package/dist/src/config/settingsSchema.js.map +1 -0
- package/dist/src/gemini.js +9 -28
- package/dist/src/gemini.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +1 -1
- package/dist/src/generated/git-commit.js +1 -1
- package/dist/src/nonInteractiveCli.js +0 -1
- package/dist/src/nonInteractiveCli.js.map +1 -1
- package/dist/src/services/BuiltinCommandLoader.js +3 -2
- package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
- package/dist/src/ui/App.js +107 -36
- package/dist/src/ui/App.js.map +1 -1
- package/dist/src/ui/IdeIntegrationNudge.d.ts +16 -0
- package/dist/src/ui/IdeIntegrationNudge.js +52 -0
- package/dist/src/ui/IdeIntegrationNudge.js.map +1 -0
- package/dist/src/ui/commands/chatCommand.js +15 -0
- package/dist/src/ui/commands/chatCommand.js.map +1 -1
- package/dist/src/ui/commands/ideCommand.js +59 -5
- package/dist/src/ui/commands/ideCommand.js.map +1 -1
- package/dist/src/ui/commands/settingsCommand.d.ts +7 -0
- package/dist/src/ui/commands/settingsCommand.js +16 -0
- package/dist/src/ui/commands/settingsCommand.js.map +1 -0
- package/dist/src/ui/commands/setupGithubCommand.js +86 -19
- package/dist/src/ui/commands/setupGithubCommand.js.map +1 -1
- package/dist/src/ui/commands/types.d.ts +13 -2
- package/dist/src/ui/commands/types.js.map +1 -1
- package/dist/src/ui/components/AsciiArt.d.ts +1 -0
- package/dist/src/ui/components/AsciiArt.js +10 -0
- package/dist/src/ui/components/AsciiArt.js.map +1 -1
- package/dist/src/ui/components/AuthDialog.js +5 -4
- package/dist/src/ui/components/AuthDialog.js.map +1 -1
- package/dist/src/ui/components/AuthInProgress.js +6 -5
- package/dist/src/ui/components/AuthInProgress.js.map +1 -1
- package/dist/src/ui/components/ContextSummaryDisplay.js +21 -24
- package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
- package/dist/src/ui/components/ContextUsageDisplay.d.ts +9 -0
- package/dist/src/ui/components/ContextUsageDisplay.js +14 -0
- package/dist/src/ui/components/ContextUsageDisplay.js.map +1 -0
- package/dist/src/ui/components/DebugProfiler.js +5 -4
- package/dist/src/ui/components/DebugProfiler.js.map +1 -1
- package/dist/src/ui/components/EditorSettingsDialog.js +6 -5
- package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -1
- package/dist/src/ui/components/FolderTrustDialog.d.ts +16 -0
- package/dist/src/ui/components/FolderTrustDialog.js +39 -0
- package/dist/src/ui/components/FolderTrustDialog.js.map +1 -0
- package/dist/src/ui/components/Footer.js +14 -5
- package/dist/src/ui/components/Footer.js.map +1 -1
- package/dist/src/ui/components/Header.d.ts +0 -1
- package/dist/src/ui/components/Header.js +13 -5
- package/dist/src/ui/components/Header.js.map +1 -1
- package/dist/src/ui/components/InputPrompt.d.ts +1 -0
- package/dist/src/ui/components/InputPrompt.js +90 -34
- package/dist/src/ui/components/InputPrompt.js.map +1 -1
- package/dist/src/ui/components/LoadingIndicator.js +10 -5
- package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.d.ts +14 -0
- package/dist/src/ui/components/SettingsDialog.js +249 -0
- package/dist/src/ui/components/SettingsDialog.js.map +1 -0
- package/dist/src/ui/components/ShellConfirmationDialog.js +5 -4
- package/dist/src/ui/components/ShellConfirmationDialog.js.map +1 -1
- package/dist/src/ui/components/SuggestionsDisplay.js +1 -1
- package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
- package/dist/src/ui/components/ThemeDialog.js +10 -20
- package/dist/src/ui/components/ThemeDialog.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js +34 -13
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
- package/dist/src/ui/components/shared/RadioButtonSelect.js +10 -8
- package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -1
- package/dist/src/ui/components/shared/text-buffer.d.ts +17 -4
- package/dist/src/ui/components/shared/text-buffer.js +224 -70
- package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
- package/dist/src/ui/components/shared/vim-buffer-actions.js +137 -151
- package/dist/src/ui/components/shared/vim-buffer-actions.js.map +1 -1
- package/dist/src/ui/contexts/SettingsContext.d.ts +9 -0
- package/dist/src/ui/contexts/SettingsContext.js +15 -0
- package/dist/src/ui/contexts/SettingsContext.js.map +1 -0
- package/dist/src/ui/hooks/atCommandProcessor.js +7 -4
- package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.d.ts +6 -2
- package/dist/src/ui/hooks/slashCommandProcessor.js +34 -3
- package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/useAtCompletion.js +4 -1
- package/dist/src/ui/hooks/useAtCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useAutoAcceptIndicator.js +5 -5
- package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +1 -1
- package/dist/src/ui/hooks/useFolderTrust.d.ts +11 -0
- package/dist/src/ui/hooks/useFolderTrust.js +22 -0
- package/dist/src/ui/hooks/useFolderTrust.js.map +1 -0
- package/dist/src/ui/hooks/useGeminiStream.d.ts +2 -1
- package/dist/src/ui/hooks/useGeminiStream.js +33 -19
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/hooks/usePhraseCycler.js +2 -2
- package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
- package/dist/src/ui/hooks/useReactToolScheduler.d.ts +1 -1
- package/dist/src/ui/hooks/useReactToolScheduler.js +15 -15
- package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
- package/dist/src/ui/hooks/useSettingsCommand.d.ts +10 -0
- package/dist/src/ui/hooks/useSettingsCommand.js +21 -0
- package/dist/src/ui/hooks/useSettingsCommand.js.map +1 -0
- package/dist/src/ui/keyMatchers.d.ts +26 -0
- package/dist/src/ui/keyMatchers.js +68 -0
- package/dist/src/ui/keyMatchers.js.map +1 -0
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.js +5 -4
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.js.map +1 -1
- package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js +5 -4
- package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js.map +1 -1
- package/dist/src/ui/privacy/GeminiPrivacyNotice.js +5 -4
- package/dist/src/ui/privacy/GeminiPrivacyNotice.js.map +1 -1
- package/dist/src/ui/semantic-colors.d.ts +7 -0
- package/dist/src/ui/semantic-colors.js +24 -0
- package/dist/src/ui/semantic-colors.js.map +1 -0
- package/dist/src/ui/themes/ansi-light.js +2 -1
- package/dist/src/ui/themes/ansi-light.js.map +1 -1
- package/dist/src/ui/themes/ansi.js +2 -1
- package/dist/src/ui/themes/ansi.js.map +1 -1
- package/dist/src/ui/themes/atom-one-dark.js +2 -1
- package/dist/src/ui/themes/atom-one-dark.js.map +1 -1
- package/dist/src/ui/themes/ayu-light.js +2 -1
- package/dist/src/ui/themes/ayu-light.js.map +1 -1
- package/dist/src/ui/themes/ayu.js +2 -1
- package/dist/src/ui/themes/ayu.js.map +1 -1
- package/dist/src/ui/themes/default-light.js +2 -1
- package/dist/src/ui/themes/default-light.js.map +1 -1
- package/dist/src/ui/themes/default.js +2 -1
- package/dist/src/ui/themes/default.js.map +1 -1
- package/dist/src/ui/themes/dracula.js +2 -1
- package/dist/src/ui/themes/dracula.js.map +1 -1
- package/dist/src/ui/themes/github-dark.js +2 -1
- package/dist/src/ui/themes/github-dark.js.map +1 -1
- package/dist/src/ui/themes/github-light.js +2 -1
- package/dist/src/ui/themes/github-light.js.map +1 -1
- package/dist/src/ui/themes/googlecode.js +2 -1
- package/dist/src/ui/themes/googlecode.js.map +1 -1
- package/dist/src/ui/themes/no-color.js +30 -1
- package/dist/src/ui/themes/no-color.js.map +1 -1
- package/dist/src/ui/themes/semantic-tokens.d.ts +37 -0
- package/dist/src/ui/themes/semantic-tokens.js +94 -0
- package/dist/src/ui/themes/semantic-tokens.js.map +1 -0
- package/dist/src/ui/themes/shades-of-purple.js +2 -1
- package/dist/src/ui/themes/shades-of-purple.js.map +1 -1
- package/dist/src/ui/themes/theme-manager.d.ts +6 -0
- package/dist/src/ui/themes/theme-manager.js +7 -0
- package/dist/src/ui/themes/theme-manager.js.map +1 -1
- package/dist/src/ui/themes/theme.d.ts +45 -2
- package/dist/src/ui/themes/theme.js +92 -107
- package/dist/src/ui/themes/theme.js.map +1 -1
- package/dist/src/ui/themes/xcode.js +2 -1
- package/dist/src/ui/themes/xcode.js.map +1 -1
- package/dist/src/ui/types.d.ts +1 -1
- package/dist/src/ui/utils/CodeColorizer.d.ts +2 -1
- package/dist/src/ui/utils/CodeColorizer.js +4 -3
- package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
- package/dist/src/ui/utils/ConsolePatcher.d.ts +1 -0
- package/dist/src/ui/utils/ConsolePatcher.js +3 -0
- package/dist/src/ui/utils/ConsolePatcher.js.map +1 -1
- package/dist/src/ui/utils/MarkdownDisplay.js +4 -2
- package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
- package/dist/src/ui/utils/commandUtils.d.ts +1 -0
- package/dist/src/ui/utils/commandUtils.js +22 -1
- package/dist/src/ui/utils/commandUtils.js.map +1 -1
- package/dist/src/ui/utils/isNarrowWidth.d.ts +6 -0
- package/dist/src/ui/utils/isNarrowWidth.js +9 -0
- package/dist/src/ui/utils/isNarrowWidth.js.map +1 -0
- package/dist/src/utils/cleanup.d.ts +2 -2
- package/dist/src/utils/cleanup.js +2 -2
- package/dist/src/utils/cleanup.js.map +1 -1
- package/dist/src/utils/dialogScopeUtils.d.ts +31 -0
- package/dist/src/utils/dialogScopeUtils.js +48 -0
- package/dist/src/utils/dialogScopeUtils.js.map +1 -0
- package/dist/src/utils/gitUtils.d.ts +21 -1
- package/dist/src/utils/gitUtils.js +68 -3
- package/dist/src/utils/gitUtils.js.map +1 -1
- package/dist/src/utils/sandbox.js +426 -405
- package/dist/src/utils/sandbox.js.map +1 -1
- package/dist/src/utils/settingsUtils.d.ts +126 -0
- package/dist/src/utils/settingsUtils.js +327 -0
- package/dist/src/utils/settingsUtils.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -3
- package/dist/google-gemini-cli-0.1.17.tgz +0 -0
- package/dist/src/ui/components/IDEContextDetailDisplay.d.ts +0 -12
- package/dist/src/ui/components/IDEContextDetailDisplay.js +0 -12
- package/dist/src/ui/components/IDEContextDetailDisplay.js.map +0 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
6
|
+
import { resolveColor } from './color-utils.js';
|
|
7
7
|
export const lightTheme = {
|
|
8
8
|
type: 'light',
|
|
9
9
|
Background: '#FAFAFA',
|
|
@@ -58,6 +58,7 @@ export class Theme {
|
|
|
58
58
|
name;
|
|
59
59
|
type;
|
|
60
60
|
colors;
|
|
61
|
+
semanticColors;
|
|
61
62
|
/**
|
|
62
63
|
* The default foreground color for text when no specific highlight rule applies.
|
|
63
64
|
* This is an Ink-compatible color string (hex or name).
|
|
@@ -73,10 +74,11 @@ export class Theme {
|
|
|
73
74
|
* @param name The name of the theme.
|
|
74
75
|
* @param rawMappings The raw CSSProperties mappings from a react-syntax-highlighter theme object.
|
|
75
76
|
*/
|
|
76
|
-
constructor(name, type, rawMappings, colors) {
|
|
77
|
+
constructor(name, type, rawMappings, colors, semanticColors) {
|
|
77
78
|
this.name = name;
|
|
78
79
|
this.type = type;
|
|
79
80
|
this.colors = colors;
|
|
81
|
+
this.semanticColors = semanticColors;
|
|
80
82
|
this._colorMap = Object.freeze(this._buildColorMap(rawMappings)); // Build and freeze the map
|
|
81
83
|
// Determine the default foreground color
|
|
82
84
|
const rawDefaultColor = rawMappings['hljs']?.color;
|
|
@@ -135,107 +137,124 @@ export class Theme {
|
|
|
135
137
|
* @returns A new Theme instance.
|
|
136
138
|
*/
|
|
137
139
|
export function createCustomTheme(customTheme) {
|
|
140
|
+
const colors = {
|
|
141
|
+
type: 'custom',
|
|
142
|
+
Background: customTheme.background?.primary ?? customTheme.Background ?? '',
|
|
143
|
+
Foreground: customTheme.text?.primary ?? customTheme.Foreground ?? '',
|
|
144
|
+
LightBlue: customTheme.text?.link ?? customTheme.LightBlue ?? '',
|
|
145
|
+
AccentBlue: customTheme.text?.link ?? customTheme.AccentBlue ?? '',
|
|
146
|
+
AccentPurple: customTheme.text?.accent ?? customTheme.AccentPurple ?? '',
|
|
147
|
+
AccentCyan: customTheme.text?.link ?? customTheme.AccentCyan ?? '',
|
|
148
|
+
AccentGreen: customTheme.status?.success ?? customTheme.AccentGreen ?? '',
|
|
149
|
+
AccentYellow: customTheme.status?.warning ?? customTheme.AccentYellow ?? '',
|
|
150
|
+
AccentRed: customTheme.status?.error ?? customTheme.AccentRed ?? '',
|
|
151
|
+
DiffAdded: customTheme.background?.diff?.added ?? customTheme.DiffAdded ?? '',
|
|
152
|
+
DiffRemoved: customTheme.background?.diff?.removed ?? customTheme.DiffRemoved ?? '',
|
|
153
|
+
Comment: customTheme.ui?.comment ?? customTheme.Comment ?? '',
|
|
154
|
+
Gray: customTheme.text?.secondary ?? customTheme.Gray ?? '',
|
|
155
|
+
GradientColors: customTheme.ui?.gradient ?? customTheme.GradientColors,
|
|
156
|
+
};
|
|
138
157
|
// Generate CSS properties mappings based on the custom theme colors
|
|
139
158
|
const rawMappings = {
|
|
140
159
|
hljs: {
|
|
141
160
|
display: 'block',
|
|
142
161
|
overflowX: 'auto',
|
|
143
162
|
padding: '0.5em',
|
|
144
|
-
background:
|
|
145
|
-
color:
|
|
163
|
+
background: colors.Background,
|
|
164
|
+
color: colors.Foreground,
|
|
146
165
|
},
|
|
147
166
|
'hljs-keyword': {
|
|
148
|
-
color:
|
|
167
|
+
color: colors.AccentBlue,
|
|
149
168
|
},
|
|
150
169
|
'hljs-literal': {
|
|
151
|
-
color:
|
|
170
|
+
color: colors.AccentBlue,
|
|
152
171
|
},
|
|
153
172
|
'hljs-symbol': {
|
|
154
|
-
color:
|
|
173
|
+
color: colors.AccentBlue,
|
|
155
174
|
},
|
|
156
175
|
'hljs-name': {
|
|
157
|
-
color:
|
|
176
|
+
color: colors.AccentBlue,
|
|
158
177
|
},
|
|
159
178
|
'hljs-link': {
|
|
160
|
-
color:
|
|
179
|
+
color: colors.AccentBlue,
|
|
161
180
|
textDecoration: 'underline',
|
|
162
181
|
},
|
|
163
182
|
'hljs-built_in': {
|
|
164
|
-
color:
|
|
183
|
+
color: colors.AccentCyan,
|
|
165
184
|
},
|
|
166
185
|
'hljs-type': {
|
|
167
|
-
color:
|
|
186
|
+
color: colors.AccentCyan,
|
|
168
187
|
},
|
|
169
188
|
'hljs-number': {
|
|
170
|
-
color:
|
|
189
|
+
color: colors.AccentGreen,
|
|
171
190
|
},
|
|
172
191
|
'hljs-class': {
|
|
173
|
-
color:
|
|
192
|
+
color: colors.AccentGreen,
|
|
174
193
|
},
|
|
175
194
|
'hljs-string': {
|
|
176
|
-
color:
|
|
195
|
+
color: colors.AccentYellow,
|
|
177
196
|
},
|
|
178
197
|
'hljs-meta-string': {
|
|
179
|
-
color:
|
|
198
|
+
color: colors.AccentYellow,
|
|
180
199
|
},
|
|
181
200
|
'hljs-regexp': {
|
|
182
|
-
color:
|
|
201
|
+
color: colors.AccentRed,
|
|
183
202
|
},
|
|
184
203
|
'hljs-template-tag': {
|
|
185
|
-
color:
|
|
204
|
+
color: colors.AccentRed,
|
|
186
205
|
},
|
|
187
206
|
'hljs-subst': {
|
|
188
|
-
color:
|
|
207
|
+
color: colors.Foreground,
|
|
189
208
|
},
|
|
190
209
|
'hljs-function': {
|
|
191
|
-
color:
|
|
210
|
+
color: colors.Foreground,
|
|
192
211
|
},
|
|
193
212
|
'hljs-title': {
|
|
194
|
-
color:
|
|
213
|
+
color: colors.Foreground,
|
|
195
214
|
},
|
|
196
215
|
'hljs-params': {
|
|
197
|
-
color:
|
|
216
|
+
color: colors.Foreground,
|
|
198
217
|
},
|
|
199
218
|
'hljs-formula': {
|
|
200
|
-
color:
|
|
219
|
+
color: colors.Foreground,
|
|
201
220
|
},
|
|
202
221
|
'hljs-comment': {
|
|
203
|
-
color:
|
|
222
|
+
color: colors.Comment,
|
|
204
223
|
fontStyle: 'italic',
|
|
205
224
|
},
|
|
206
225
|
'hljs-quote': {
|
|
207
|
-
color:
|
|
226
|
+
color: colors.Comment,
|
|
208
227
|
fontStyle: 'italic',
|
|
209
228
|
},
|
|
210
229
|
'hljs-doctag': {
|
|
211
|
-
color:
|
|
230
|
+
color: colors.Comment,
|
|
212
231
|
},
|
|
213
232
|
'hljs-meta': {
|
|
214
|
-
color:
|
|
233
|
+
color: colors.Gray,
|
|
215
234
|
},
|
|
216
235
|
'hljs-meta-keyword': {
|
|
217
|
-
color:
|
|
236
|
+
color: colors.Gray,
|
|
218
237
|
},
|
|
219
238
|
'hljs-tag': {
|
|
220
|
-
color:
|
|
239
|
+
color: colors.Gray,
|
|
221
240
|
},
|
|
222
241
|
'hljs-variable': {
|
|
223
|
-
color:
|
|
242
|
+
color: colors.AccentPurple,
|
|
224
243
|
},
|
|
225
244
|
'hljs-template-variable': {
|
|
226
|
-
color:
|
|
245
|
+
color: colors.AccentPurple,
|
|
227
246
|
},
|
|
228
247
|
'hljs-attr': {
|
|
229
|
-
color:
|
|
248
|
+
color: colors.LightBlue,
|
|
230
249
|
},
|
|
231
250
|
'hljs-attribute': {
|
|
232
|
-
color:
|
|
251
|
+
color: colors.LightBlue,
|
|
233
252
|
},
|
|
234
253
|
'hljs-builtin-name': {
|
|
235
|
-
color:
|
|
254
|
+
color: colors.LightBlue,
|
|
236
255
|
},
|
|
237
256
|
'hljs-section': {
|
|
238
|
-
color:
|
|
257
|
+
color: colors.AccentYellow,
|
|
239
258
|
},
|
|
240
259
|
'hljs-emphasis': {
|
|
241
260
|
fontStyle: 'italic',
|
|
@@ -244,35 +263,64 @@ export function createCustomTheme(customTheme) {
|
|
|
244
263
|
fontWeight: 'bold',
|
|
245
264
|
},
|
|
246
265
|
'hljs-bullet': {
|
|
247
|
-
color:
|
|
266
|
+
color: colors.AccentYellow,
|
|
248
267
|
},
|
|
249
268
|
'hljs-selector-tag': {
|
|
250
|
-
color:
|
|
269
|
+
color: colors.AccentYellow,
|
|
251
270
|
},
|
|
252
271
|
'hljs-selector-id': {
|
|
253
|
-
color:
|
|
272
|
+
color: colors.AccentYellow,
|
|
254
273
|
},
|
|
255
274
|
'hljs-selector-class': {
|
|
256
|
-
color:
|
|
275
|
+
color: colors.AccentYellow,
|
|
257
276
|
},
|
|
258
277
|
'hljs-selector-attr': {
|
|
259
|
-
color:
|
|
278
|
+
color: colors.AccentYellow,
|
|
260
279
|
},
|
|
261
280
|
'hljs-selector-pseudo': {
|
|
262
|
-
color:
|
|
281
|
+
color: colors.AccentYellow,
|
|
263
282
|
},
|
|
264
283
|
'hljs-addition': {
|
|
265
|
-
backgroundColor:
|
|
284
|
+
backgroundColor: colors.AccentGreen,
|
|
266
285
|
display: 'inline-block',
|
|
267
286
|
width: '100%',
|
|
268
287
|
},
|
|
269
288
|
'hljs-deletion': {
|
|
270
|
-
backgroundColor:
|
|
289
|
+
backgroundColor: colors.AccentRed,
|
|
271
290
|
display: 'inline-block',
|
|
272
291
|
width: '100%',
|
|
273
292
|
},
|
|
274
293
|
};
|
|
275
|
-
|
|
294
|
+
const semanticColors = {
|
|
295
|
+
text: {
|
|
296
|
+
primary: colors.Foreground,
|
|
297
|
+
secondary: colors.Gray,
|
|
298
|
+
link: colors.AccentBlue,
|
|
299
|
+
accent: colors.AccentPurple,
|
|
300
|
+
},
|
|
301
|
+
background: {
|
|
302
|
+
primary: colors.Background,
|
|
303
|
+
diff: {
|
|
304
|
+
added: colors.DiffAdded,
|
|
305
|
+
removed: colors.DiffRemoved,
|
|
306
|
+
},
|
|
307
|
+
},
|
|
308
|
+
border: {
|
|
309
|
+
default: colors.Gray,
|
|
310
|
+
focused: colors.AccentBlue,
|
|
311
|
+
},
|
|
312
|
+
ui: {
|
|
313
|
+
comment: colors.Comment,
|
|
314
|
+
symbol: colors.Gray,
|
|
315
|
+
gradient: colors.GradientColors,
|
|
316
|
+
},
|
|
317
|
+
status: {
|
|
318
|
+
error: colors.AccentRed,
|
|
319
|
+
success: colors.AccentGreen,
|
|
320
|
+
warning: colors.AccentYellow,
|
|
321
|
+
},
|
|
322
|
+
};
|
|
323
|
+
return new Theme(customTheme.name, 'custom', rawMappings, colors, semanticColors);
|
|
276
324
|
}
|
|
277
325
|
/**
|
|
278
326
|
* Validates a custom theme configuration.
|
|
@@ -280,67 +328,7 @@ export function createCustomTheme(customTheme) {
|
|
|
280
328
|
* @returns An object with isValid boolean and error message if invalid.
|
|
281
329
|
*/
|
|
282
330
|
export function validateCustomTheme(customTheme) {
|
|
283
|
-
//
|
|
284
|
-
const requiredFields = [
|
|
285
|
-
'name',
|
|
286
|
-
'Background',
|
|
287
|
-
'Foreground',
|
|
288
|
-
'LightBlue',
|
|
289
|
-
'AccentBlue',
|
|
290
|
-
'AccentPurple',
|
|
291
|
-
'AccentCyan',
|
|
292
|
-
'AccentGreen',
|
|
293
|
-
'AccentYellow',
|
|
294
|
-
'AccentRed',
|
|
295
|
-
// 'DiffAdded' and 'DiffRemoved' are not required as they were added after
|
|
296
|
-
// the theme format was defined.
|
|
297
|
-
'Comment',
|
|
298
|
-
'Gray',
|
|
299
|
-
];
|
|
300
|
-
const recommendedFields = [
|
|
301
|
-
'DiffAdded',
|
|
302
|
-
'DiffRemoved',
|
|
303
|
-
];
|
|
304
|
-
for (const field of requiredFields) {
|
|
305
|
-
if (!customTheme[field]) {
|
|
306
|
-
return {
|
|
307
|
-
isValid: false,
|
|
308
|
-
error: `Missing required field: ${field}`,
|
|
309
|
-
};
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
const missingFields = [];
|
|
313
|
-
for (const field of recommendedFields) {
|
|
314
|
-
if (!customTheme[field]) {
|
|
315
|
-
missingFields.push(field);
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
// Validate color format (basic hex validation)
|
|
319
|
-
const colorFields = [
|
|
320
|
-
'Background',
|
|
321
|
-
'Foreground',
|
|
322
|
-
'LightBlue',
|
|
323
|
-
'AccentBlue',
|
|
324
|
-
'AccentPurple',
|
|
325
|
-
'AccentCyan',
|
|
326
|
-
'AccentGreen',
|
|
327
|
-
'AccentYellow',
|
|
328
|
-
'AccentRed',
|
|
329
|
-
'DiffAdded',
|
|
330
|
-
'DiffRemoved',
|
|
331
|
-
'Comment',
|
|
332
|
-
'Gray',
|
|
333
|
-
];
|
|
334
|
-
for (const field of colorFields) {
|
|
335
|
-
const color = customTheme[field];
|
|
336
|
-
if (color !== undefined && !isValidColor(color)) {
|
|
337
|
-
return {
|
|
338
|
-
isValid: false,
|
|
339
|
-
error: `Invalid color format for ${field}: ${color}`,
|
|
340
|
-
};
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
// Validate theme name
|
|
331
|
+
// Since all fields are optional, we only need to validate the name.
|
|
344
332
|
if (customTheme.name && !isValidThemeName(customTheme.name)) {
|
|
345
333
|
return {
|
|
346
334
|
isValid: false,
|
|
@@ -349,9 +337,6 @@ export function validateCustomTheme(customTheme) {
|
|
|
349
337
|
}
|
|
350
338
|
return {
|
|
351
339
|
isValid: true,
|
|
352
|
-
warning: missingFields.length > 0
|
|
353
|
-
? `Missing field(s) ${missingFields.join(', ')}`
|
|
354
|
-
: undefined,
|
|
355
340
|
};
|
|
356
341
|
}
|
|
357
342
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../../src/ui/themes/theme.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../../src/ui/themes/theme.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { Theme } from './theme.js';
|
|
7
|
+
import { lightSemanticColors } from './semantic-tokens.js';
|
|
7
8
|
const xcodeColors = {
|
|
8
9
|
type: 'light',
|
|
9
10
|
Background: '#fff',
|
|
@@ -141,5 +142,5 @@ export const XCode = new Theme('Xcode', 'light', {
|
|
|
141
142
|
'hljs-emphasis': {
|
|
142
143
|
fontStyle: 'italic',
|
|
143
144
|
},
|
|
144
|
-
}, xcodeColors);
|
|
145
|
+
}, xcodeColors, lightSemanticColors);
|
|
145
146
|
//# sourceMappingURL=xcode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xcode.js","sourceRoot":"","sources":["../../../../src/ui/themes/xcode.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAoB,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"xcode.js","sourceRoot":"","sources":["../../../../src/ui/themes/xcode.ts"],"names":[],"mappings":"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"}
|
package/dist/src/ui/types.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import React from 'react';
|
|
7
7
|
import { Theme } from '../themes/theme.js';
|
|
8
|
+
import { LoadedSettings } from '../../config/settings.js';
|
|
8
9
|
export declare function colorizeLine(line: string, language: string | null, theme?: Theme): React.ReactNode;
|
|
9
10
|
/**
|
|
10
11
|
* Renders syntax-highlighted code for Ink applications using a selected theme.
|
|
@@ -13,4 +14,4 @@ export declare function colorizeLine(line: string, language: string | null, them
|
|
|
13
14
|
* @param language The language identifier (e.g., 'javascript', 'css', 'html')
|
|
14
15
|
* @returns A React.ReactNode containing Ink <Text> elements for the highlighted code.
|
|
15
16
|
*/
|
|
16
|
-
export declare function colorizeCode(code: string, language: string | null, availableHeight?: number, maxWidth?: number, theme?: Theme): React.ReactNode;
|
|
17
|
+
export declare function colorizeCode(code: string, language: string | null, availableHeight?: number, maxWidth?: number, theme?: Theme, settings?: LoadedSettings): React.ReactNode;
|
|
@@ -74,9 +74,10 @@ export function colorizeLine(line, language, theme) {
|
|
|
74
74
|
* @param language The language identifier (e.g., 'javascript', 'css', 'html')
|
|
75
75
|
* @returns A React.ReactNode containing Ink <Text> elements for the highlighted code.
|
|
76
76
|
*/
|
|
77
|
-
export function colorizeCode(code, language, availableHeight, maxWidth, theme) {
|
|
77
|
+
export function colorizeCode(code, language, availableHeight, maxWidth, theme, settings) {
|
|
78
78
|
const codeToHighlight = code.replace(/\n$/, '');
|
|
79
79
|
const activeTheme = theme || themeManager.getActiveTheme();
|
|
80
|
+
const showLineNumbers = settings?.merged.showLineNumbers ?? true;
|
|
80
81
|
try {
|
|
81
82
|
// Render the HAST tree using the adapted theme
|
|
82
83
|
// Apply the theme's default foreground color to the top-level Text element
|
|
@@ -94,7 +95,7 @@ export function colorizeCode(code, language, availableHeight, maxWidth, theme) {
|
|
|
94
95
|
}
|
|
95
96
|
return (_jsx(MaxSizedBox, { maxHeight: availableHeight, maxWidth: maxWidth, additionalHiddenLinesCount: hiddenLinesCount, overflowDirection: "top", children: lines.map((line, index) => {
|
|
96
97
|
const contentToRender = highlightAndRenderLine(line, language, activeTheme);
|
|
97
|
-
return (_jsxs(Box, { children: [_jsx(Text, { color: activeTheme.colors.Gray, children: `${String(index + 1 + hiddenLinesCount).padStart(padWidth, ' ')} ` }), _jsx(Text, { color: activeTheme.defaultColor, wrap: "wrap", children: contentToRender })] }, index));
|
|
98
|
+
return (_jsxs(Box, { children: [showLineNumbers && (_jsx(Text, { color: activeTheme.colors.Gray, children: `${String(index + 1 + hiddenLinesCount).padStart(padWidth, ' ')} ` })), _jsx(Text, { color: activeTheme.defaultColor, wrap: "wrap", children: contentToRender })] }, index));
|
|
98
99
|
}) }));
|
|
99
100
|
}
|
|
100
101
|
catch (error) {
|
|
@@ -103,7 +104,7 @@ export function colorizeCode(code, language, availableHeight, maxWidth, theme) {
|
|
|
103
104
|
// Also display line numbers in fallback
|
|
104
105
|
const lines = codeToHighlight.split('\n');
|
|
105
106
|
const padWidth = String(lines.length).length; // Calculate padding width based on number of lines
|
|
106
|
-
return (_jsx(MaxSizedBox, { maxHeight: availableHeight, maxWidth: maxWidth, overflowDirection: "top", children: lines.map((line, index) => (_jsxs(Box, { children: [_jsx(Text, { color: activeTheme.defaultColor, children: `${String(index + 1).padStart(padWidth, ' ')} ` }), _jsx(Text, { color: activeTheme.colors.Gray, children: line })] }, index))) }));
|
|
107
|
+
return (_jsx(MaxSizedBox, { maxHeight: availableHeight, maxWidth: maxWidth, overflowDirection: "top", children: lines.map((line, index) => (_jsxs(Box, { children: [showLineNumbers && (_jsx(Text, { color: activeTheme.defaultColor, children: `${String(index + 1).padStart(padWidth, ' ')} ` })), _jsx(Text, { color: activeTheme.colors.Gray, children: line })] }, index))) }));
|
|
107
108
|
}
|
|
108
109
|
}
|
|
109
110
|
//# sourceMappingURL=CodeColorizer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeColorizer.js","sourceRoot":"","sources":["../../../../src/ui/utils/CodeColorizer.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAQlD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EACL,WAAW,EACX,kBAAkB,GACnB,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"CodeColorizer.js","sourceRoot":"","sources":["../../../../src/ui/utils/CodeColorizer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ export class ConsolePatcher {
|
|
|
9
9
|
originalConsoleWarn = console.warn;
|
|
10
10
|
originalConsoleError = console.error;
|
|
11
11
|
originalConsoleDebug = console.debug;
|
|
12
|
+
originalConsoleInfo = console.info;
|
|
12
13
|
params;
|
|
13
14
|
constructor(params) {
|
|
14
15
|
this.params = params;
|
|
@@ -18,12 +19,14 @@ export class ConsolePatcher {
|
|
|
18
19
|
console.warn = this.patchConsoleMethod('warn', this.originalConsoleWarn);
|
|
19
20
|
console.error = this.patchConsoleMethod('error', this.originalConsoleError);
|
|
20
21
|
console.debug = this.patchConsoleMethod('debug', this.originalConsoleDebug);
|
|
22
|
+
console.info = this.patchConsoleMethod('info', this.originalConsoleInfo);
|
|
21
23
|
}
|
|
22
24
|
cleanup = () => {
|
|
23
25
|
console.log = this.originalConsoleLog;
|
|
24
26
|
console.warn = this.originalConsoleWarn;
|
|
25
27
|
console.error = this.originalConsoleError;
|
|
26
28
|
console.debug = this.originalConsoleDebug;
|
|
29
|
+
console.info = this.originalConsoleInfo;
|
|
27
30
|
};
|
|
28
31
|
formatArgs = (args) => util.format(...args);
|
|
29
32
|
patchConsoleMethod = (type, originalMethod) => (...args) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConsolePatcher.js","sourceRoot":"","sources":["../../../../src/ui/utils/ConsolePatcher.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AASxB,MAAM,OAAO,cAAc;IACjB,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC;IACjC,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IACnC,oBAAoB,GAAG,OAAO,CAAC,KAAK,CAAC;IACrC,oBAAoB,GAAG,OAAO,CAAC,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"ConsolePatcher.js","sourceRoot":"","sources":["../../../../src/ui/utils/ConsolePatcher.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AASxB,MAAM,OAAO,cAAc;IACjB,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC;IACjC,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IACnC,oBAAoB,GAAG,OAAO,CAAC,KAAK,CAAC;IACrC,oBAAoB,GAAG,OAAO,CAAC,KAAK,CAAC;IACrC,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAEnC,MAAM,CAAuB;IAErC,YAAY,MAA4B;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK;QACH,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACzE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC5E,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,GAAG,GAAG,EAAE;QACb,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACtC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACxC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAC1C,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAC1C,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC;IAC1C,CAAC,CAAC;IAEM,UAAU,GAAG,CAAC,IAAe,EAAU,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAE/D,kBAAkB,GACxB,CACE,IAAiD,EACjD,cAA4C,EAC5C,EAAE,CACJ,CAAC,GAAG,IAAe,EAAE,EAAE;QACrB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACvB,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC9C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC1B,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACtC,CAAC;YAED,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC9C,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;oBACzB,IAAI;oBACJ,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;oBAC9B,KAAK,EAAE,CAAC;iBACT,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC;CACL"}
|
|
@@ -10,6 +10,7 @@ import { Colors } from '../colors.js';
|
|
|
10
10
|
import { colorizeCode } from './CodeColorizer.js';
|
|
11
11
|
import { TableRenderer } from './TableRenderer.js';
|
|
12
12
|
import { RenderInline } from './InlineMarkdownRenderer.js';
|
|
13
|
+
import { useSettings } from '../contexts/SettingsContext.js';
|
|
13
14
|
// Constants for Markdown parsing and rendering
|
|
14
15
|
const EMPTY_LINE_HEIGHT = 1;
|
|
15
16
|
const CODE_BLOCK_PREFIX_PADDING = 1;
|
|
@@ -173,6 +174,7 @@ const MarkdownDisplayInternal = ({ text, isPending, availableTerminalHeight, ter
|
|
|
173
174
|
return _jsx(_Fragment, { children: contentBlocks });
|
|
174
175
|
};
|
|
175
176
|
const RenderCodeBlockInternal = ({ content, lang, isPending, availableTerminalHeight, terminalWidth, }) => {
|
|
177
|
+
const settings = useSettings();
|
|
176
178
|
const MIN_LINES_FOR_MESSAGE = 1; // Minimum lines to show before the "generating more" message
|
|
177
179
|
const RESERVED_LINES = 2; // Lines reserved for the message itself and potential padding
|
|
178
180
|
if (isPending && availableTerminalHeight !== undefined) {
|
|
@@ -183,12 +185,12 @@ const RenderCodeBlockInternal = ({ content, lang, isPending, availableTerminalHe
|
|
|
183
185
|
return (_jsx(Box, { paddingLeft: CODE_BLOCK_PREFIX_PADDING, children: _jsx(Text, { color: Colors.Gray, children: "... code is being written ..." }) }));
|
|
184
186
|
}
|
|
185
187
|
const truncatedContent = content.slice(0, MAX_CODE_LINES_WHEN_PENDING);
|
|
186
|
-
const colorizedTruncatedCode = colorizeCode(truncatedContent.join('\n'), lang, availableTerminalHeight, terminalWidth - CODE_BLOCK_PREFIX_PADDING);
|
|
188
|
+
const colorizedTruncatedCode = colorizeCode(truncatedContent.join('\n'), lang, availableTerminalHeight, terminalWidth - CODE_BLOCK_PREFIX_PADDING, undefined, settings);
|
|
187
189
|
return (_jsxs(Box, { paddingLeft: CODE_BLOCK_PREFIX_PADDING, flexDirection: "column", children: [colorizedTruncatedCode, _jsx(Text, { color: Colors.Gray, children: "... generating more ..." })] }));
|
|
188
190
|
}
|
|
189
191
|
}
|
|
190
192
|
const fullContent = content.join('\n');
|
|
191
|
-
const colorizedCode = colorizeCode(fullContent, lang, availableTerminalHeight, terminalWidth - CODE_BLOCK_PREFIX_PADDING);
|
|
193
|
+
const colorizedCode = colorizeCode(fullContent, lang, availableTerminalHeight, terminalWidth - CODE_BLOCK_PREFIX_PADDING, undefined, settings);
|
|
192
194
|
return (_jsx(Box, { paddingLeft: CODE_BLOCK_PREFIX_PADDING, flexDirection: "column", width: terminalWidth, flexShrink: 0, children: colorizedCode }));
|
|
193
195
|
};
|
|
194
196
|
const RenderCodeBlock = React.memo(RenderCodeBlockInternal);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownDisplay.js","sourceRoot":"","sources":["../../../../src/ui/utils/MarkdownDisplay.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"MarkdownDisplay.js","sourceRoot":"","sources":["../../../../src/ui/utils/MarkdownDisplay.tsx"],"names":[],"mappings":"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"}
|