@vybestack/llxprt-code 0.1.22 → 0.1.23-nightly.250823.4e884e4a

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 (97) hide show
  1. package/README.md +19 -0
  2. package/dist/package.json +3 -3
  3. package/dist/src/config/config.js +1 -0
  4. package/dist/src/config/config.js.map +1 -1
  5. package/dist/src/config/settings.d.ts +3 -0
  6. package/dist/src/config/settings.js +56 -39
  7. package/dist/src/config/settings.js.map +1 -1
  8. package/dist/src/config/settingsSchema.d.ts +24 -6
  9. package/dist/src/config/settingsSchema.js +24 -6
  10. package/dist/src/config/settingsSchema.js.map +1 -1
  11. package/dist/src/config/settingsSchema.test.js +1 -1
  12. package/dist/src/config/settingsSchema.test.js.map +1 -1
  13. package/dist/src/gemini.js +1 -1
  14. package/dist/src/gemini.js.map +1 -1
  15. package/dist/src/generated/git-commit.d.ts +1 -1
  16. package/dist/src/generated/git-commit.js +1 -1
  17. package/dist/src/nonInteractiveCli.js +1 -2
  18. package/dist/src/nonInteractiveCli.js.map +1 -1
  19. package/dist/src/providers/providerManagerInstance.d.ts +2 -1
  20. package/dist/src/providers/providerManagerInstance.js +27 -22
  21. package/dist/src/providers/providerManagerInstance.js.map +1 -1
  22. package/dist/src/services/BuiltinCommandLoader.js +2 -0
  23. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  24. package/dist/src/services/prompt-processors/shellProcessor.js +2 -10
  25. package/dist/src/services/prompt-processors/shellProcessor.js.map +1 -1
  26. package/dist/src/ui/App.js +4 -2
  27. package/dist/src/ui/App.js.map +1 -1
  28. package/dist/src/ui/commands/aboutCommand.js +2 -1
  29. package/dist/src/ui/commands/aboutCommand.js.map +1 -1
  30. package/dist/src/ui/commands/authCommand.js +3 -2
  31. package/dist/src/ui/commands/authCommand.js.map +1 -1
  32. package/dist/src/ui/commands/bugCommand.js +7 -1
  33. package/dist/src/ui/commands/bugCommand.js.map +1 -1
  34. package/dist/src/ui/commands/debugCommands.d.ts +22 -0
  35. package/dist/src/ui/commands/debugCommands.js +397 -0
  36. package/dist/src/ui/commands/debugCommands.js.map +1 -0
  37. package/dist/src/ui/commands/ideCommand.js +4 -7
  38. package/dist/src/ui/commands/ideCommand.js.map +1 -1
  39. package/dist/src/ui/commands/mcpCommand.js +6 -6
  40. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  41. package/dist/src/ui/components/AuthDialog.js +16 -5
  42. package/dist/src/ui/components/AuthDialog.js.map +1 -1
  43. package/dist/src/ui/components/InputPrompt.js +14 -13
  44. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  45. package/dist/src/ui/components/InputPrompt.paste.test.js +10 -4
  46. package/dist/src/ui/components/InputPrompt.paste.test.js.map +1 -1
  47. package/dist/src/ui/components/SettingsDialog.js +332 -62
  48. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  49. package/dist/src/ui/components/SettingsDialog.test.js +107 -94
  50. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  51. package/dist/src/ui/components/StatsDisplay.js +10 -5
  52. package/dist/src/ui/components/StatsDisplay.js.map +1 -1
  53. package/dist/src/ui/components/TodoPanel.js +34 -6
  54. package/dist/src/ui/components/TodoPanel.js.map +1 -1
  55. package/dist/src/ui/components/shared/text-buffer.js +4 -4
  56. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  57. package/dist/src/ui/contexts/KeypressContext.js +24 -25
  58. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  59. package/dist/src/ui/contexts/KeypressContext.test.js +36 -37
  60. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
  61. package/dist/src/ui/contexts/SessionContext.d.ts +3 -0
  62. package/dist/src/ui/contexts/SessionContext.js +1 -0
  63. package/dist/src/ui/contexts/SessionContext.js.map +1 -1
  64. package/dist/src/ui/hooks/atCommandProcessor.js +1 -1
  65. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  66. package/dist/src/ui/hooks/atCommandProcessor.test.js +10 -3
  67. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
  68. package/dist/src/ui/hooks/shellCommandProcessor.js +8 -13
  69. package/dist/src/ui/hooks/shellCommandProcessor.js.map +1 -1
  70. package/dist/src/ui/hooks/shellCommandProcessor.test.js +7 -5
  71. package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +1 -1
  72. package/dist/src/ui/hooks/slashCommandProcessor.js +17 -2
  73. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  74. package/dist/src/ui/hooks/useGeminiStream.js +28 -1
  75. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  76. package/dist/src/ui/hooks/usePrivacySettings.js +6 -2
  77. package/dist/src/ui/hooks/usePrivacySettings.js.map +1 -1
  78. package/dist/src/ui/hooks/usePrivacySettings.test.d.ts +6 -0
  79. package/dist/src/ui/hooks/usePrivacySettings.test.js +154 -0
  80. package/dist/src/ui/hooks/usePrivacySettings.test.js.map +1 -0
  81. package/dist/src/ui/hooks/useToolScheduler.test.js +2 -2
  82. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  83. package/dist/src/ui/utils/computeStats.js +3 -1
  84. package/dist/src/ui/utils/computeStats.js.map +1 -1
  85. package/dist/src/utils/settingsUtils.d.ts +8 -0
  86. package/dist/src/utils/settingsUtils.js +16 -7
  87. package/dist/src/utils/settingsUtils.js.map +1 -1
  88. package/dist/src/utils/settingsUtils.test.js +6 -6
  89. package/dist/src/utils/settingsUtils.test.js.map +1 -1
  90. package/dist/src/zed-integration/fileSystemService.d.ts +19 -0
  91. package/dist/src/zed-integration/fileSystemService.js +43 -0
  92. package/dist/src/zed-integration/fileSystemService.js.map +1 -0
  93. package/dist/src/zed-integration/schema.d.ts +16 -16
  94. package/dist/src/zed-integration/zedIntegration.js +17 -4
  95. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  96. package/dist/tsconfig.tsbuildinfo +1 -1
  97. package/package.json +3 -3
