@google/gemini-cli 0.3.0-nightly.20250821.653267a6 → 0.3.0-nightly.20250823.1a89d185

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 (143) hide show
  1. package/dist/package.json +2 -2
  2. package/dist/src/config/auth.js +9 -0
  3. package/dist/src/config/auth.js.map +1 -1
  4. package/dist/src/config/config.d.ts +1 -0
  5. package/dist/src/config/config.js +13 -1
  6. package/dist/src/config/config.js.map +1 -1
  7. package/dist/src/config/settings.d.ts +3 -1
  8. package/dist/src/config/settings.js +18 -11
  9. package/dist/src/config/settings.js.map +1 -1
  10. package/dist/src/config/settingsSchema.d.ts +46 -1
  11. package/dist/src/config/settingsSchema.js +46 -1
  12. package/dist/src/config/settingsSchema.js.map +1 -1
  13. package/dist/src/config/settingsSchema.test.js +11 -0
  14. package/dist/src/config/settingsSchema.test.js.map +1 -1
  15. package/dist/src/gemini.js +25 -2
  16. package/dist/src/gemini.js.map +1 -1
  17. package/dist/src/gemini.test.js +1 -1
  18. package/dist/src/gemini.test.js.map +1 -1
  19. package/dist/src/generated/git-commit.d.ts +2 -2
  20. package/dist/src/generated/git-commit.js +2 -2
  21. package/dist/src/nonInteractiveCli.js +22 -31
  22. package/dist/src/nonInteractiveCli.js.map +1 -1
  23. package/dist/src/services/McpPromptLoader.d.ts +11 -1
  24. package/dist/src/services/McpPromptLoader.js +42 -16
  25. package/dist/src/services/McpPromptLoader.js.map +1 -1
  26. package/dist/src/services/McpPromptLoader.test.d.ts +6 -0
  27. package/dist/src/services/McpPromptLoader.test.js +114 -0
  28. package/dist/src/services/McpPromptLoader.test.js.map +1 -0
  29. package/dist/src/ui/App.js +13 -6
  30. package/dist/src/ui/App.js.map +1 -1
  31. package/dist/src/ui/commands/aboutCommand.js +8 -1
  32. package/dist/src/ui/commands/aboutCommand.js.map +1 -1
  33. package/dist/src/ui/commands/copyCommand.js +1 -1
  34. package/dist/src/ui/commands/copyCommand.js.map +1 -1
  35. package/dist/src/ui/components/AboutBox.d.ts +2 -0
  36. package/dist/src/ui/components/AboutBox.js +2 -1
  37. package/dist/src/ui/components/AboutBox.js.map +1 -1
  38. package/dist/src/ui/components/AuthDialog.js +5 -1
  39. package/dist/src/ui/components/AuthDialog.js.map +1 -1
  40. package/dist/src/ui/components/AuthDialog.test.js +10 -10
  41. package/dist/src/ui/components/AuthDialog.test.js.map +1 -1
  42. package/dist/src/ui/components/DetailedMessagesDisplay.js +1 -1
  43. package/dist/src/ui/components/DetailedMessagesDisplay.js.map +1 -1
  44. package/dist/src/ui/components/FolderTrustDialog.d.ts +1 -0
  45. package/dist/src/ui/components/FolderTrustDialog.js +9 -3
  46. package/dist/src/ui/components/FolderTrustDialog.js.map +1 -1
  47. package/dist/src/ui/components/FolderTrustDialog.test.js +40 -3
  48. package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
  49. package/dist/src/ui/components/HistoryItemDisplay.js +1 -1
  50. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  51. package/dist/src/ui/components/InputPrompt.js +140 -13
  52. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  53. package/dist/src/ui/components/SettingsDialog.js +65 -34
  54. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  55. package/dist/src/ui/components/SettingsDialog.test.js +107 -47
  56. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  57. package/dist/src/ui/components/StatsDisplay.js +3 -3
  58. package/dist/src/ui/components/StatsDisplay.js.map +1 -1
  59. package/dist/src/ui/components/SuggestionsDisplay.js +11 -4
  60. package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
  61. package/dist/src/ui/components/messages/CompressionMessage.js +2 -1
  62. package/dist/src/ui/components/messages/CompressionMessage.js.map +1 -1
  63. package/dist/src/ui/components/messages/DiffRenderer.js +2 -1
  64. package/dist/src/ui/components/messages/DiffRenderer.js.map +1 -1
  65. package/dist/src/ui/components/messages/DiffRenderer.test.js +11 -10
  66. package/dist/src/ui/components/messages/DiffRenderer.test.js.map +1 -1
  67. package/dist/src/ui/components/messages/GeminiMessage.js +2 -1
  68. package/dist/src/ui/components/messages/GeminiMessage.js.map +1 -1
  69. package/dist/src/ui/components/messages/UserMessage.js +2 -1
  70. package/dist/src/ui/components/messages/UserMessage.js.map +1 -1
  71. package/dist/src/ui/components/shared/text-buffer.js +1 -45
  72. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  73. package/dist/src/ui/constants.d.ts +2 -0
  74. package/dist/src/ui/constants.js +2 -0
  75. package/dist/src/ui/constants.js.map +1 -1
  76. package/dist/src/ui/contexts/KeypressContext.d.ts +2 -1
  77. package/dist/src/ui/contexts/KeypressContext.js +22 -3
  78. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  79. package/dist/src/ui/contexts/KeypressContext.test.js +112 -1
  80. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
  81. package/dist/src/ui/hooks/atCommandProcessor.js +0 -1
  82. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  83. package/dist/src/ui/hooks/atCommandProcessor.test.js +1 -0
  84. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
  85. package/dist/src/ui/hooks/useAtCompletion.js +1 -0
  86. package/dist/src/ui/hooks/useAtCompletion.js.map +1 -1
  87. package/dist/src/ui/hooks/useCommandCompletion.d.ts +4 -1
  88. package/dist/src/ui/hooks/useCommandCompletion.js +29 -8
  89. package/dist/src/ui/hooks/useCommandCompletion.js.map +1 -1
  90. package/dist/src/ui/hooks/useFolderTrust.d.ts +1 -0
  91. package/dist/src/ui/hooks/useFolderTrust.js +16 -8
  92. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
  93. package/dist/src/ui/hooks/useGeminiStream.d.ts +0 -1
  94. package/dist/src/ui/hooks/useGeminiStream.js +17 -31
  95. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  96. package/dist/src/ui/hooks/usePromptCompletion.d.ts +23 -0
  97. package/dist/src/ui/hooks/usePromptCompletion.js +176 -0
  98. package/dist/src/ui/hooks/usePromptCompletion.js.map +1 -0
  99. package/dist/src/ui/hooks/useReactToolScheduler.js +0 -1
  100. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  101. package/dist/src/ui/hooks/useToolScheduler.test.js +32 -24
  102. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  103. package/dist/src/ui/themes/theme-manager.d.ts +2 -0
  104. package/dist/src/ui/themes/theme-manager.js +72 -5
  105. package/dist/src/ui/themes/theme-manager.js.map +1 -1
  106. package/dist/src/ui/themes/theme-manager.test.js +60 -1
  107. package/dist/src/ui/themes/theme-manager.test.js.map +1 -1
  108. package/dist/src/ui/types.d.ts +2 -1
  109. package/dist/src/ui/types.js.map +1 -1
  110. package/dist/src/ui/utils/MarkdownDisplay.js +2 -1
  111. package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
  112. package/dist/src/ui/utils/MarkdownDisplay.test.js +17 -16
  113. package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -1
  114. package/dist/src/ui/utils/commandUtils.js +16 -3
  115. package/dist/src/ui/utils/commandUtils.js.map +1 -1
  116. package/dist/src/ui/utils/commandUtils.test.js +55 -7
  117. package/dist/src/ui/utils/commandUtils.test.js.map +1 -1
  118. package/dist/src/ui/utils/platformConstants.d.ts +7 -0
  119. package/dist/src/ui/utils/platformConstants.js +7 -0
  120. package/dist/src/ui/utils/platformConstants.js.map +1 -1
  121. package/dist/src/ui/utils/textUtils.d.ts +18 -0
  122. package/dist/src/ui/utils/textUtils.js +44 -0
  123. package/dist/src/ui/utils/textUtils.js.map +1 -1
  124. package/dist/src/utils/license.d.ts +13 -0
  125. package/dist/src/utils/license.js +35 -0
  126. package/dist/src/utils/license.js.map +1 -0
  127. package/dist/src/utils/license.test.d.ts +6 -0
  128. package/dist/src/utils/license.test.js +77 -0
  129. package/dist/src/utils/license.test.js.map +1 -0
  130. package/dist/src/utils/readStdin.js +57 -18
  131. package/dist/src/utils/readStdin.js.map +1 -1
  132. package/dist/src/utils/sandbox.d.ts +1 -1
  133. package/dist/src/utils/sandbox.js +9 -8
  134. package/dist/src/utils/sandbox.js.map +1 -1
  135. package/dist/src/zed-integration/acp.js +2 -1
  136. package/dist/src/zed-integration/acp.js.map +1 -1
  137. package/dist/src/zed-integration/schema.d.ts +116 -13
  138. package/dist/src/zed-integration/schema.js +7 -1
  139. package/dist/src/zed-integration/schema.js.map +1 -1
  140. package/dist/src/zed-integration/zedIntegration.js +130 -94
  141. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  142. package/dist/tsconfig.tsbuildinfo +1 -1
  143. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"HistoryItemDisplay.js","sourceRoot":"","sources":["../../../../src/ui/components/HistoryItemDisplay.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HistoryItemDisplay.js","sourceRoot":"","sources":["../../../../src/ui/components/HistoryItemDisplay.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAajC,MAAM,CAAC,MAAM,kBAAkB,GAAsC,CAAC,EACpE,IAAI,EACJ,uBAAuB,EACvB,aAAa,EACb,SAAS,EACT,MAAM,EACN,QAAQ,EACR,SAAS,GAAG,IAAI,GACjB,EAAE,EAAE,CAAC,CACJ,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aAExB,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,KAAC,WAAW,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,EACxD,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,KAAC,gBAAgB,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,EACnE,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CACzB,KAAC,aAAa,IACZ,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,SAAS,EAAE,SAAS,EACpB,uBAAuB,EAAE,uBAAuB,EAChD,aAAa,EAAE,aAAa,GAC5B,CACH,EACA,IAAI,CAAC,IAAI,KAAK,gBAAgB,IAAI,CACjC,KAAC,oBAAoB,IACnB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,SAAS,EAAE,SAAS,EACpB,uBAAuB,EAAE,uBAAuB,EAChD,aAAa,EAAE,aAAa,GAC5B,CACH,EACA,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,KAAC,WAAW,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,EACxD,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,EAC1D,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,CACxB,KAAC,QAAQ,IACP,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EACvC,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,GACvB,CACH,EACA,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,QAAQ,IAAI,KAAC,IAAI,IAAC,QAAQ,EAAE,QAAQ,GAAI,EAChE,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,KAAC,YAAY,IAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAI,EAClE,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,KAAC,iBAAiB,KAAG,EACpD,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,KAAC,gBAAgB,KAAG,EAClD,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,KAAC,qBAAqB,IAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAI,EAC1E,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,CAC7B,KAAC,gBAAgB,IACf,SAAS,EAAE,IAAI,CAAC,KAAK,EACrB,OAAO,EAAE,IAAI,CAAC,EAAE,EAChB,uBAAuB,EAAE,uBAAuB,EAChD,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,GACpB,CACH,EACA,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,CAC9B,KAAC,kBAAkB,IAAC,WAAW,EAAE,IAAI,CAAC,WAAW,GAAI,CACtD,KAnD8B,IAAI,CAAC,EAAE,CAoDlC,CACP,CAAC"}
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  /**
3
3
  * @license
4
4
  * Copyright 2025 Google LLC
@@ -10,7 +10,7 @@ import { theme } from '../semantic-colors.js';
10
10
  import { SuggestionsDisplay } from './SuggestionsDisplay.js';
11
11
  import { useInputHistory } from '../hooks/useInputHistory.js';
12
12
  import { logicalPosToOffset } from './shared/text-buffer.js';
13
- import { cpSlice, cpLen } from '../utils/textUtils.js';
13
+ import { cpSlice, cpLen, toCodePoints } from '../utils/textUtils.js';
14
14
  import chalk from 'chalk';
15
15
  import stringWidth from 'string-width';
16
16
  import { useShellHistory } from '../hooks/useShellHistory.js';
@@ -20,6 +20,7 @@ import { useKeypress } from '../hooks/useKeypress.js';
20
20
  import { keyMatchers, Command } from '../keyMatchers.js';
21
21
  import { clipboardHasImage, saveClipboardImage, cleanupOldClipboardImages, } from '../utils/clipboardUtils.js';
22
22
  import * as path from 'path';
23
+ import { SCREEN_READER_USER_PREFIX } from '../constants.js';
23
24
  export const InputPrompt = ({ buffer, onSubmit, userMessages, onClearScreen, config, slashCommands, commandContext, placeholder = ' Type your message or @path/to/file', focus = true, inputWidth, suggestionsWidth, shellModeActive, setShellModeActive, onEscapePromptChange, vimHandleInput, }) => {
24
25
  const [justNavigatedHistory, setJustNavigatedHistory] = useState(false);
25
26
  const [escPressCount, setEscPressCount] = useState(0);
@@ -286,6 +287,13 @@ export const InputPrompt = ({ buffer, onSubmit, userMessages, onClearScreen, con
286
287
  return;
287
288
  }
288
289
  }
290
+ // Handle Tab key for ghost text acceptance
291
+ if (key.name === 'tab' &&
292
+ !completion.showSuggestions &&
293
+ completion.promptCompletion.text) {
294
+ completion.promptCompletion.accept();
295
+ return;
296
+ }
289
297
  if (!shellModeActive) {
290
298
  if (keyMatchers[Command.HISTORY_UP](key)) {
291
299
  inputHistory.navigateUp();
@@ -351,7 +359,6 @@ export const InputPrompt = ({ buffer, onSubmit, userMessages, onClearScreen, con
351
359
  }
352
360
  if (keyMatchers[Command.END](key)) {
353
361
  buffer.move('end');
354
- buffer.moveToOffset(cpLen(buffer.text));
355
362
  return;
356
363
  }
357
364
  // Ctrl+C (Clear input)
@@ -383,6 +390,14 @@ export const InputPrompt = ({ buffer, onSubmit, userMessages, onClearScreen, con
383
390
  }
384
391
  // Fall back to the text buffer's default input handling for all other keys
385
392
  buffer.handleInput(key);
393
+ // Clear ghost text when user types regular characters (not navigation/control keys)
394
+ if (completion.promptCompletion.text &&
395
+ key.sequence &&
396
+ key.sequence.length === 1 &&
397
+ !key.ctrl &&
398
+ !key.meta) {
399
+ completion.promptCompletion.clear();
400
+ }
386
401
  }, [
387
402
  focus,
388
403
  buffer,
@@ -410,13 +425,110 @@ export const InputPrompt = ({ buffer, onSubmit, userMessages, onClearScreen, con
410
425
  const linesToRender = buffer.viewportVisualLines;
411
426
  const [cursorVisualRowAbsolute, cursorVisualColAbsolute] = buffer.visualCursor;
412
427
  const scrollVisualRow = buffer.visualScrollRow;
413
- return (_jsxs(_Fragment, { children: [_jsxs(Box, { borderStyle: "round", borderColor: shellModeActive ? theme.status.warning : theme.border.focused, paddingX: 1, children: [_jsx(Text, { color: shellModeActive ? theme.status.warning : theme.text.accent, children: shellModeActive ? (reverseSearchActive ? (_jsx(Text, { color: theme.text.link, children: "(r:) " })) : ('! ')) : ('> ') }), _jsx(Box, { flexGrow: 1, flexDirection: "column", children: buffer.text.length === 0 && placeholder ? (focus ? (_jsxs(Text, { children: [chalk.inverse(placeholder.slice(0, 1)), _jsx(Text, { color: theme.text.secondary, children: placeholder.slice(1) })] })) : (_jsx(Text, { color: theme.text.secondary, children: placeholder }))) : (linesToRender.map((lineText, visualIdxInRenderedSet) => {
428
+ const getGhostTextLines = useCallback(() => {
429
+ if (!completion.promptCompletion.text ||
430
+ !buffer.text ||
431
+ !completion.promptCompletion.text.startsWith(buffer.text)) {
432
+ return { inlineGhost: '', additionalLines: [] };
433
+ }
434
+ const ghostSuffix = completion.promptCompletion.text.slice(buffer.text.length);
435
+ if (!ghostSuffix) {
436
+ return { inlineGhost: '', additionalLines: [] };
437
+ }
438
+ const currentLogicalLine = buffer.lines[buffer.cursor[0]] || '';
439
+ const cursorCol = buffer.cursor[1];
440
+ const textBeforeCursor = cpSlice(currentLogicalLine, 0, cursorCol);
441
+ const usedWidth = stringWidth(textBeforeCursor);
442
+ const remainingWidth = Math.max(0, inputWidth - usedWidth);
443
+ const ghostTextLinesRaw = ghostSuffix.split('\n');
444
+ const firstLineRaw = ghostTextLinesRaw.shift() || '';
445
+ let inlineGhost = '';
446
+ let remainingFirstLine = '';
447
+ if (stringWidth(firstLineRaw) <= remainingWidth) {
448
+ inlineGhost = firstLineRaw;
449
+ }
450
+ else {
451
+ const words = firstLineRaw.split(' ');
452
+ let currentLine = '';
453
+ let wordIdx = 0;
454
+ for (const word of words) {
455
+ const prospectiveLine = currentLine ? `${currentLine} ${word}` : word;
456
+ if (stringWidth(prospectiveLine) > remainingWidth) {
457
+ break;
458
+ }
459
+ currentLine = prospectiveLine;
460
+ wordIdx++;
461
+ }
462
+ inlineGhost = currentLine;
463
+ if (words.length > wordIdx) {
464
+ remainingFirstLine = words.slice(wordIdx).join(' ');
465
+ }
466
+ }
467
+ const linesToWrap = [];
468
+ if (remainingFirstLine) {
469
+ linesToWrap.push(remainingFirstLine);
470
+ }
471
+ linesToWrap.push(...ghostTextLinesRaw);
472
+ const remainingGhostText = linesToWrap.join('\n');
473
+ const additionalLines = [];
474
+ if (remainingGhostText) {
475
+ const textLines = remainingGhostText.split('\n');
476
+ for (const textLine of textLines) {
477
+ const words = textLine.split(' ');
478
+ let currentLine = '';
479
+ for (const word of words) {
480
+ const prospectiveLine = currentLine ? `${currentLine} ${word}` : word;
481
+ const prospectiveWidth = stringWidth(prospectiveLine);
482
+ if (prospectiveWidth > inputWidth) {
483
+ if (currentLine) {
484
+ additionalLines.push(currentLine);
485
+ }
486
+ let wordToProcess = word;
487
+ while (stringWidth(wordToProcess) > inputWidth) {
488
+ let part = '';
489
+ const wordCP = toCodePoints(wordToProcess);
490
+ let partWidth = 0;
491
+ let splitIndex = 0;
492
+ for (let i = 0; i < wordCP.length; i++) {
493
+ const char = wordCP[i];
494
+ const charWidth = stringWidth(char);
495
+ if (partWidth + charWidth > inputWidth) {
496
+ break;
497
+ }
498
+ part += char;
499
+ partWidth += charWidth;
500
+ splitIndex = i + 1;
501
+ }
502
+ additionalLines.push(part);
503
+ wordToProcess = cpSlice(wordToProcess, splitIndex);
504
+ }
505
+ currentLine = wordToProcess;
506
+ }
507
+ else {
508
+ currentLine = prospectiveLine;
509
+ }
510
+ }
511
+ if (currentLine) {
512
+ additionalLines.push(currentLine);
513
+ }
514
+ }
515
+ }
516
+ return { inlineGhost, additionalLines };
517
+ }, [
518
+ completion.promptCompletion.text,
519
+ buffer.text,
520
+ buffer.lines,
521
+ buffer.cursor,
522
+ inputWidth,
523
+ ]);
524
+ const { inlineGhost, additionalLines } = getGhostTextLines();
525
+ return (_jsxs(_Fragment, { children: [_jsxs(Box, { borderStyle: "round", borderColor: shellModeActive ? theme.status.warning : theme.border.focused, paddingX: 1, children: [_jsx(Text, { color: shellModeActive ? theme.status.warning : theme.text.accent, children: shellModeActive ? (reverseSearchActive ? (_jsxs(Text, { color: theme.text.link, "aria-label": SCREEN_READER_USER_PREFIX, children: ["(r:)", ' '] })) : ('! ')) : ('> ') }), _jsx(Box, { flexGrow: 1, flexDirection: "column", children: buffer.text.length === 0 && placeholder ? (focus ? (_jsxs(Text, { children: [chalk.inverse(placeholder.slice(0, 1)), _jsx(Text, { color: theme.text.secondary, children: placeholder.slice(1) })] })) : (_jsx(Text, { color: theme.text.secondary, children: placeholder }))) : (linesToRender
526
+ .map((lineText, visualIdxInRenderedSet) => {
414
527
  const cursorVisualRow = cursorVisualRowAbsolute - scrollVisualRow;
415
528
  let display = cpSlice(lineText, 0, inputWidth);
416
- const currentVisualWidth = stringWidth(display);
417
- if (currentVisualWidth < inputWidth) {
418
- display = display + ' '.repeat(inputWidth - currentVisualWidth);
419
- }
529
+ const isOnCursorLine = focus && visualIdxInRenderedSet === cursorVisualRow;
530
+ const currentLineGhost = isOnCursorLine ? inlineGhost : '';
531
+ const ghostWidth = stringWidth(currentLineGhost);
420
532
  if (focus && visualIdxInRenderedSet === cursorVisualRow) {
421
533
  const relativeVisualColForHighlight = cursorVisualColAbsolute;
422
534
  if (relativeVisualColForHighlight >= 0) {
@@ -428,13 +540,28 @@ export const InputPrompt = ({ buffer, onSubmit, userMessages, onClearScreen, con
428
540
  highlighted +
429
541
  cpSlice(display, relativeVisualColForHighlight + 1);
430
542
  }
431
- else if (relativeVisualColForHighlight === cpLen(display) &&
432
- cpLen(display) === inputWidth) {
433
- display = display + chalk.inverse(' ');
543
+ else if (relativeVisualColForHighlight === cpLen(display)) {
544
+ if (!currentLineGhost) {
545
+ display = display + chalk.inverse(' ');
546
+ }
434
547
  }
435
548
  }
436
549
  }
437
- return (_jsx(Text, { children: display }, `line-${visualIdxInRenderedSet}`));
438
- })) })] }), completion.showSuggestions && (_jsx(Box, { paddingRight: 2, children: _jsx(SuggestionsDisplay, { suggestions: completion.suggestions, activeIndex: completion.activeSuggestionIndex, isLoading: completion.isLoadingSuggestions, width: suggestionsWidth, scrollOffset: completion.visibleStartIndex, userInput: buffer.text }) })), reverseSearchActive && (_jsx(Box, { paddingRight: 2, children: _jsx(SuggestionsDisplay, { suggestions: reverseSearchCompletion.suggestions, activeIndex: reverseSearchCompletion.activeSuggestionIndex, isLoading: reverseSearchCompletion.isLoadingSuggestions, width: suggestionsWidth, scrollOffset: reverseSearchCompletion.visibleStartIndex, userInput: buffer.text }) }))] }));
550
+ const showCursorBeforeGhost = focus &&
551
+ visualIdxInRenderedSet === cursorVisualRow &&
552
+ cursorVisualColAbsolute ===
553
+ // eslint-disable-next-line no-control-regex
554
+ cpLen(display.replace(/\x1b\[[0-9;]*m/g, '')) &&
555
+ currentLineGhost;
556
+ const actualDisplayWidth = stringWidth(display);
557
+ const cursorWidth = showCursorBeforeGhost ? 1 : 0;
558
+ const totalContentWidth = actualDisplayWidth + cursorWidth + ghostWidth;
559
+ const trailingPadding = Math.max(0, inputWidth - totalContentWidth);
560
+ return (_jsxs(Text, { children: [display, showCursorBeforeGhost && chalk.inverse(' '), currentLineGhost && (_jsx(Text, { color: theme.text.secondary, children: currentLineGhost })), trailingPadding > 0 && ' '.repeat(trailingPadding)] }, `line-${visualIdxInRenderedSet}`));
561
+ })
562
+ .concat(additionalLines.map((ghostLine, index) => {
563
+ const padding = Math.max(0, inputWidth - stringWidth(ghostLine));
564
+ return (_jsxs(Text, { color: theme.text.secondary, children: [ghostLine, ' '.repeat(padding)] }, `ghost-line-${index}`));
565
+ }))) })] }), completion.showSuggestions && (_jsx(Box, { paddingRight: 2, children: _jsx(SuggestionsDisplay, { suggestions: completion.suggestions, activeIndex: completion.activeSuggestionIndex, isLoading: completion.isLoadingSuggestions, width: suggestionsWidth, scrollOffset: completion.visibleStartIndex, userInput: buffer.text }) })), reverseSearchActive && (_jsx(Box, { paddingRight: 2, children: _jsx(SuggestionsDisplay, { suggestions: reverseSearchCompletion.suggestions, activeIndex: reverseSearchCompletion.activeSuggestionIndex, isLoading: reverseSearchCompletion.isLoadingSuggestions, width: suggestionsWidth, scrollOffset: reverseSearchCompletion.visibleStartIndex, userInput: buffer.text }) }))] }));
439
566
  };
440
567
  //# sourceMappingURL=InputPrompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputPrompt.js","sourceRoot":"","sources":["../../../../src/ui/components/InputPrompt.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InputPrompt.js","sourceRoot":"","sources":["../../../../src/ui/components/InputPrompt.tsx"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ import { getDialogSettingKeys, getSettingValue, setPendingSettingValue, getDispl
14
14
  import { useVimMode } from '../contexts/VimModeContext.js';
15
15
  import { useKeypress } from '../hooks/useKeypress.js';
16
16
  import chalk from 'chalk';
17
- import { cpSlice, cpLen } from '../utils/textUtils.js';
17
+ import { cpSlice, cpLen, stripUnsafeCharacters } from '../utils/textUtils.js';
18
18
  const maxItemsToShow = 8;
19
19
  export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
20
20
  // Get vim mode context to sync vim mode changes
@@ -48,7 +48,8 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
48
48
  if (def?.type === 'boolean' && typeof value === 'boolean') {
49
49
  updated = setPendingSettingValue(key, value, updated);
50
50
  }
51
- else if (def?.type === 'number' && typeof value === 'number') {
51
+ else if ((def?.type === 'number' && typeof value === 'number') ||
52
+ (def?.type === 'string' && typeof value === 'string')) {
52
53
  updated = setPendingSettingValueAny(key, value, updated);
53
54
  }
54
55
  newModified.add(key);
@@ -70,7 +71,7 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
70
71
  type: definition?.type,
71
72
  toggle: () => {
72
73
  if (definition?.type !== 'boolean') {
73
- // For non-boolean (e.g., number) items, toggle will be handled via edit mode.
74
+ // For non-boolean items, toggle will be handled via edit mode.
74
75
  return;
75
76
  }
76
77
  const currentValue = getSettingValue(key, pendingSettings, {});
@@ -135,7 +136,7 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
135
136
  });
136
137
  };
137
138
  const items = generateSettingsItems();
138
- // Number edit state
139
+ // Generic edit state
139
140
  const [editingKey, setEditingKey] = useState(null);
140
141
  const [editBuffer, setEditBuffer] = useState('');
141
142
  const [editCursorPos, setEditCursorPos] = useState(0); // Cursor position within edit buffer
@@ -148,27 +149,37 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
148
149
  const id = setInterval(() => setCursorVisible((v) => !v), 500);
149
150
  return () => clearInterval(id);
150
151
  }, [editingKey]);
151
- const startEditingNumber = (key, initial) => {
152
+ const startEditing = (key, initial) => {
152
153
  setEditingKey(key);
153
154
  const initialValue = initial ?? '';
154
155
  setEditBuffer(initialValue);
155
156
  setEditCursorPos(cpLen(initialValue)); // Position cursor at end of initial value
156
157
  };
157
- const commitNumberEdit = (key) => {
158
- if (editBuffer.trim() === '') {
159
- // Nothing entered; cancel edit
158
+ const commitEdit = (key) => {
159
+ const definition = getSettingDefinition(key);
160
+ const type = definition?.type;
161
+ if (editBuffer.trim() === '' && type === 'number') {
162
+ // Nothing entered for a number; cancel edit
160
163
  setEditingKey(null);
161
164
  setEditBuffer('');
162
165
  setEditCursorPos(0);
163
166
  return;
164
167
  }
165
- const parsed = Number(editBuffer.trim());
166
- if (Number.isNaN(parsed)) {
167
- // Invalid number; cancel edit
168
- setEditingKey(null);
169
- setEditBuffer('');
170
- setEditCursorPos(0);
171
- return;
168
+ let parsed;
169
+ if (type === 'number') {
170
+ const numParsed = Number(editBuffer.trim());
171
+ if (Number.isNaN(numParsed)) {
172
+ // Invalid number; cancel edit
173
+ setEditingKey(null);
174
+ setEditBuffer('');
175
+ setEditCursorPos(0);
176
+ return;
177
+ }
178
+ parsed = numParsed;
179
+ }
180
+ else {
181
+ // For strings, use the buffer as is.
182
+ parsed = editBuffer;
172
183
  }
173
184
  // Update pending
174
185
  setPendingSettings((prev) => setPendingSettingValueAny(key, parsed, prev));
@@ -238,10 +249,15 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
238
249
  setFocusSection((prev) => (prev === 'settings' ? 'scope' : 'settings'));
239
250
  }
240
251
  if (focusSection === 'settings') {
241
- // If editing a number, capture numeric input and control keys
252
+ // If editing, capture input and control keys
242
253
  if (editingKey) {
254
+ const definition = getSettingDefinition(editingKey);
255
+ const type = definition?.type;
243
256
  if (key.paste && key.sequence) {
244
- const pasted = key.sequence.replace(/[^0-9\-+.]/g, '');
257
+ let pasted = key.sequence;
258
+ if (type === 'number') {
259
+ pasted = key.sequence.replace(/[^0-9\-+.]/g, '');
260
+ }
245
261
  if (pasted) {
246
262
  setEditBuffer((b) => {
247
263
  const before = cpSlice(b, 0, editCursorPos);
@@ -272,16 +288,26 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
272
288
  return;
273
289
  }
274
290
  if (name === 'escape') {
275
- commitNumberEdit(editingKey);
291
+ commitEdit(editingKey);
276
292
  return;
277
293
  }
278
294
  if (name === 'return') {
279
- commitNumberEdit(editingKey);
295
+ commitEdit(editingKey);
280
296
  return;
281
297
  }
282
- // Allow digits, minus, plus, and dot
283
- const ch = key.sequence;
284
- if (/[0-9\-+.]/.test(ch)) {
298
+ let ch = key.sequence;
299
+ let isValidChar = false;
300
+ if (type === 'number') {
301
+ // Allow digits, minus, plus, and dot.
302
+ isValidChar = /[0-9\-+.]/.test(ch);
303
+ }
304
+ else {
305
+ ch = stripUnsafeCharacters(ch);
306
+ // For strings, allow any single character that isn't a control
307
+ // sequence.
308
+ isValidChar = ch.length === 1;
309
+ }
310
+ if (isValidChar) {
285
311
  setEditBuffer((currentBuffer) => {
286
312
  const beforeCursor = cpSlice(currentBuffer, 0, editCursorPos);
287
313
  const afterCursor = cpSlice(currentBuffer, editCursorPos);
@@ -314,7 +340,7 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
314
340
  if (name === 'up' || name === 'k') {
315
341
  // If editing, commit first
316
342
  if (editingKey) {
317
- commitNumberEdit(editingKey);
343
+ commitEdit(editingKey);
318
344
  }
319
345
  const newIndex = activeSettingIndex > 0 ? activeSettingIndex - 1 : items.length - 1;
320
346
  setActiveSettingIndex(newIndex);
@@ -329,7 +355,7 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
329
355
  else if (name === 'down' || name === 'j') {
330
356
  // If editing, commit first
331
357
  if (editingKey) {
332
- commitNumberEdit(editingKey);
358
+ commitEdit(editingKey);
333
359
  }
334
360
  const newIndex = activeSettingIndex < items.length - 1 ? activeSettingIndex + 1 : 0;
335
361
  setActiveSettingIndex(newIndex);
@@ -343,8 +369,9 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
343
369
  }
344
370
  else if (name === 'return' || name === 'space') {
345
371
  const currentItem = items[activeSettingIndex];
346
- if (currentItem?.type === 'number') {
347
- startEditingNumber(currentItem.value);
372
+ if (currentItem?.type === 'number' ||
373
+ currentItem?.type === 'string') {
374
+ startEditing(currentItem.value);
348
375
  }
349
376
  else {
350
377
  currentItem?.toggle();
@@ -353,7 +380,7 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
353
380
  else if (/^[0-9]$/.test(key.sequence || '') && !editingKey) {
354
381
  const currentItem = items[activeSettingIndex];
355
382
  if (currentItem?.type === 'number') {
356
- startEditingNumber(currentItem.value, key.sequence);
383
+ startEditing(currentItem.value, key.sequence);
357
384
  }
358
385
  }
359
386
  else if (ctrl && (name === 'c' || name === 'l')) {
@@ -366,8 +393,9 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
366
393
  const booleanDefaultValue = typeof defaultValue === 'boolean' ? defaultValue : false;
367
394
  setPendingSettings((prev) => setPendingSettingValue(currentSetting.value, booleanDefaultValue, prev));
368
395
  }
369
- else if (defType === 'number') {
370
- if (typeof defaultValue === 'number') {
396
+ else if (defType === 'number' || defType === 'string') {
397
+ if (typeof defaultValue === 'number' ||
398
+ typeof defaultValue === 'string') {
371
399
  setPendingSettings((prev) => setPendingSettingValueAny(currentSetting.value, defaultValue, prev));
372
400
  }
373
401
  }
@@ -390,7 +418,8 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
390
418
  ? typeof defaultValue === 'boolean'
391
419
  ? defaultValue
392
420
  : false
393
- : typeof defaultValue === 'number'
421
+ : typeof defaultValue === 'number' ||
422
+ typeof defaultValue === 'string'
394
423
  ? defaultValue
395
424
  : undefined;
396
425
  const immediateSettingsObject = toSaveValue !== undefined
@@ -411,7 +440,9 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
411
440
  if ((currentSetting.type === 'boolean' &&
412
441
  typeof defaultValue === 'boolean') ||
413
442
  (currentSetting.type === 'number' &&
414
- typeof defaultValue === 'number')) {
443
+ typeof defaultValue === 'number') ||
444
+ (currentSetting.type === 'string' &&
445
+ typeof defaultValue === 'string')) {
415
446
  setGlobalPendingChanges((prev) => {
416
447
  const next = new Map(prev);
417
448
  next.set(currentSetting.value, defaultValue);
@@ -446,7 +477,7 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
446
477
  }
447
478
  if (name === 'escape') {
448
479
  if (editingKey) {
449
- commitNumberEdit(editingKey);
480
+ commitEdit(editingKey);
450
481
  }
451
482
  else {
452
483
  onSelect(undefined, selectedScope);
@@ -478,8 +509,8 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
478
509
  displayValue = editBuffer;
479
510
  }
480
511
  }
481
- else if (item.type === 'number') {
482
- // For numbers, get the actual current value from pending settings
512
+ else if (item.type === 'number' || item.type === 'string') {
513
+ // For numbers/strings, get the actual current value from pending settings
483
514
  const path = item.value.split('.');
484
515
  const currentValue = getNestedValue(pendingSettings, path);
485
516
  const defaultValue = getDefaultValue(item.value);