@google/gemini-cli 0.5.0-nightly.20250908.4693137b → 0.5.0-preview

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 (90) hide show
  1. package/dist/package.json +2 -2
  2. package/dist/src/commands/extensions/install.js +5 -12
  3. package/dist/src/commands/extensions/install.js.map +1 -1
  4. package/dist/src/commands/extensions/install.test.js +1 -16
  5. package/dist/src/commands/extensions/install.test.js.map +1 -1
  6. package/dist/src/config/config.js +1 -0
  7. package/dist/src/config/config.js.map +1 -1
  8. package/dist/src/config/extension.d.ts +1 -0
  9. package/dist/src/config/extension.js +70 -46
  10. package/dist/src/config/extension.js.map +1 -1
  11. package/dist/src/config/settings.js +2 -2
  12. package/dist/src/config/settings.js.map +1 -1
  13. package/dist/src/config/settingsSchema.d.ts +31 -6
  14. package/dist/src/config/settingsSchema.js +24 -3
  15. package/dist/src/config/settingsSchema.js.map +1 -1
  16. package/dist/src/config/settingsSchema.test.js +62 -55
  17. package/dist/src/config/settingsSchema.test.js.map +1 -1
  18. package/dist/src/gemini.js +4 -37
  19. package/dist/src/gemini.js.map +1 -1
  20. package/dist/src/generated/git-commit.d.ts +2 -2
  21. package/dist/src/generated/git-commit.js +2 -2
  22. package/dist/src/generated/git-commit.js.map +1 -1
  23. package/dist/src/nonInteractiveCli.js +75 -73
  24. package/dist/src/nonInteractiveCli.js.map +1 -1
  25. package/dist/src/ui/AppContainer.js +40 -136
  26. package/dist/src/ui/AppContainer.js.map +1 -1
  27. package/dist/src/ui/AppContainer.test.js +199 -16
  28. package/dist/src/ui/AppContainer.test.js.map +1 -1
  29. package/dist/src/ui/components/AppHeader.js +5 -2
  30. package/dist/src/ui/components/AppHeader.js.map +1 -1
  31. package/dist/src/ui/components/Composer.js +2 -1
  32. package/dist/src/ui/components/Composer.js.map +1 -1
  33. package/dist/src/ui/components/ConfigInitDisplay.d.ts +6 -0
  34. package/dist/src/ui/components/ConfigInitDisplay.js +37 -0
  35. package/dist/src/ui/components/ConfigInitDisplay.js.map +1 -0
  36. package/dist/src/ui/components/DialogManager.js +2 -3
  37. package/dist/src/ui/components/DialogManager.js.map +1 -1
  38. package/dist/src/ui/components/GeminiRespondingSpinner.d.ts +5 -0
  39. package/dist/src/ui/components/GeminiRespondingSpinner.js +5 -1
  40. package/dist/src/ui/components/GeminiRespondingSpinner.js.map +1 -1
  41. package/dist/src/ui/components/ProQuotaDialog.d.ts +2 -2
  42. package/dist/src/ui/components/ProQuotaDialog.js +2 -2
  43. package/dist/src/ui/components/ProQuotaDialog.js.map +1 -1
  44. package/dist/src/ui/components/ProQuotaDialog.test.js +3 -3
  45. package/dist/src/ui/components/ProQuotaDialog.test.js.map +1 -1
  46. package/dist/src/ui/components/SettingsDialog.js +20 -5
  47. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  48. package/dist/src/ui/components/SettingsDialog.test.js +144 -79
  49. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  50. package/dist/src/ui/components/ThemeDialog.js +10 -27
  51. package/dist/src/ui/components/ThemeDialog.js.map +1 -1
  52. package/dist/src/ui/components/ThemeDialog.test.d.ts +6 -0
  53. package/dist/src/ui/components/ThemeDialog.test.js +65 -0
  54. package/dist/src/ui/components/ThemeDialog.test.js.map +1 -0
  55. package/dist/src/ui/components/shared/EnumSelector.d.ts +18 -0
  56. package/dist/src/ui/components/shared/EnumSelector.js +44 -0
  57. package/dist/src/ui/components/shared/EnumSelector.js.map +1 -0
  58. package/dist/src/ui/components/shared/EnumSelector.test.d.ts +6 -0
  59. package/dist/src/ui/components/shared/EnumSelector.test.js +70 -0
  60. package/dist/src/ui/components/shared/EnumSelector.test.js.map +1 -0
  61. package/dist/src/ui/components/shared/ScopeSelector.d.ts +19 -0
  62. package/dist/src/ui/components/shared/ScopeSelector.js +11 -0
  63. package/dist/src/ui/components/shared/ScopeSelector.js.map +1 -0
  64. package/dist/src/ui/contexts/UIStateContext.d.ts +8 -2
  65. package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
  66. package/dist/src/ui/hooks/useFolderTrust.d.ts +1 -2
  67. package/dist/src/ui/hooks/useFolderTrust.js +21 -8
  68. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
  69. package/dist/src/ui/hooks/useGeminiStream.js +36 -34
  70. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  71. package/dist/src/ui/hooks/useMessageQueue.d.ts +2 -1
  72. package/dist/src/ui/hooks/useMessageQueue.js +5 -3
  73. package/dist/src/ui/hooks/useMessageQueue.js.map +1 -1
  74. package/dist/src/ui/hooks/useMessageQueue.test.js +9 -0
  75. package/dist/src/ui/hooks/useMessageQueue.test.js.map +1 -1
  76. package/dist/src/ui/hooks/useQuotaAndFallback.d.ts +21 -0
  77. package/dist/src/ui/hooks/useQuotaAndFallback.js +122 -0
  78. package/dist/src/ui/hooks/useQuotaAndFallback.js.map +1 -0
  79. package/dist/src/ui/hooks/useQuotaAndFallback.test.d.ts +6 -0
  80. package/dist/src/ui/hooks/useQuotaAndFallback.test.js +269 -0
  81. package/dist/src/ui/hooks/useQuotaAndFallback.test.js.map +1 -0
  82. package/dist/src/utils/settingsUtils.d.ts +16 -6
  83. package/dist/src/utils/settingsUtils.js +35 -25
  84. package/dist/src/utils/settingsUtils.js.map +1 -1
  85. package/dist/src/utils/settingsUtils.test.js +418 -156
  86. package/dist/src/utils/settingsUtils.test.js.map +1 -1
  87. package/dist/src/zed-integration/schema.d.ts +4 -4
  88. package/dist/tsconfig.tsbuildinfo +1 -1
  89. package/package.json +3 -3
  90. package/dist/google-gemini-cli-0.3.4.tgz +0 -0