@@ -10,9 +10,11 @@ import { Colors } from '../colors.js';
10
10
  import { SettingScope, } from '../../config/settings.js';
11
11
  import { getScopeItems, getScopeMessageForSetting, } from '../../utils/dialogScopeUtils.js';
12
12
  import { RadioButtonSelect } from './shared/RadioButtonSelect.js';
13
- import { getDialogSettingKeys, getSettingValue, setPendingSettingValue, getDisplayValue, hasRestartRequiredSettings, saveModifiedSettings, getSettingDefinition, isDefaultValue, requiresRestart, getRestartRequiredFromModified, getDefaultValue, } from '../../utils/settingsUtils.js';
13
+ import { getDialogSettingKeys, getSettingValue, setPendingSettingValue, getDisplayValue, hasRestartRequiredSettings, saveModifiedSettings, getSettingDefinition, isDefaultValue, requiresRestart, getRestartRequiredFromModified, getDefaultValue, setPendingSettingValueAny, getNestedValue, } from '../../utils/settingsUtils.js';
14
14
  import { useVimMode } from '../contexts/VimModeContext.js';
15
15
  import { useKeypress } from '../hooks/useKeypress.js';
16
+ import chalk from 'chalk';
17
+ import { cpSlice, cpLen } from '../utils/textUtils.js';
16
18
  const maxItemsToShow = 8;
17
19
  export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
18
20
  // Get vim mode context to sync vim mode changes
@@ -32,48 +34,51 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
32
34
  structuredClone(settings.forScope(selectedScope).settings));
33
35
  // Track which settings have been modified by the user
34
36
  const [modifiedSettings, setModifiedSettings] = useState(new Set());
35
- // Track the intended values for modified settings
36
- const [modifiedValues, setModifiedValues] = useState(new Map());
37
+ const [globalPendingChanges, setGlobalPendingChanges] = useState(new Map());
37
38
  // Track restart-required settings across scope changes