@@ -24,12 +24,25 @@ import { render } from 'ink-testing-library';
24
24
  import { waitFor } from '@testing-library/react';
25
25
  import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
26
26
  import { SettingsDialog } from './SettingsDialog.js';
27
- import { LoadedSettings } from '../../config/settings.js';
27
+ import { LoadedSettings, SettingScope } from '../../config/settings.js';
28
28
  import { VimModeProvider } from '../contexts/VimModeContext.js';
29
29
  import { KeypressProvider } from '../contexts/KeypressContext.js';
30
+ import { act } from 'react';
31
+ import { saveModifiedSettings, TEST_ONLY } from '../../utils/settingsUtils.js';
32
+ import { getSettingsSchema, } from '../../config/settingsSchema.js';
30
33
  // Mock the VimModeContext
31
34
  const mockToggleVimEnabled = vi.fn();
32
35
  const mockSetVimMode = vi.fn();
36
+ var TerminalKeys;
37
+ (function (TerminalKeys) {
38
+ TerminalKeys["ENTER"] = "\r";
39
+ TerminalKeys["TAB"] = "\t";
40
+ TerminalKeys["UP_ARROW"] = "\u001B[A";
41
+ TerminalKeys["DOWN_ARROW"] = "\u001B[B";
42
+ TerminalKeys["LEFT_ARROW"] = "\u001B[D";
43
+ TerminalKeys["RIGHT_ARROW"] = "\u001B[C";
44
+ TerminalKeys["ESCAPE"] = "\u001B";
45
+ })(TerminalKeys || (TerminalKeys = {}));
33
46
  const createMockSettings = (userSettings = {}, systemSettings = {}, workspaceSettings = {}) => new LoadedSettings({
34
47
  settings: { ui: { customThemes: {} }, mcpServers: {}, ...systemSettings },
35
48
  path: '/system/settings.json',
@@ -51,26 +64,11 @@ const createMockSettings = (userSettings = {}, systemSettings = {}, workspaceSet
51
64
  },
52
65
  path: '/workspace/settings.json',
53
66
  }, true, new Set());