38
- const [restartRequiredSettings, setRestartRequiredSettings] = useState(new Set());
39
+ const [_restartRequiredSettings, setRestartRequiredSettings] = useState(new Set());
39
40
  useEffect(() => {
40
- setPendingSettings(structuredClone(settings.forScope(selectedScope).settings));
41
- // Don't reset modifiedSettings when scope changes - preserve user's pending changes
42
- if (restartRequiredSettings.size === 0) {
43
- setShowRestartPrompt(false);
44
- }
45
- }, [selectedScope, settings, restartRequiredSettings]);
46
- // Preserve pending changes when scope changes
47
- useEffect(() => {
48
- if (modifiedSettings.size > 0) {
49
- setPendingSettings((prevPending) => {
50
- let updatedPending = { ...prevPending };
51
- // Reapply all modified settings to the new pending settings using stored values
52
- modifiedSettings.forEach((key) => {
53
- const storedValue = modifiedValues.get(key);
54
- if (storedValue !== undefined) {
55
- updatedPending = setPendingSettingValue(key, storedValue, updatedPending);
56
- }
57
- });
58
- return updatedPending;
59
- });
41
+ // Base settings for selected scope
42
+ let updated = structuredClone(settings.forScope(selectedScope).settings);
43
+ // Overlay globally pending (unsaved) changes so user sees their modifications in any scope
44
+ const newModified = new Set();
45
+ const newRestartRequired = new Set();
46
+ for (const [key, value] of globalPendingChanges.entries()) {
47
+ const def = getSettingDefinition(key);
48
+ if (def?.type === 'boolean' && typeof value === 'boolean') {
49
+ updated = setPendingSettingValue(key, value, updated);
50
+ }
51
+ else if (def?.type === 'number' && typeof value === 'number') {
52
+ updated = setPendingSettingValueAny(key, value, updated);
53
+ }
54
+ newModified.add(key);
55
+ if (requiresRestart(key))
56
+ newRestartRequired.add(key);
60
57
  }
61
- }, [selectedScope, modifiedSettings, modifiedValues, settings]);
58
+ setPendingSettings(updated);
59
+ setModifiedSettings(newModified);
60
+ setRestartRequiredSettings(newRestartRequired);
61
+ setShowRestartPrompt(newRestartRequired.size > 0);
62
+ }, [selectedScope, settings, globalPendingChanges]);
62
63
  const generateSettingsItems = () => {
63
64
  const settingKeys = getDialogSettingKeys();
64
65
  return settingKeys.map((key) => {
65
- const currentValue = getSettingValue(key, pendingSettings, {});
66
66
  const definition = getSettingDefinition(key);
67
67
  return {
68
68
  label: definition?.label || key,
69
69
  value: key,
70
- checked: currentValue,
70
+ type: definition?.type,
71
71
  toggle: () => {
72
+ if (definition?.type !== 'boolean') {
73
+ // For non-boolean (e.g., number) items, toggle will be handled via edit mode.
74
+ return;
75
+ }
76
+ const currentValue = getSettingValue(key, pendingSettings, {});
72
77
  const newValue = !currentValue;
73
78
  setPendingSettings((prev) => setPendingSettingValue(key, newValue, prev));
74
79
  if (!requiresRestart(key)) {
75
80
  const immediateSettings = new Set([key]);
76
- const immediateSettingsObject = setPendingSettingValue(key, newValue, {});
81
+ const immediateSettingsObject = setPendingSettingValueAny(key, newValue, {});
77
82
  console.log(`[DEBUG SettingsDialog] Saving ${key} immediately with value:`, newValue);
78
83
  saveModifiedSettings(immediateSettings, immediateSettingsObject, settings, selectedScope);
79
84
  // Special handling for vim mode to sync with VimModeContext
@@ -83,46 +88,31 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
83
88
  console.error('Failed to toggle vim mode:', error);
84
89
  });
85
90
  }
86
- // Capture the current modified settings before updating state
87
- const currentModifiedSettings = new Set(modifiedSettings);
88
- // Remove the saved setting from modifiedSettings since it's now saved
91
+ // Remove from modifiedSettings since it's now saved
89
92
  setModifiedSettings((prev) => {
90
93
  const updated = new Set(prev);
91
94
  updated.delete(key);
92
95
  return updated;
93
96
  });
94
- // Remove from modifiedValues as well
95
- setModifiedValues((prev) => {
96
- const updated = new Map(prev);
97
- updated.delete(key);
98
- return updated;
99
- });
100
97
  // Also remove from restart-required settings if it was there
101
98
  setRestartRequiredSettings((prev) => {
102
99
  const updated = new Set(prev);
103
100
  updated.delete(key);
104
101
  return updated;
105
102
  });
106
- setPendingSettings((_prevPending) => {
107
- let updatedPending = structuredClone(settings.forScope(selectedScope).settings);
108
- currentModifiedSettings.forEach((modifiedKey) => {
109
- if (modifiedKey !== key) {
110
- const modifiedValue = modifiedValues.get(modifiedKey);
111
- if (modifiedValue !== undefined) {
112
- updatedPending = setPendingSettingValue(modifiedKey, modifiedValue, updatedPending);
113
- }
114
- }
115
- });
116
- return updatedPending;
103
+ // Remove from global pending changes if present
104
+ setGlobalPendingChanges((prev) => {
105
+ if (!prev.has(key))
106
+ return prev;
107
+ const next = new Map(prev);
108
+ next.delete(key);
109
+ return next;
117
110
  });
111
+ // Refresh pending settings from the saved state
112
+ setPendingSettings(structuredClone(settings.forScope(selectedScope).settings));
118
113
  }
119
114
  else {
120
- // For restart-required settings, store the actual value
121
- setModifiedValues((prev) => {
122
- const updated = new Map(prev);
123
- updated.set(key, newValue);
124
- return updated;
125
- });
115
+ // For restart-required settings, track as modified
126
116
  setModifiedSettings((prev) => {
127
117
  const updated = new Set(prev).add(key);
128
118
  const needsRestart = hasRestartRequiredSettings(updated);
@@ -133,12 +123,101 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
133
123
  }
134
124
  return updated;
135
125
  });
126
+ // Add/update pending change globally so it persists across scopes
127
+ setGlobalPendingChanges((prev) => {
128
+ const next = new Map(prev);
129
+ next.set(key, newValue);
130
+ return next;
131
+ });
136
132
  }
137
133
  },
138
134
  };
139
135
  });
140
136
  };
141
137
  const items = generateSettingsItems();
138
+ // Number edit state
139
+ const [editingKey, setEditingKey] = useState(null);
140
+ const [editBuffer, setEditBuffer] = useState('');
141
+ const [editCursorPos, setEditCursorPos] = useState(0); // Cursor position within edit buffer
142
+ const [cursorVisible, setCursorVisible] = useState(true);
143
+ useEffect(() => {
144
+ if (!editingKey) {
145
+ setCursorVisible(true);
146
+ return;
147
+ }
148
+ const id = setInterval(() => setCursorVisible((v) => !v), 500);
149
+ return () => clearInterval(id);
150
+ }, [editingKey]);
151
+ const startEditingNumber = (key, initial) => {
152
+ setEditingKey(key);
153
+ const initialValue = initial ?? '';
154
+ setEditBuffer(initialValue);
155
+ setEditCursorPos(cpLen(initialValue)); // Position cursor at end of initial value
156
+ };
157
+ const commitNumberEdit = (key) => {
158
+ if (editBuffer.trim() === '') {
159
+ // Nothing entered; cancel edit
160
+ setEditingKey(null);
161
+ setEditBuffer('');
162
+ setEditCursorPos(0);
163
+ return;
164
+ }
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;
172
+ }
173
+ // Update pending
174
+ setPendingSettings((prev) => setPendingSettingValueAny(key, parsed, prev));
175
+ if (!requiresRestart(key)) {
176
+ const immediateSettings = new Set([key]);
177
+ const immediateSettingsObject = setPendingSettingValueAny(key, parsed, {});
178
+ saveModifiedSettings(immediateSettings, immediateSettingsObject, settings, selectedScope);
179
+ // Remove from modified sets if present
180
+ setModifiedSettings((prev) => {
181
+ const updated = new Set(prev);
182
+ updated.delete(key);
183
+ return updated;
184
+ });
185
+ setRestartRequiredSettings((prev) => {
186
+ const updated = new Set(prev);
187
+ updated.delete(key);
188
+ return updated;
189
+ });
190
+ // Remove from global pending since it's immediately saved
191
+ setGlobalPendingChanges((prev) => {
192
+ if (!prev.has(key))
193
+ return prev;
194
+ const next = new Map(prev);
195
+ next.delete(key);
196
+ return next;
197
+ });
198
+ }
199
+ else {
200
+ // Mark as modified and needing restart
201
+ setModifiedSettings((prev) => {
202
+ const updated = new Set(prev).add(key);
203
+ const needsRestart = hasRestartRequiredSettings(updated);
204
+ if (needsRestart) {
205
+ setShowRestartPrompt(true);
206
+ setRestartRequiredSettings((prevRestart) => new Set(prevRestart).add(key));
207
+ }
208
+ return updated;
209
+ });
210
+ // Record pending change globally for persistence across scopes
211
+ setGlobalPendingChanges((prev) => {
212
+ const next = new Map(prev);
213
+ next.set(key, parsed);
214
+ return next;
215
+ });
216
+ }
217
+ setEditingKey(null);
218
+ setEditBuffer('');
219
+ setEditCursorPos(0);
220
+ };
142
221
  // Scope selector items