54
- vi.mock('../contexts/SettingsContext.js', async () => {
55
- const actual = await vi.importActual('../contexts/SettingsContext.js');
56
- let settings = createMockSettings({ 'a.string.setting': 'initial' });
67
+ vi.mock('../../config/settingsSchema.js', async (importOriginal) => {
68
+ const original = await importOriginal();
57
69
  return {
58
- ...actual,
59
- useSettings: () => ({
60
- settings,
61
- setSetting: (key, value) => {
62
- settings = createMockSettings({ [key]: value });
63
- },
64
- getSettingDefinition: (key) => {
65
- if (key === 'a.string.setting') {
66
- return {
67
- type: 'string',
68
- description: 'A string setting',
69
- };
70
- }
71
- return undefined;
72
- },
73
- }),
70
+ ...original,
71
+ getSettingsSchema: vi.fn(original.getSettingsSchema),
74
72
  };
75
73
  });
76
74
  vi.mock('../contexts/VimModeContext.js', async () => {
@@ -114,7 +112,6 @@ vi.mock('../../utils/settingsUtils.js', async () => {
114
112
  describe('SettingsDialog', () => {
115
113
  const wait = (ms = 50) => new Promise((resolve) => setTimeout(resolve, ms));
116
114
  beforeEach(() => {
117
- vi.clearAllMocks();
118
115
  // Reset keypress mock state (variables are commented out)
119
116
  // currentKeypressHandler = null;
120
117
  // isKeypressActive = false;
@@ -123,37 +120,15 @@ describe('SettingsDialog', () => {
123
120
  mockToggleVimEnabled.mockResolvedValue(true);
124
121
  });
125
122
  afterEach(() => {
123
+ TEST_ONLY.clearFlattenedSchema();
124
+ vi.clearAllMocks();
125
+ vi.resetAllMocks();
126
126
  // Reset keypress mock state (variables are commented out)
127
127
  // currentKeypressHandler = null;
128
128
  // isKeypressActive = false;
129
129
  // console.log = originalConsoleLog;
130
130
  // console.error = originalConsoleError;
131
131
  });
132
- const createMockSettings = (userSettings = {}, systemSettings = {}, workspaceSettings = {}) => new LoadedSettings({
133
- settings: {
134
- ui: { customThemes: {} },
135
- mcpServers: {},
136
- ...systemSettings,
137
- },
138
- path: '/system/settings.json',
139
- }, {
140
- settings: {},
141
- path: '/system/system-defaults.json',
142
- }, {
143
- settings: {
144
- ui: { customThemes: {} },
145
- mcpServers: {},
146
- ...userSettings,
147
- },
148
- path: '/user/settings.json',
149
- }, {
150
- settings: {
151
- ui: { customThemes: {} },
152
- mcpServers: {},
153
- ...workspaceSettings,
154
- },
155
- path: '/workspace/settings.json',
156
- }, true, new Set());
157
132
  describe('Initial Rendering', () => {
158
133
  it('should render the settings dialog with default state', () => {
159
134
  const settings = createMockSettings();
@@ -185,10 +160,12 @@ describe('SettingsDialog', () => {
185
160
  it('should navigate down with arrow key', async () => {
186
161
  const settings = createMockSettings();
187
162
  const onSelect = vi.fn();
188
- const { stdin, unmount } = render(_jsx(KeypressProvider, { kittyProtocolEnabled: false, children: _jsx(SettingsDialog, { settings: settings, onSelect: onSelect }) }));
163
+ const { stdin, unmount, lastFrame } = render(_jsx(KeypressProvider, { kittyProtocolEnabled: false, children: _jsx(SettingsDialog, { settings: settings, onSelect: onSelect }) }));
189
164
  // Press down arrow
190
- stdin.write('\u001B[B'); // Down arrow
191
- await wait();
165
+ act(() => {
166
+ stdin.write(TerminalKeys.DOWN_ARROW); // Down arrow
167
+ });
168
+ expect(lastFrame()).toContain('● Disable Auto Update');
192
169
  // The active index should have changed (tested indirectly through behavior)
193
170
  unmount();
194
171
  });
@@ -197,9 +174,9 @@ describe('SettingsDialog', () => {
197
174
  const onSelect = vi.fn();
198
175
  const { stdin, unmount } = render(_jsx(KeypressProvider, { kittyProtocolEnabled: false, children: _jsx(SettingsDialog, { settings: settings, onSelect: onSelect }) }));
199
176
  // First go down, then up
200
- stdin.write('\u001B[B'); // Down arrow
177
+ stdin.write(TerminalKeys.DOWN_ARROW); // Down arrow
201
178
  await wait();
202
- stdin.write('\u001B[A'); // Up arrow
179
+ stdin.write(TerminalKeys.UP_ARROW);
203
180
  await wait();
204
181
  unmount();
205
182
  });
@@ -214,14 +191,16 @@ describe('SettingsDialog', () => {
214
191
  await wait();
215
192
  unmount();
216
193
  });
217
- it('should not navigate beyond bounds', async () => {
194
+ it('wraps around when at the top of the list', async () => {
218
195
  const settings = createMockSettings();
219
196
  const onSelect = vi.fn();
220
- const { stdin, unmount } = render(_jsx(KeypressProvider, { kittyProtocolEnabled: false, children: _jsx(SettingsDialog, { settings: settings, onSelect: onSelect }) }));
197
+ const { stdin, unmount, lastFrame } = render(_jsx(KeypressProvider, { kittyProtocolEnabled: false, children: _jsx(SettingsDialog, { settings: settings, onSelect: onSelect }) }));
221
198
  // Try to go up from first item
222
- stdin.write('\u001B[A'); // Up arrow
199
+ act(() => {
200
+ stdin.write(TerminalKeys.UP_ARROW);
201
+ });
223
202
  await wait();
224
- // Should still be on first item
203
+ expect(lastFrame()).toContain('● Folder Trust');
225
204
  unmount();
226
205
  });
227
206
  });
@@ -229,12 +208,98 @@ describe('SettingsDialog', () => {
229
208
  it('should toggle setting with Enter key', async () => {
230
209
  const settings = createMockSettings();
231
210
  const onSelect = vi.fn();
232
- const { stdin, unmount } = render(_jsx(KeypressProvider, { kittyProtocolEnabled: false, children: _jsx(SettingsDialog, { settings: settings, onSelect: onSelect }) }));
211
+ const component = (_jsx(KeypressProvider, { kittyProtocolEnabled: false, children: _jsx(SettingsDialog, { settings: settings, onSelect: onSelect }) }));
212
+ const { stdin, unmount } = render(component);
233
213
  // Press Enter to toggle current setting
234
- stdin.write('\u000D'); // Enter key
214
+ stdin.write(TerminalKeys.DOWN_ARROW);
215
+ await wait();
216
+ stdin.write(TerminalKeys.ENTER);
235
217
  await wait();
218
+ expect(vi.mocked(saveModifiedSettings)).toHaveBeenCalledWith(new Set(['general.disableAutoUpdate']), {
219
+ general: {
220
+ disableAutoUpdate: true,
221
+ },
222
+ }, expect.any(LoadedSettings), SettingScope.User);
236
223
  unmount();
237
224
  });
225
+ describe('enum values', () => {
226
+ let StringEnum;
227
+ (function (StringEnum) {
228
+ StringEnum["FOO"] = "foo";
229
+ StringEnum["BAR"] = "bar";
230
+ StringEnum["BAZ"] = "baz";
231
+ })(StringEnum || (StringEnum = {}));
232
+ const SETTING = {
233
+ type: 'enum',
234
+ label: 'Theme',
235
+ options: [
236
+ {
237
+ label: 'Foo',
238
+ value: StringEnum.FOO,
239
+ },
240
+ {
241
+ label: 'Bar',
242
+ value: StringEnum.BAR,
243
+ },
244
+ {
245
+ label: 'Baz',
246
+ value: StringEnum.BAZ,
247
+ },
248
+ ],
249
+ category: 'UI',
250
+ requiresRestart: false,
251
+ default: StringEnum.BAR,
252
+ description: 'The color theme for the UI.',
253
+ showInDialog: true,
254
+ };
255
+ const FAKE_SCHEMA = {
256
+ ui: {
257
+ showInDialog: false,
258
+ properties: {
259
+ theme: {
260
+ ...SETTING,
261
+ },
262
+ },
263
+ },
264
+ };
265
+ it('toggles enum values with the enter key', async () => {
266
+ vi.mocked(getSettingsSchema).mockReturnValue(FAKE_SCHEMA);
267
+ const settings = createMockSettings();
268
+ const onSelect = vi.fn();
269
+ const component = (_jsx(KeypressProvider, { kittyProtocolEnabled: false, children: _jsx(SettingsDialog, { settings: settings, onSelect: onSelect }) }));
270
+ const { stdin, unmount } = render(component);
271
+ // Press Enter to toggle current setting
272
+ stdin.write(TerminalKeys.DOWN_ARROW);
273
+ await wait();
274
+ stdin.write(TerminalKeys.ENTER);
275
+ await wait();
276
+ expect(vi.mocked(saveModifiedSettings)).toHaveBeenCalledWith(new Set(['ui.theme']), {
277
+ ui: {
278
+ theme: StringEnum.BAZ,
279
+ },
280
+ }, expect.any(LoadedSettings), SettingScope.User);
281
+ unmount();
282
+ });
283
+ it('loops back when reaching the end of an enum', async () => {
284
+ vi.mocked(getSettingsSchema).mockReturnValue(FAKE_SCHEMA);
285
+ const settings = createMockSettings();
286
+ settings.setValue(SettingScope.User, 'ui.theme', StringEnum.BAZ);
287
+ const onSelect = vi.fn();
288
+ const component = (_jsx(KeypressProvider, { kittyProtocolEnabled: false, children: _jsx(SettingsDialog, { settings: settings, onSelect: onSelect }) }));
289
+ const { stdin, unmount } = render(component);
290
+ // Press Enter to toggle current setting
291
+ stdin.write(TerminalKeys.DOWN_ARROW);
292
+ await wait();
293
+ stdin.write(TerminalKeys.ENTER);
294
+ await wait();
295
+ expect(vi.mocked(saveModifiedSettings)).toHaveBeenCalledWith(new Set(['ui.theme']), {
296
+ ui: {
297
+ theme: StringEnum.FOO,
298
+ },
299
+ }, expect.any(LoadedSettings), SettingScope.User);
300
+ unmount();
301
+ });
302
+ });
238
303
  it('should toggle setting with Space key', async () => {
239
304
  const settings = createMockSettings();
240
305
  const onSelect = vi.fn();
@@ -250,7 +315,7 @@ describe('SettingsDialog', () => {
250
315
  const { stdin, unmount } = render(_jsx(KeypressProvider, { kittyProtocolEnabled: false, children: _jsx(SettingsDialog, { settings: settings, onSelect: onSelect }) }));
251
316
  // Navigate to vim mode setting and toggle it
252
317
  // This would require knowing the exact position, so we'll just test that the mock is called
253
- stdin.write('\u000D'); // Enter key
318
+ stdin.write(TerminalKeys.ENTER); // Enter key
254
319
  await wait();
255
320
  // The mock should potentially be called if vim mode was toggled
256
321
  unmount();
@@ -262,7 +327,7 @@ describe('SettingsDialog', () => {
262
327
  const onSelect = vi.fn();
263
328
  const { stdin, unmount } = render(_jsx(KeypressProvider, { kittyProtocolEnabled: false, children: _jsx(SettingsDialog, { settings: settings, onSelect: onSelect }) }));
264
329
  // Switch to scope focus
265
- stdin.write('\t'); // Tab key
330
+ stdin.write(TerminalKeys.TAB); // Tab key
266
331
  await wait();
267
332
  // Select different scope (numbers 1-3 typically available)
268
333
  stdin.write('2'); // Select second scope option
@@ -329,7 +394,7 @@ describe('SettingsDialog', () => {
329
394
  const onSelect = vi.fn();
330
395
  const { stdin, unmount } = render(_jsx(KeypressProvider, { kittyProtocolEnabled: false, children: _jsx(SettingsDialog, { settings: settings, onSelect: onSelect }) }));
331
396
  // Switch to scope selector
332
- stdin.write('\t'); // Tab
397
+ stdin.write(TerminalKeys.TAB); // Tab
333
398
  await wait();
334
399
  // Change scope
335
400
  stdin.write('2'); // Select workspace scope
@@ -355,7 +420,7 @@ describe('SettingsDialog', () => {
355
420
  const onSelect = vi.fn();
356
421
  const { stdin, unmount } = render(_jsx(KeypressProvider, { kittyProtocolEnabled: false, children: _jsx(SettingsDialog, { settings: settings, onSelect: onSelect }) }));
357
422
  // Try to toggle a setting (this might trigger vim mode toggle)
358
- stdin.write('\u000D'); // Enter
423
+ stdin.write(TerminalKeys.ENTER); // Enter
359
424
  await wait();
360
425
  // Should not crash
361
426
  unmount();
@@ -367,12 +432,12 @@ describe('SettingsDialog', () => {
367
432
  const onSelect = vi.fn();
368
433
  const { stdin, unmount } = render(_jsx(KeypressProvider, { kittyProtocolEnabled: false, children: _jsx(SettingsDialog, { settings: settings, onSelect: onSelect }) }));
369
434
  // Toggle a setting
370
- stdin.write('\u000D'); // Enter
435
+ stdin.write(TerminalKeys.ENTER); // Enter
371
436
  await wait();
372
437
  // Toggle another setting
373
- stdin.write('\u001B[B'); // Down
438
+ stdin.write(TerminalKeys.DOWN_ARROW); // Down
374
439
  await wait();
375
- stdin.write('\u000D'); // Enter
440
+ stdin.write(TerminalKeys.ENTER); // Enter
376
441
  await wait();
377
442
  // Should track multiple modified settings
378
443
  unmount();
@@ -383,7 +448,7 @@ describe('SettingsDialog', () => {
383
448
  const { stdin, unmount } = render(_jsx(KeypressProvider, { kittyProtocolEnabled: false, children: _jsx(SettingsDialog, { settings: settings, onSelect: onSelect }) }));
384
449
  // Navigate down many times to test scrolling
385
450
  for (let i = 0; i < 10; i++) {
386
- stdin.write('\u001B[B'); // Down arrow
451
+ stdin.write(TerminalKeys.DOWN_ARROW); // Down arrow
387
452
  await wait(10);
388
453
  }
389
454
  unmount();
@@ -396,7 +461,7 @@ describe('SettingsDialog', () => {
396
461
  const { stdin, unmount } = render(_jsx(VimModeProvider, { settings: settings, children: _jsx(KeypressProvider, { kittyProtocolEnabled: false, children: _jsx(SettingsDialog, { settings: settings, onSelect: onSelect }) }) }));
397
462
  // Navigate to and toggle vim mode setting
398
463
  // This would require knowing the exact position of vim mode setting
399
- stdin.write('\u000D'); // Enter
464
+ stdin.write(TerminalKeys.ENTER); // Enter
400
465
  await wait();
401
466
  unmount();
402
467
  });
@@ -417,7 +482,7 @@ describe('SettingsDialog', () => {
417
482
  const onSelect = vi.fn();
418
483
  const { stdin, unmount } = render(_jsx(KeypressProvider, { kittyProtocolEnabled: false, children: _jsx(SettingsDialog, { settings: settings, onSelect: onSelect }) }));
419
484
  // Toggle a non-restart-required setting (like hideTips)
420
- stdin.write('\u000D'); // Enter - toggle current setting
485
+ stdin.write(TerminalKeys.ENTER); // Enter - toggle current setting
421
486
  await wait();
422
487
  // Should save immediately without showing restart prompt
423
488
  unmount();
@@ -469,8 +534,8 @@ describe('SettingsDialog', () => {
469
534
  const { stdin, unmount } = render(_jsx(KeypressProvider, { kittyProtocolEnabled: false, children: _jsx(SettingsDialog, { settings: settings, onSelect: onSelect }) }));
470
535
  // Rapid navigation
471
536
  for (let i = 0; i < 5; i++) {
472
- stdin.write('\u001B[B'); // Down arrow
473
- stdin.write('\u001B[A'); // Up arrow
537
+ stdin.write(TerminalKeys.DOWN_ARROW);
538
+ stdin.write(TerminalKeys.UP_ARROW);
474
539
  }
475
540
  await wait(100);
476
541
  // Should not crash
@@ -501,9 +566,9 @@ describe('SettingsDialog', () => {
501
566
  const onSelect = vi.fn();
502
567
  const { stdin, unmount } = render(_jsx(KeypressProvider, { kittyProtocolEnabled: false, children: _jsx(SettingsDialog, { settings: settings, onSelect: onSelect }) }));
503
568
  // Try to navigate when potentially at bounds
504
- stdin.write('\u001B[B'); // Down
569
+ stdin.write(TerminalKeys.DOWN_ARROW);
505
570
  await wait();
506
- stdin.write('\u001B[A'); // Up
571
+ stdin.write(TerminalKeys.UP_ARROW);
507
572
  await wait();
508
573
  unmount();
509
574
  });
@@ -565,17 +630,17 @@ describe('SettingsDialog', () => {
565
630
  const onSelect = vi.fn();
566
631
  const { stdin, unmount } = render(_jsx(KeypressProvider, { kittyProtocolEnabled: false, children: _jsx(SettingsDialog, { settings: settings, onSelect: onSelect }) }));
567
632
  // Toggle first setting (should require restart)
568
- stdin.write('\u000D'); // Enter
633
+ stdin.write(TerminalKeys.ENTER); // Enter
569
634
  await wait();
570
635
  // Navigate to next setting and toggle it (should not require restart - e.g., vimMode)
571
- stdin.write('\u001B[B'); // Down
636
+ stdin.write(TerminalKeys.DOWN_ARROW); // Down
572
637
  await wait();
573
- stdin.write('\u000D'); // Enter
638
+ stdin.write(TerminalKeys.ENTER); // Enter
574
639
  await wait();
575
640
  // Navigate to another setting and toggle it (should also require restart)
576
- stdin.write('\u001B[B'); // Down
641
+ stdin.write(TerminalKeys.DOWN_ARROW); // Down
577
642
  await wait();
578
- stdin.write('\u000D'); // Enter
643
+ stdin.write(TerminalKeys.ENTER); // Enter
579
644
  await wait();
580
645
  // The test verifies that all changes are preserved and the dialog still works
581
646
  // This tests the fix for the bug where changing one setting would reset all pending changes
@@ -586,13 +651,13 @@ describe('SettingsDialog', () => {
586
651
  const onSelect = vi.fn();
587
652
  const { stdin, unmount } = render(_jsx(KeypressProvider, { kittyProtocolEnabled: false, children: _jsx(SettingsDialog, { settings: settings, onSelect: onSelect }) }));
588
653
  // Multiple scope changes
589
- stdin.write('\t'); // Tab to scope
654
+ stdin.write(TerminalKeys.TAB); // Tab to scope
590
655
  await wait();
591
656
  stdin.write('2'); // Workspace
592
657
  await wait();
593
- stdin.write('\t'); // Tab to settings
658
+ stdin.write(TerminalKeys.TAB); // Tab to settings
594
659
  await wait();
595
- stdin.write('\t'); // Tab to scope
660
+ stdin.write(TerminalKeys.TAB); // Tab to scope
596
661
  await wait();
597
662
  stdin.write('1'); // User
598
663
  await wait();
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsDialog.test.js","sourceRoot":"","sources":["../../../../src/ui/components/SettingsDialog.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SettingsDialog.test.js","sourceRoot":"","sources":["../../../../src/ui/components/SettingsDialog.test.tsx"],"names":[],"mappings":"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"}
@@ -7,8 +7,9 @@ import { RadioButtonSelect } from './shared/RadioButtonSelect.js';
7
7
  import { DiffRenderer } from './messages/DiffRenderer.js';
8
8
  import { colorizeCode } from '../utils/CodeColorizer.js';
9
9
  import { SettingScope } from '../../config/settings.js';
10
- import { getScopeItems, getScopeMessageForSetting, } from '../../utils/dialogScopeUtils.js';
10
+ import { getScopeMessageForSetting } from '../../utils/dialogScopeUtils.js';
11
11
  import { useKeypress } from '../hooks/useKeypress.js';
12
+ import { ScopeSelector } from './shared/ScopeSelector.js';
12
13
  export function ThemeDialog({ onSelect, onHighlight, settings, availableTerminalHeight, terminalWidth, }) {
13
14
  const [selectedScope, setSelectedScope] = useState(SettingScope.User);
14
15
  // Track the currently highlighted theme name
@@ -37,13 +38,10 @@ export function ThemeDialog({ onSelect, onHighlight, settings, availableTerminal
37
38
  themeTypeDisplay: 'Custom',
38
39
  })),
39
40
  ];
40
- const [selectInputKey, setSelectInputKey] = useState(Date.now());
41
41
  // Find the index of the selected theme, but only if it exists in the list
42
- const selectedThemeName = settings.merged.ui?.theme || DEFAULT_THEME.name;
43
- const initialThemeIndex = themeItems.findIndex((item) => item.value === selectedThemeName);
42
+ const initialThemeIndex = themeItems.findIndex((item) => item.value === highlightedThemeName);
44
43
  // If not found, fall back to the first theme
45
44
  const safeInitialThemeIndex = initialThemeIndex >= 0 ? initialThemeIndex : 0;
46
- const scopeItems = getScopeItems();
47
45
  const handleThemeSelect = useCallback((themeName) => {
48
46
  onSelect(themeName, selectedScope);
49
47
  }, [onSelect, selectedScope]);
@@ -53,16 +51,14 @@ export function ThemeDialog({ onSelect, onHighlight, settings, availableTerminal
53
51
  };
54
52
  const handleScopeHighlight = useCallback((scope) => {
55
53
  setSelectedScope(scope);
56
- setSelectInputKey(Date.now());
57
54
  }, []);
58
55
  const handleScopeSelect = useCallback((scope) => {
59
- handleScopeHighlight(scope);
60
- setFocusedSection('theme'); // Reset focus to theme section
61
- }, [handleScopeHighlight]);
62
- const [focusedSection, setFocusedSection] = useState('theme');
56
+ onSelect(highlightedThemeName, scope);
57
+ }, [onSelect, highlightedThemeName]);
58
+ const [mode, setMode] = useState('theme');
63
59
  useKeypress((key) => {
64
60
  if (key.name === 'tab') {
65
- setFocusedSection((prev) => (prev === 'theme' ? 'scope' : 'theme'));
61
+ setMode((prev) => (prev === 'theme' ? 'scope' : 'theme'));
66
62
  }
67
63
  if (key.name === 'escape') {
68
64
  onSelect(undefined, selectedScope);
@@ -83,30 +79,17 @@ export function ThemeDialog({ onSelect, onHighlight, settings, availableTerminal
83
79
  PREVIEW_PANE_WIDTH_SAFETY_MARGIN), 1);
84
80
  const DIALOG_PADDING = 2;
85
81
  const selectThemeHeight = themeItems.length + 1;
86
- const SCOPE_SELECTION_HEIGHT = 4; // Height for the scope selection section + margin.
87
- const SPACE_BETWEEN_THEME_SELECTION_AND_APPLY_TO = 1;
88
82
  const TAB_TO_SELECT_HEIGHT = 2;
89
83
  availableTerminalHeight = availableTerminalHeight ?? Number.MAX_SAFE_INTEGER;
90
84
  availableTerminalHeight -= 2; // Top and bottom borders.
91
85
  availableTerminalHeight -= TAB_TO_SELECT_HEIGHT;
92
- let totalLeftHandSideHeight = DIALOG_PADDING +
93
- selectThemeHeight +
94
- SCOPE_SELECTION_HEIGHT +
95
- SPACE_BETWEEN_THEME_SELECTION_AND_APPLY_TO;
96
- let showScopeSelection = true;
86
+ let totalLeftHandSideHeight = DIALOG_PADDING + selectThemeHeight;
97
87
  let includePadding = true;
98
88
  // Remove content from the LHS that can be omitted if it exceeds the available height.
99
89
  if (totalLeftHandSideHeight > availableTerminalHeight) {
100
90
  includePadding = false;
101
91
  totalLeftHandSideHeight -= DIALOG_PADDING;
102
92
  }
103
- if (totalLeftHandSideHeight > availableTerminalHeight) {
104
- // First, try hiding the scope selection
105
- totalLeftHandSideHeight -= SCOPE_SELECTION_HEIGHT;
106
- showScopeSelection = false;
107
- }
108
- // Don't focus the scope selection if it is hidden due to height constraints.
109
- const currentFocusedSection = !showScopeSelection ? 'theme' : focusedSection;
110
93
  // Vertical space taken by elements other than the two code blocks in the preview pane.
111
94
  // Includes "Preview" title, borders, and margin between blocks.
112
95
  const PREVIEW_PANE_FIXED_VERTICAL_SPACE = 8;
@@ -120,7 +103,7 @@ export function ThemeDialog({ onSelect, onHighlight, settings, availableTerminal
120
103
  // The code block is slightly longer than the diff, so give it more space.
121
104
  const codeBlockHeight = Math.ceil(availableHeightForPanes * 0.6);
122
105
  const diffHeight = Math.floor(availableHeightForPanes * 0.4);
123
- return (_jsxs(Box, { borderStyle: "round", borderColor: Colors.Gray, flexDirection: "column", paddingTop: includePadding ? 1 : 0, paddingBottom: includePadding ? 1 : 0, paddingLeft: 1, paddingRight: 1, width: "100%", children: [_jsxs(Box, { flexDirection: "row", children: [_jsxs(Box, { flexDirection: "column", width: "45%", paddingRight: 2, children: [_jsxs(Text, { bold: currentFocusedSection === 'theme', wrap: "truncate", children: [currentFocusedSection === 'theme' ? '> ' : ' ', "Select Theme", ' ', _jsx(Text, { color: Colors.Gray, children: otherScopeModifiedMessage })] }), _jsx(RadioButtonSelect, { items: themeItems, initialIndex: safeInitialThemeIndex, onSelect: handleThemeSelect, onHighlight: handleThemeHighlight, isFocused: currentFocusedSection === 'theme', maxItemsToShow: 8, showScrollArrows: true, showNumbers: currentFocusedSection === 'theme' }, selectInputKey), showScopeSelection && (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsxs(Text, { bold: currentFocusedSection === 'scope', wrap: "truncate", children: [currentFocusedSection === 'scope' ? '> ' : ' ', "Apply To"] }), _jsx(RadioButtonSelect, { items: scopeItems, initialIndex: 0, onSelect: handleScopeSelect, onHighlight: handleScopeHighlight, isFocused: currentFocusedSection === 'scope', showNumbers: currentFocusedSection === 'scope' })] }))] }), _jsxs(Box, { flexDirection: "column", width: "55%", paddingLeft: 2, children: [_jsx(Text, { bold: true, children: "Preview" }), (() => {
106
+ return (_jsxs(Box, { borderStyle: "round", borderColor: Colors.Gray, flexDirection: "column", paddingTop: includePadding ? 1 : 0, paddingBottom: includePadding ? 1 : 0, paddingLeft: 1, paddingRight: 1, width: "100%", children: [mode === 'theme' ? (_jsxs(Box, { flexDirection: "row", children: [_jsxs(Box, { flexDirection: "column", width: "45%", paddingRight: 2, children: [_jsxs(Text, { bold: mode === 'theme', wrap: "truncate", children: [mode === 'theme' ? '> ' : ' ', "Select Theme", ' ', _jsx(Text, { color: Colors.Gray, children: otherScopeModifiedMessage })] }), _jsx(RadioButtonSelect, { items: themeItems, initialIndex: safeInitialThemeIndex, onSelect: handleThemeSelect, onHighlight: handleThemeHighlight, isFocused: mode === 'theme', maxItemsToShow: 12, showScrollArrows: true, showNumbers: mode === 'theme' })] }), _jsxs(Box, { flexDirection: "column", width: "55%", paddingLeft: 2, children: [_jsx(Text, { bold: true, children: "Preview" }), (() => {
124
107
  const previewTheme = themeManager.getTheme(highlightedThemeName || DEFAULT_THEME.name) || DEFAULT_THEME;
125
108
  return (_jsxs(Box, { borderStyle: "single", borderColor: Colors.Gray, paddingTop: includePadding ? 1 : 0, paddingBottom: includePadding ? 1 : 0, paddingLeft: 1, paddingRight: 1, flexDirection: "column", children: [colorizeCode(`# function
126
109
  def fibonacci(n):
@@ -133,6 +116,6 @@ def fibonacci(n):
133
116
  - print("Hello, " + name)
134
117
  + print(f"Hello, {name}!")
135
118
  `, availableTerminalHeight: diffHeight, terminalWidth: colorizeCodeWidth, theme: previewTheme })] }));
136
- })()] })] }), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: Colors.Gray, wrap: "truncate", children: ["(Use Enter to select", showScopeSelection ? ', Tab to change focus' : '', ")"] }) })] }));
119
+ })()] })] })) : (_jsx(ScopeSelector, { onSelect: handleScopeSelect, onHighlight: handleScopeHighlight, isFocused: mode === 'scope', initialScope: selectedScope })), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: Colors.Gray, wrap: "truncate", children: ["(Use Enter to ", mode === 'theme' ? 'select' : 'apply scope', ", Tab to", ' ', mode === 'theme' ? 'configure scope' : 'select theme', ")"] }) })] }));
137
120
  }
138
121
  //# sourceMappingURL=ThemeDialog.js.map