143
222
  const scopeItems = getScopeItems();
144
223
  const handleScopeHighlight = useCallback((scope) => {
@@ -159,7 +238,84 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
159
238
  setFocusSection((prev) => (prev === 'settings' ? 'scope' : 'settings'));
160
239
  }
161
240
  if (focusSection === 'settings') {
241
+ // If editing a number, capture numeric input and control keys
242
+ if (editingKey) {
243
+ if (key.paste && key.sequence) {
244
+ const pasted = key.sequence.replace(/[^0-9\-+.]/g, '');
245
+ if (pasted) {
246
+ setEditBuffer((b) => {
247
+ const before = cpSlice(b, 0, editCursorPos);
248
+ const after = cpSlice(b, editCursorPos);
249
+ return before + pasted + after;
250
+ });
251
+ setEditCursorPos((pos) => pos + cpLen(pasted));
252
+ }
253
+ return;
254
+ }
255
+ if (name === 'backspace' || name === 'delete') {
256
+ if (name === 'backspace' && editCursorPos > 0) {
257
+ setEditBuffer((b) => {
258
+ const before = cpSlice(b, 0, editCursorPos - 1);
259
+ const after = cpSlice(b, editCursorPos);
260
+ return before + after;
261
+ });
262
+ setEditCursorPos((pos) => pos - 1);
263
+ }
264
+ else if (name === 'delete' && editCursorPos < cpLen(editBuffer)) {
265
+ setEditBuffer((b) => {
266
+ const before = cpSlice(b, 0, editCursorPos);
267
+ const after = cpSlice(b, editCursorPos + 1);
268
+ return before + after;
269
+ });
270
+ // Cursor position stays the same for delete
271
+ }
272
+ return;
273
+ }
274
+ if (name === 'escape') {
275
+ commitNumberEdit(editingKey);
276
+ return;
277
+ }
278
+ if (name === 'return') {
279
+ commitNumberEdit(editingKey);
280
+ return;
281
+ }
282
+ // Allow digits, minus, plus, and dot
283
+ const ch = key.sequence;
284
+ if (/[0-9\-+.]/.test(ch)) {
285
+ setEditBuffer((currentBuffer) => {
286
+ const beforeCursor = cpSlice(currentBuffer, 0, editCursorPos);
287
+ const afterCursor = cpSlice(currentBuffer, editCursorPos);
288
+ return beforeCursor + ch + afterCursor;
289
+ });
290
+ setEditCursorPos((pos) => pos + 1);
291
+ return;
292
+ }
293
+ // Arrow key navigation
294
+ if (name === 'left') {
295
+ setEditCursorPos((pos) => Math.max(0, pos - 1));
296
+ return;
297
+ }
298
+ if (name === 'right') {
299
+ setEditCursorPos((pos) => Math.min(cpLen(editBuffer), pos + 1));
300
+ return;
301
+ }
302
+ // Home and End keys
303
+ if (name === 'home') {
304
+ setEditCursorPos(0);
305
+ return;
306
+ }
307
+ if (name === 'end') {
308
+ setEditCursorPos(cpLen(editBuffer));
309
+ return;
310
+ }
311
+ // Block other keys while editing
312
+ return;
313
+ }
162
314
  if (name === 'up' || name === 'k') {
315
+ // If editing, commit first
316
+ if (editingKey) {
317
+ commitNumberEdit(editingKey);
318
+ }
163
319
  const newIndex = activeSettingIndex > 0 ? activeSettingIndex - 1 : items.length - 1;
164
320
  setActiveSettingIndex(newIndex);
165
321
  // Adjust scroll offset for wrap-around
@@ -171,6 +327,10 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
171
327
  }
172
328
  }
173
329
  else if (name === 'down' || name === 'j') {
330
+ // If editing, commit first
331
+ if (editingKey) {
332
+ commitNumberEdit(editingKey);
333
+ }
174
334
  const newIndex = activeSettingIndex < items.length - 1 ? activeSettingIndex + 1 : 0;
175
335
  setActiveSettingIndex(newIndex);
176
336
  // Adjust scroll offset for wrap-around
@@ -182,17 +342,35 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
182
342
  }
183
343
  }
184
344
  else if (name === 'return' || name === 'space') {
185
- items[activeSettingIndex]?.toggle();
345
+ const currentItem = items[activeSettingIndex];
346
+ if (currentItem?.type === 'number') {
347
+ startEditingNumber(currentItem.value);
348
+ }
349
+ else {
350
+ currentItem?.toggle();
351
+ }
352
+ }
353
+ else if (/^[0-9]$/.test(key.sequence || '') && !editingKey) {
354
+ const currentItem = items[activeSettingIndex];
355
+ if (currentItem?.type === 'number') {
356
+ startEditingNumber(currentItem.value, key.sequence);
357
+ }
186
358
  }
187
359
  else if (ctrl && (name === 'c' || name === 'l')) {
188
360
  // Ctrl+C or Ctrl+L: Clear current setting and reset to default
189
361
  const currentSetting = items[activeSettingIndex];
190
362
  if (currentSetting) {
191
363
  const defaultValue = getDefaultValue(currentSetting.value);
192
- // Ensure defaultValue is a boolean for setPendingSettingValue
193
- const booleanDefaultValue = typeof defaultValue === 'boolean' ? defaultValue : false;
194
- // Update pending settings to default value
195
- setPendingSettings((prev) => setPendingSettingValue(currentSetting.value, booleanDefaultValue, prev));
364
+ const defType = currentSetting.type;
365
+ if (defType === 'boolean') {
366
+ const booleanDefaultValue = typeof defaultValue === 'boolean' ? defaultValue : false;
367
+ setPendingSettings((prev) => setPendingSettingValue(currentSetting.value, booleanDefaultValue, prev));
368
+ }
369
+ else if (defType === 'number') {
370
+ if (typeof defaultValue === 'number') {
371
+ setPendingSettings((prev) => setPendingSettingValueAny(currentSetting.value, defaultValue, prev));
372
+ }
373
+ }
196
374
  // Remove from modified settings since it's now at default
197
375
  setModifiedSettings((prev) => {
198
376
  const updated = new Set(prev);
@@ -208,8 +386,38 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
208
386
  // If this setting doesn't require restart, save it immediately
209
387
  if (!requiresRestart(currentSetting.value)) {
210
388
  const immediateSettings = new Set([currentSetting.value]);
211
- const immediateSettingsObject = setPendingSettingValue(currentSetting.value, booleanDefaultValue, {});
389
+ const toSaveValue = currentSetting.type === 'boolean'
390
+ ? typeof defaultValue === 'boolean'
391
+ ? defaultValue
392
+ : false
393
+ : typeof defaultValue === 'number'
394
+ ? defaultValue
395
+ : undefined;
396
+ const immediateSettingsObject = toSaveValue !== undefined
397
+ ? setPendingSettingValueAny(currentSetting.value, toSaveValue, {})
398
+ : {};
212
399
  saveModifiedSettings(immediateSettings, immediateSettingsObject, settings, selectedScope);
400
+ // Remove from global pending changes if present
401
+ setGlobalPendingChanges((prev) => {
402
+ if (!prev.has(currentSetting.value))
403
+ return prev;
404
+ const next = new Map(prev);
405
+ next.delete(currentSetting.value);
406
+ return next;
407
+ });
408
+ }
409
+ else {
410
+ // Track default reset as a pending change if restart required
411
+ if ((currentSetting.type === 'boolean' &&
412
+ typeof defaultValue === 'boolean') ||
413
+ (currentSetting.type === 'number' &&
414
+ typeof defaultValue === 'number')) {
415
+ setGlobalPendingChanges((prev) => {
416
+ const next = new Map(prev);
417
+ next.set(currentSetting.value, defaultValue);
418
+ return next;
419
+ });
420
+ }
213
421
  }
214
422
  }
215
423
  }
@@ -220,6 +428,16 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
220
428
  const restartRequiredSet = new Set(restartRequiredSettings);
221
429
  if (restartRequiredSet.size > 0) {
222
430
  saveModifiedSettings(restartRequiredSet, pendingSettings, settings, selectedScope);
431
+ // Remove saved keys from global pending changes
432
+ setGlobalPendingChanges((prev) => {
433
+ if (prev.size === 0)
434
+ return prev;
435
+ const next = new Map(prev);
436
+ for (const key of restartRequiredSet) {
437
+ next.delete(key);
438
+ }
439
+ return next;
440
+ });
223
441
  }
224
442
  setShowRestartPrompt(false);
225
443
  setRestartRequiredSettings(new Set()); // Clear restart-required settings
@@ -227,7 +445,12 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
227
445
  onRestartRequest();
228
446
  }
229
447
  if (name === 'escape') {
230
- onSelect(undefined, selectedScope);
448
+ if (editingKey) {
449
+ commitNumberEdit(editingKey);
450
+ }
451
+ else {
452
+ onSelect(undefined, selectedScope);
453
+ }
231
454
  }
232
455
  }, { isActive: true });
233
456
  return (_jsx(Box, { borderStyle: "round", borderColor: Colors.Gray, flexDirection: "row", padding: 1, width: "100%", height: "100%", children: _jsxs(Box, { flexDirection: "column", flexGrow: 1, children: [_jsx(Text, { bold: true, color: Colors.AccentBlue, children: "Settings" }), _jsx(Box, { height: 1 }), showScrollUp && _jsx(Text, { color: Colors.Gray, children: "\u25B2" }), visibleItems.map((item, idx) => {
@@ -235,7 +458,54 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
235
458
  activeSettingIndex === idx + scrollOffset;
236
459
  const scopeSettings = settings.forScope(selectedScope).settings;
237
460
  const mergedSettings = settings.merged;
238
- const displayValue = getDisplayValue(item.value, scopeSettings, mergedSettings, modifiedSettings, pendingSettings);
461
+ let displayValue;
462
+ if (editingKey === item.value) {
463
+ // Show edit buffer with advanced cursor highlighting
464
+ if (cursorVisible && editCursorPos < cpLen(editBuffer)) {
465
+ // Cursor is in the middle or at start of text
466
+ const beforeCursor = cpSlice(editBuffer, 0, editCursorPos);
467
+ const atCursor = cpSlice(editBuffer, editCursorPos, editCursorPos + 1);
468
+ const afterCursor = cpSlice(editBuffer, editCursorPos + 1);
469
+ displayValue =
470
+ beforeCursor + chalk.inverse(atCursor) + afterCursor;
471
+ }
472
+ else if (cursorVisible && editCursorPos >= cpLen(editBuffer)) {
473
+ // Cursor is at the end - show inverted space
474
+ displayValue = editBuffer + chalk.inverse(' ');
475
+ }
476
+ else {
477
+ // Cursor not visible
478
+ displayValue = editBuffer;
479
+ }
480
+ }
481
+ else if (item.type === 'number') {
482
+ // For numbers, get the actual current value from pending settings
483
+ const path = item.value.split('.');
484
+ const currentValue = getNestedValue(pendingSettings, path);
485
+ const defaultValue = getDefaultValue(item.value);
486
+ if (currentValue !== undefined && currentValue !== null) {
487
+ displayValue = String(currentValue);
488
+ }
489
+ else {
490
+ displayValue =
491
+ defaultValue !== undefined && defaultValue !== null
492
+ ? String(defaultValue)
493
+ : '';
494
+ }
495
+ // Add * if value differs from default OR if currently being modified
496
+ const isModified = modifiedSettings.has(item.value);
497
+ const effectiveCurrentValue = currentValue !== undefined && currentValue !== null
498
+ ? currentValue
499
+ : defaultValue;
500
+ const isDifferentFromDefault = effectiveCurrentValue !== defaultValue;
501
+ if (isDifferentFromDefault || isModified) {
502
+ displayValue += '*';
503
+ }
504
+ }
505
+ else {
506
+ // For booleans and other types, use existing logic
507
+ displayValue = getDisplayValue(item.value, scopeSettings, mergedSettings, modifiedSettings, pendingSettings);
508
+ }
239
509
  const shouldBeGreyedOut = isDefaultValue(item.value, scopeSettings);
240
510
  // Generate scope message for this setting
241
511
  const scopeMessage = getScopeMessageForSetting(item.value, selectedScope, settings);
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsDialog.js","sourceRoot":"","sources":["../../../../src/ui/components/SettingsDialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SettingsDialog.js","sourceRoot":"","sources":["../../../../src/ui/components/SettingsDialog.tsx"],"names":[],"mappings":"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"}