@google/gemini-cli 0.21.0-nightly.20251218.739c02bd6 → 0.21.0-nightly.20251219.70696e364

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 (105) hide show
  1. package/dist/google-gemini-cli-0.21.0-nightly.20251218.739c02bd6.tgz +0 -0
  2. package/dist/package.json +2 -2
  3. package/dist/src/config/extension-manager.d.ts +0 -1
  4. package/dist/src/config/extension-manager.js +1 -1
  5. package/dist/src/config/extension-manager.js.map +1 -1
  6. package/dist/src/config/settingsSchema.d.ts +1 -6
  7. package/dist/src/config/settingsSchema.js +9 -1
  8. package/dist/src/config/settingsSchema.js.map +1 -1
  9. package/dist/src/config/settingsSchema.test.js +12 -1
  10. package/dist/src/config/settingsSchema.test.js.map +1 -1
  11. package/dist/src/gemini.js +2 -13
  12. package/dist/src/gemini.js.map +1 -1
  13. package/dist/src/gemini.test.js +20 -8
  14. package/dist/src/gemini.test.js.map +1 -1
  15. package/dist/src/gemini_cleanup.test.js +1 -0
  16. package/dist/src/gemini_cleanup.test.js.map +1 -1
  17. package/dist/src/generated/git-commit.d.ts +2 -2
  18. package/dist/src/generated/git-commit.js +2 -2
  19. package/dist/src/test-utils/render.js +1 -0
  20. package/dist/src/test-utils/render.js.map +1 -1
  21. package/dist/src/ui/AppContainer.js +4 -2
  22. package/dist/src/ui/AppContainer.js.map +1 -1
  23. package/dist/src/ui/commands/bugCommand.js +9 -0
  24. package/dist/src/ui/commands/bugCommand.js.map +1 -1
  25. package/dist/src/ui/commands/bugCommand.test.js +13 -0
  26. package/dist/src/ui/commands/bugCommand.test.js.map +1 -1
  27. package/dist/src/ui/commands/hooksCommand.js +1 -1
  28. package/dist/src/ui/commands/hooksCommand.js.map +1 -1
  29. package/dist/src/ui/commands/hooksCommand.test.js +8 -0
  30. package/dist/src/ui/commands/hooksCommand.test.js.map +1 -1
  31. package/dist/src/ui/components/InputPrompt.js +4 -1
  32. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  33. package/dist/src/ui/components/InputPrompt.test.js +49 -0
  34. package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
  35. package/dist/src/ui/components/ModelStatsDisplay.js +68 -14
  36. package/dist/src/ui/components/ModelStatsDisplay.js.map +1 -1
  37. package/dist/src/ui/components/ModelStatsDisplay.test.js +53 -2
  38. package/dist/src/ui/components/ModelStatsDisplay.test.js.map +1 -1
  39. package/dist/src/ui/components/Table.d.ts +21 -0
  40. package/dist/src/ui/components/Table.js +7 -0
  41. package/dist/src/ui/components/Table.js.map +1 -0
  42. package/dist/src/ui/components/Table.test.js +53 -0
  43. package/dist/src/ui/components/Table.test.js.map +1 -0
  44. package/dist/src/ui/components/ThemeDialog.js +63 -17
  45. package/dist/src/ui/components/ThemeDialog.js.map +1 -1
  46. package/dist/src/ui/components/ThemeDialog.test.js +65 -0
  47. package/dist/src/ui/components/ThemeDialog.test.js.map +1 -1
  48. package/dist/src/ui/components/shared/RadioButtonSelect.d.ts +4 -1
  49. package/dist/src/ui/components/shared/RadioButtonSelect.js +11 -10
  50. package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -1
  51. package/dist/src/ui/components/shared/text-buffer.js +0 -2
  52. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  53. package/dist/src/ui/components/views/HooksList.d.ts +2 -0
  54. package/dist/src/ui/components/views/HooksList.js +5 -3
  55. package/dist/src/ui/components/views/HooksList.js.map +1 -1
  56. package/dist/src/ui/constants.d.ts +0 -3
  57. package/dist/src/ui/constants.js +0 -6
  58. package/dist/src/ui/constants.js.map +1 -1
  59. package/dist/src/ui/contexts/UIStateContext.d.ts +2 -0
  60. package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
  61. package/dist/src/ui/hooks/useKittyKeyboardProtocol.js +2 -2
  62. package/dist/src/ui/hooks/useKittyKeyboardProtocol.js.map +1 -1
  63. package/dist/src/ui/hooks/usePromptCompletion.js +0 -2
  64. package/dist/src/ui/hooks/usePromptCompletion.js.map +1 -1
  65. package/dist/src/ui/hooks/useSlashCompletion.js +24 -7
  66. package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
  67. package/dist/src/ui/hooks/useSlashCompletion.test.js +80 -4
  68. package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -1
  69. package/dist/src/ui/themes/color-utils.d.ts +1 -0
  70. package/dist/src/ui/themes/color-utils.js +13 -0
  71. package/dist/src/ui/themes/color-utils.js.map +1 -1
  72. package/dist/src/ui/themes/color-utils.test.js +20 -1
  73. package/dist/src/ui/themes/color-utils.test.js.map +1 -1
  74. package/dist/src/ui/themes/shades-of-purple.js +1 -1
  75. package/dist/src/ui/themes/shades-of-purple.js.map +1 -1
  76. package/dist/src/ui/themes/theme-manager.d.ts +5 -0
  77. package/dist/src/ui/themes/theme-manager.js +7 -0
  78. package/dist/src/ui/themes/theme-manager.js.map +1 -1
  79. package/dist/src/ui/themes/theme.d.ts +12 -0
  80. package/dist/src/ui/themes/theme.js +31 -1
  81. package/dist/src/ui/themes/theme.js.map +1 -1
  82. package/dist/src/ui/themes/theme.test.js +23 -0
  83. package/dist/src/ui/themes/theme.test.js.map +1 -1
  84. package/dist/src/ui/utils/terminalCapabilityManager.d.ts +38 -0
  85. package/dist/src/ui/utils/terminalCapabilityManager.js +190 -0
  86. package/dist/src/ui/utils/terminalCapabilityManager.js.map +1 -0
  87. package/dist/src/ui/utils/terminalCapabilityManager.test.d.ts +6 -0
  88. package/dist/src/ui/utils/terminalCapabilityManager.test.js +136 -0
  89. package/dist/src/ui/utils/terminalCapabilityManager.test.js.map +1 -0
  90. package/dist/src/ui/utils/terminalSetup.js +2 -2
  91. package/dist/src/ui/utils/terminalSetup.js.map +1 -1
  92. package/dist/src/ui/utils/terminalSetup.test.js +4 -2
  93. package/dist/src/ui/utils/terminalSetup.test.js.map +1 -1
  94. package/dist/src/utils/terminalTheme.d.ts +15 -0
  95. package/dist/src/utils/terminalTheme.js +50 -0
  96. package/dist/src/utils/terminalTheme.js.map +1 -0
  97. package/dist/tsconfig.tsbuildinfo +1 -1
  98. package/package.json +3 -3
  99. package/dist/google-gemini-cli-0.21.0-nightly.20251216.bb0c0d8ee.tgz +0 -0
  100. package/dist/src/ui/utils/kittyProtocolDetector.d.ts +0 -17
  101. package/dist/src/ui/utils/kittyProtocolDetector.js +0 -111
  102. package/dist/src/ui/utils/kittyProtocolDetector.js.map +0 -1
  103. package/dist/src/ui/utils/kittyProtocolDetector.test.js +0 -113
  104. package/dist/src/ui/utils/kittyProtocolDetector.test.js.map +0 -1
  105. /package/dist/src/ui/{utils/kittyProtocolDetector.test.d.ts → components/Table.test.d.ts} +0 -0
@@ -18,7 +18,7 @@ vi.mock('../contexts/SessionContext.js', async (importOriginal) => {
18
18
  };
19
19
  });
20
20
  const useSessionStatsMock = vi.mocked(SessionContext.useSessionStats);
21
- const renderWithMockedStats = (metrics) => {
21
+ const renderWithMockedStats = (metrics, width) => {
22
22
  useSessionStatsMock.mockReturnValue({
23
23
  stats: {
24
24
  sessionId: 'test-session',
@@ -30,7 +30,7 @@ const renderWithMockedStats = (metrics) => {
30
30
  getPromptCount: () => 5,
31
31
  startNewPrompt: vi.fn(),
32
32
  });
33
- return render(_jsx(ModelStatsDisplay, {}));
33
+ return render(_jsx(ModelStatsDisplay, {}), width);
34
34
  };
35
35
  describe('<ModelStatsDisplay />', () => {
36
36
  beforeAll(() => {
@@ -288,5 +288,56 @@ describe('<ModelStatsDisplay />', () => {
288
288
  expect(output).not.toContain('gemini-2.5-flash');
289
289
  expect(output).toMatchSnapshot();
290
290
  });
291
+ it('should handle models with long names (gemini-3-*-preview) without layout breaking', () => {
292
+ const { lastFrame } = renderWithMockedStats({
293
+ models: {
294
+ 'gemini-3-pro-preview': {
295
+ api: { totalRequests: 10, totalErrors: 0, totalLatencyMs: 2000 },
296
+ tokens: {
297
+ input: 1000,
298
+ prompt: 2000,
299
+ candidates: 4000,
300
+ total: 6000,
301
+ cached: 500,
302
+ thoughts: 100,
303
+ tool: 50,
304
+ },
305
+ },
306
+ 'gemini-3-flash-preview': {
307
+ api: { totalRequests: 20, totalErrors: 0, totalLatencyMs: 1000 },
308
+ tokens: {
309
+ input: 2000,
310
+ prompt: 4000,
311
+ candidates: 8000,
312
+ total: 12000,
313
+ cached: 1000,
314
+ thoughts: 200,
315
+ tool: 100,
316
+ },
317
+ },
318
+ },
319
+ tools: {
320
+ totalCalls: 0,
321
+ totalSuccess: 0,
322
+ totalFail: 0,
323
+ totalDurationMs: 0,
324
+ totalDecisions: {
325
+ accept: 0,
326
+ reject: 0,
327
+ modify: 0,
328
+ [ToolCallDecision.AUTO_ACCEPT]: 0,
329
+ },
330
+ byName: {},
331
+ },
332
+ files: {
333
+ totalLinesAdded: 0,
334
+ totalLinesRemoved: 0,
335
+ },
336
+ }, 80);
337
+ const output = lastFrame();
338
+ expect(output).toContain('gemini-3-pro-');
339
+ expect(output).toContain('gemini-3-flash-');
340
+ expect(output).toMatchSnapshot();
341
+ });
291
342
  });
292
343
  //# sourceMappingURL=ModelStatsDisplay.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModelStatsDisplay.test.js","sourceRoot":"","sources":["../../../../src/ui/components/ModelStatsDisplay.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModelStatsDisplay.test.js","sourceRoot":"","sources":["../../../../src/ui/components/ModelStatsDisplay.test.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,cAAc,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,0DAA0D;AAC1D,EAAE,CAAC,IAAI,CAAC,+BAA+B,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IAChE,MAAM,MAAM,GAAG,MAAM,cAAc,EAAyB,CAAC;IAC7D,OAAO;QACL,GAAG,MAAM;QACT,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;KACzB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;AAEtE,MAAM,qBAAqB,GAAG,CAAC,OAAuB,EAAE,KAAc,EAAE,EAAE;IACxE,mBAAmB,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE;YACL,SAAS,EAAE,cAAc;YACzB,gBAAgB,EAAE,IAAI,IAAI,EAAE;YAC5B,OAAO;YACP,oBAAoB,EAAE,CAAC;YACvB,WAAW,EAAE,CAAC;SACf;QAED,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;QACvB,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;KACxB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,KAAC,iBAAiB,KAAG,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,kBAAkB,CAAC;YAG9D,oDAAoD;YACpD,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,GAAG,EAAE;QACZ,EAAE,CAAC,eAAe,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,MAAM,EAAE,SAAS,EAAE,GAAG,qBAAqB,CAAC;YAC1C,MAAM,EAAE,EAAE;YACV,KAAK,EAAE;gBACL,UAAU,EAAE,CAAC;gBACb,YAAY,EAAE,CAAC;gBACf,SAAS,EAAE,CAAC;gBACZ,eAAe,EAAE,CAAC;gBAClB,cAAc,EAAE;oBACd,MAAM,EAAE,CAAC;oBACT,MAAM,EAAE,CAAC;oBACT,MAAM,EAAE,CAAC;oBACT,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;iBAClC;gBACD,MAAM,EAAE,EAAE;aACX;YACD,KAAK,EAAE;gBACL,eAAe,EAAE,CAAC;gBAClB,iBAAiB,EAAE,CAAC;aACrB;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAC3B,8CAA8C,CAC/C,CAAC;QACF,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,EAAE,SAAS,EAAE,GAAG,qBAAqB,CAAC;YAC1C,MAAM,EAAE;gBACN,gBAAgB,EAAE;oBAChB,GAAG,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE;oBAC9D,MAAM,EAAE;wBACN,KAAK,EAAE,EAAE;wBACT,MAAM,EAAE,EAAE;wBACV,UAAU,EAAE,EAAE;wBACd,KAAK,EAAE,EAAE;wBACT,MAAM,EAAE,CAAC;wBACT,QAAQ,EAAE,CAAC;wBACX,IAAI,EAAE,CAAC;qBACR;iBACF;aACF;YACD,KAAK,EAAE;gBACL,UAAU,EAAE,CAAC;gBACb,YAAY,EAAE,CAAC;gBACf,SAAS,EAAE,CAAC;gBACZ,eAAe,EAAE,CAAC;gBAClB,cAAc,EAAE;oBACd,MAAM,EAAE,CAAC;oBACT,MAAM,EAAE,CAAC;oBACT,MAAM,EAAE,CAAC;oBACT,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;iBAClC;gBACD,MAAM,EAAE,EAAE;aACX;YACD,KAAK,EAAE;gBACL,eAAe,EAAE,CAAC;gBAClB,iBAAiB,EAAE,CAAC;aACrB;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,EAAE,SAAS,EAAE,GAAG,qBAAqB,CAAC;YAC1C,MAAM,EAAE;gBACN,gBAAgB,EAAE;oBAChB,GAAG,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE;oBAC9D,MAAM,EAAE;wBACN,KAAK,EAAE,CAAC;wBACR,MAAM,EAAE,EAAE;wBACV,UAAU,EAAE,EAAE;wBACd,KAAK,EAAE,EAAE;wBACT,MAAM,EAAE,CAAC;wBACT,QAAQ,EAAE,CAAC;wBACX,IAAI,EAAE,CAAC;qBACR;iBACF;gBACD,kBAAkB,EAAE;oBAClB,GAAG,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE;oBAC7D,MAAM,EAAE;wBACN,KAAK,EAAE,CAAC;wBACR,MAAM,EAAE,CAAC;wBACT,UAAU,EAAE,EAAE;wBACd,KAAK,EAAE,EAAE;wBACT,MAAM,EAAE,CAAC;wBACT,QAAQ,EAAE,CAAC;wBACX,IAAI,EAAE,CAAC;qBACR;iBACF;aACF;YACD,KAAK,EAAE;gBACL,UAAU,EAAE,CAAC;gBACb,YAAY,EAAE,CAAC;gBACf,SAAS,EAAE,CAAC;gBACZ,eAAe,EAAE,CAAC;gBAClB,cAAc,EAAE;oBACd,MAAM,EAAE,CAAC;oBACT,MAAM,EAAE,CAAC;oBACT,MAAM,EAAE,CAAC;oBACT,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;iBAClC;gBACD,MAAM,EAAE,EAAE;aACX;YACD,KAAK,EAAE;gBACL,eAAe,EAAE,CAAC;gBAClB,iBAAiB,EAAE,CAAC;aACrB;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,EAAE,SAAS,EAAE,GAAG,qBAAqB,CAAC;YAC1C,MAAM,EAAE;gBACN,gBAAgB,EAAE;oBAChB,GAAG,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE;oBAChE,MAAM,EAAE;wBACN,KAAK,EAAE,EAAE;wBACT,MAAM,EAAE,GAAG;wBACX,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,EAAE;wBACV,QAAQ,EAAE,EAAE;wBACZ,IAAI,EAAE,CAAC;qBACR;iBACF;gBACD,kBAAkB,EAAE;oBAClB,GAAG,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE;oBAC/D,MAAM,EAAE;wBACN,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,GAAG;wBACX,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,GAAG;wBACX,QAAQ,EAAE,EAAE;wBACZ,IAAI,EAAE,EAAE;qBACT;iBACF;aACF;YACD,KAAK,EAAE;gBACL,UAAU,EAAE,CAAC;gBACb,YAAY,EAAE,CAAC;gBACf,SAAS,EAAE,CAAC;gBACZ,eAAe,EAAE,CAAC;gBAClB,cAAc,EAAE;oBACd,MAAM,EAAE,CAAC;oBACT,MAAM,EAAE,CAAC;oBACT,MAAM,EAAE,CAAC;oBACT,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;iBAClC;gBACD,MAAM,EAAE,EAAE;aACX;YACD,KAAK,EAAE;gBACL,eAAe,EAAE,CAAC;gBAClB,iBAAiB,EAAE,CAAC;aACrB;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,EAAE,SAAS,EAAE,GAAG,qBAAqB,CAAC;YAC1C,MAAM,EAAE;gBACN,gBAAgB,EAAE;oBAChB,GAAG,EAAE;wBACH,aAAa,EAAE,SAAS;wBACxB,WAAW,EAAE,SAAS;wBACtB,cAAc,EAAE,IAAI;qBACrB;oBACD,MAAM,EAAE;wBACN,KAAK,EAAE,SAAS,GAAG,SAAS;wBAC5B,MAAM,EAAE,SAAS;wBACjB,UAAU,EAAE,SAAS;wBACrB,KAAK,EAAE,SAAS;wBAChB,MAAM,EAAE,SAAS;wBACjB,QAAQ,EAAE,SAAS;wBACnB,IAAI,EAAE,SAAS;qBAChB;iBACF;aACF;YACD,KAAK,EAAE;gBACL,UAAU,EAAE,CAAC;gBACb,YAAY,EAAE,CAAC;gBACf,SAAS,EAAE,CAAC;gBACZ,eAAe,EAAE,CAAC;gBAClB,cAAc,EAAE;oBACd,MAAM,EAAE,CAAC;oBACT,MAAM,EAAE,CAAC;oBACT,MAAM,EAAE,CAAC;oBACT,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;iBAClC;gBACD,MAAM,EAAE,EAAE;aACX;YACD,KAAK,EAAE;gBACL,eAAe,EAAE,CAAC;gBAClB,iBAAiB,EAAE,CAAC;aACrB;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,EAAE,SAAS,EAAE,GAAG,qBAAqB,CAAC;YAC1C,MAAM,EAAE;gBACN,gBAAgB,EAAE;oBAChB,GAAG,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE;oBAC9D,MAAM,EAAE;wBACN,KAAK,EAAE,CAAC;wBACR,MAAM,EAAE,EAAE;wBACV,UAAU,EAAE,EAAE;wBACd,KAAK,EAAE,EAAE;wBACT,MAAM,EAAE,CAAC;wBACT,QAAQ,EAAE,CAAC;wBACX,IAAI,EAAE,CAAC;qBACR;iBACF;aACF;YACD,KAAK,EAAE;gBACL,UAAU,EAAE,CAAC;gBACb,YAAY,EAAE,CAAC;gBACf,SAAS,EAAE,CAAC;gBACZ,eAAe,EAAE,CAAC;gBAClB,cAAc,EAAE;oBACd,MAAM,EAAE,CAAC;oBACT,MAAM,EAAE,CAAC;oBACT,MAAM,EAAE,CAAC;oBACT,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;iBAClC;gBACD,MAAM,EAAE,EAAE;aACX;YACD,KAAK,EAAE;gBACL,eAAe,EAAE,CAAC;gBAClB,iBAAiB,EAAE,CAAC;aACrB;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mFAAmF,EAAE,GAAG,EAAE;QAC3F,MAAM,EAAE,SAAS,EAAE,GAAG,qBAAqB,CACzC;YACE,MAAM,EAAE;gBACN,sBAAsB,EAAE;oBACtB,GAAG,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE;oBAChE,MAAM,EAAE;wBACN,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,IAAI;wBACZ,UAAU,EAAE,IAAI;wBAChB,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,GAAG;wBACX,QAAQ,EAAE,GAAG;wBACb,IAAI,EAAE,EAAE;qBACT;iBACF;gBACD,wBAAwB,EAAE;oBACxB,GAAG,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE;oBAChE,MAAM,EAAE;wBACN,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,IAAI;wBACZ,UAAU,EAAE,IAAI;wBAChB,KAAK,EAAE,KAAK;wBACZ,MAAM,EAAE,IAAI;wBACZ,QAAQ,EAAE,GAAG;wBACb,IAAI,EAAE,GAAG;qBACV;iBACF;aACF;YACD,KAAK,EAAE;gBACL,UAAU,EAAE,CAAC;gBACb,YAAY,EAAE,CAAC;gBACf,SAAS,EAAE,CAAC;gBACZ,eAAe,EAAE,CAAC;gBAClB,cAAc,EAAE;oBACd,MAAM,EAAE,CAAC;oBACT,MAAM,EAAE,CAAC;oBACT,MAAM,EAAE,CAAC;oBACT,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;iBAClC;gBACD,MAAM,EAAE,EAAE;aACX;YACD,KAAK,EAAE;gBACL,eAAe,EAAE,CAAC;gBAClB,iBAAiB,EAAE,CAAC;aACrB;SACF,EACD,EAAE,CACH,CAAC;QAEF,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type React from 'react';
7
+ export interface Column<T> {
8
+ key: string;
9
+ header: React.ReactNode;
10
+ width?: number;
11
+ flexGrow?: number;
12
+ flexShrink?: number;
13
+ flexBasis?: number | string;
14
+ renderCell?: (item: T) => React.ReactNode;
15
+ }
16
+ interface TableProps<T> {
17
+ data: T[];
18
+ columns: Array<Column<T>>;
19
+ }
20
+ export declare function Table<T>({ data, columns }: TableProps<T>): import("react/jsx-runtime").JSX.Element;
21
+ export {};
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ import { theme } from '../semantic-colors.js';
4
+ export function Table({ data, columns }) {
5
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Box, { flexDirection: "row", children: columns.map((col, index) => (_jsx(Box, { width: col.width, flexGrow: col.flexGrow, flexShrink: col.flexShrink, flexBasis: col.flexBasis ?? (col.width ? undefined : 0), paddingRight: 1, children: typeof col.header === 'string' ? (_jsx(Text, { bold: true, color: theme.text.primary, children: col.header })) : (col.header) }, `header-${index}`))) }), _jsx(Box, { borderStyle: "single", borderBottom: true, borderTop: false, borderLeft: false, borderRight: false, borderColor: theme.border.default, marginBottom: 0 }), data.map((item, rowIndex) => (_jsx(Box, { flexDirection: "row", children: columns.map((col, colIndex) => (_jsx(Box, { width: col.width, flexGrow: col.flexGrow, flexShrink: col.flexShrink, flexBasis: col.flexBasis ?? (col.width ? undefined : 0), paddingRight: 1, children: col.renderCell ? (col.renderCell(item)) : (_jsx(Text, { color: theme.text.primary, children: String(item[col.key]) })) }, `cell-${rowIndex}-${colIndex}`))) }, `row-${rowIndex}`)))] }));
6
+ }
7
+ //# sourceMappingURL=Table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../../src/ui/components/Table.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAiB9C,MAAM,UAAU,KAAK,CAAI,EAAE,IAAI,EAAE,OAAO,EAAiB;IACvD,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aAEzB,KAAC,GAAG,IAAC,aAAa,EAAC,KAAK,YACrB,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAC3B,KAAC,GAAG,IAEF,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ,EACtB,UAAU,EAAE,GAAG,CAAC,UAAU,EAC1B,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EACvD,YAAY,EAAE,CAAC,YAEd,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAChC,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,YACjC,GAAG,CAAC,MAAM,GACN,CACR,CAAC,CAAC,CAAC,CACF,GAAG,CAAC,MAAM,CACX,IAbI,UAAU,KAAK,EAAE,CAclB,CACP,CAAC,GACE,EAGN,KAAC,GAAG,IACF,WAAW,EAAC,QAAQ,EACpB,YAAY,EAAE,IAAI,EAClB,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,KAAK,EACjB,WAAW,EAAE,KAAK,EAClB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,EACjC,YAAY,EAAE,CAAC,GACf,EAGD,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAC5B,KAAC,GAAG,IAAyB,aAAa,EAAC,KAAK,YAC7C,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,CAC9B,KAAC,GAAG,IAEF,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ,EACtB,UAAU,EAAE,GAAG,CAAC,UAAU,EAC1B,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EACvD,YAAY,EAAE,CAAC,YAEd,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAChB,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CACrB,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,YAC5B,MAAM,CAAE,IAAgC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAC9C,CACR,IAbI,QAAQ,QAAQ,IAAI,QAAQ,EAAE,CAc/B,CACP,CAAC,IAlBM,OAAO,QAAQ,EAAE,CAmBrB,CACP,CAAC,IACE,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * @license
4
+ * Copyright 2025 Google LLC
5
+ * SPDX-License-Identifier: Apache-2.0
6
+ */
7
+ import { render } from '../../test-utils/render.js';
8
+ import { Table } from './Table.js';
9
+ import { Text } from 'ink';
10
+ describe('Table', () => {
11
+ it('should render headers and data correctly', () => {
12
+ const columns = [
13
+ { key: 'id', header: 'ID', width: 5 },
14
+ { key: 'name', header: 'Name', flexGrow: 1 },
15
+ ];
16
+ const data = [
17
+ { id: 1, name: 'Alice' },
18
+ { id: 2, name: 'Bob' },
19
+ ];
20
+ const { lastFrame } = render(_jsx(Table, { columns: columns, data: data }), 100);
21
+ const output = lastFrame();
22
+ expect(output).toContain('ID');
23
+ expect(output).toContain('Name');
24
+ expect(output).toContain('1');
25
+ expect(output).toContain('Alice');
26
+ expect(output).toContain('2');
27
+ expect(output).toContain('Bob');
28
+ expect(lastFrame()).toMatchSnapshot();
29
+ });
30
+ it('should support custom cell rendering', () => {
31
+ const columns = [
32
+ {
33
+ key: 'value',
34
+ header: 'Value',
35
+ flexGrow: 1,
36
+ renderCell: (item) => (_jsx(Text, { color: "green", children: item.value * 2 })),
37
+ },
38
+ ];
39
+ const data = [{ value: 10 }];
40
+ const { lastFrame } = render(_jsx(Table, { columns: columns, data: data }), 100);
41
+ const output = lastFrame();
42
+ expect(output).toContain('20');
43
+ expect(lastFrame()).toMatchSnapshot();
44
+ });
45
+ it('should handle undefined values gracefully', () => {
46
+ const columns = [{ key: 'name', header: 'Name', flexGrow: 1 }];
47
+ const data = [{ name: undefined }];
48
+ const { lastFrame } = render(_jsx(Table, { columns: columns, data: data }), 100);
49
+ const output = lastFrame();
50
+ expect(output).toContain('undefined');
51
+ });
52
+ });
53
+ //# sourceMappingURL=Table.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Table.test.js","sourceRoot":"","sources":["../../../../src/ui/components/Table.test.tsx"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { useCallback, useState } from 'react';
3
3
  import { Box, Text } from 'ink';
4
4
  import { theme } from '../semantic-colors.js';
5
5
  import { themeManager, DEFAULT_THEME } from '../themes/theme-manager.js';
6
+ import { pickDefaultThemeName } from '../themes/theme.js';
6
7
  import { RadioButtonSelect } from './shared/RadioButtonSelect.js';
7
8
  import { DiffRenderer } from './messages/DiffRenderer.js';
8
9
  import { colorizeCode } from '../utils/CodeColorizer.js';
@@ -12,12 +13,41 @@ import { useKeypress } from '../hooks/useKeypress.js';
12
13
  import { useAlternateBuffer } from '../hooks/useAlternateBuffer.js';
13
14
  import { ScopeSelector } from './shared/ScopeSelector.js';
14
15
  import { useUIActions } from '../contexts/UIActionsContext.js';
16
+ import { useUIState } from '../contexts/UIStateContext.js';
17
+ import { getThemeTypeFromBackgroundColor, resolveColor, } from '../themes/color-utils.js';
18
+ function generateThemeItem(name, typeDisplay, themeType, themeBackground, terminalBackgroundColor, terminalThemeType) {
19
+ const isCompatible = themeType === 'custom' ||
20
+ terminalThemeType === undefined ||
21
+ themeType === 'ansi' ||
22
+ themeType === terminalThemeType;
23
+ const isBackgroundMatch = terminalBackgroundColor &&
24
+ themeBackground &&
25
+ terminalBackgroundColor.toLowerCase() === themeBackground.toLowerCase();
26
+ return {
27
+ label: name,
28
+ value: name,
29
+ themeNameDisplay: name,
30
+ themeTypeDisplay: typeDisplay,
31
+ themeWarning: isCompatible ? '' : ' (Incompatible)',
32
+ themeMatch: isBackgroundMatch ? ' (Matches terminal)' : '',
33
+ key: name,
34
+ isCompatible,
35
+ };
36
+ }
15
37
  export function ThemeDialog({ onSelect, onCancel, onHighlight, settings, availableTerminalHeight, terminalWidth, }) {
16
38
  const isAlternateBuffer = useAlternateBuffer();
17
39
  const { refreshStatic } = useUIActions();
40
+ const { terminalBackgroundColor } = useUIState();
18
41
  const [selectedScope, setSelectedScope] = useState(SettingScope.User);
19
42
  // Track the currently highlighted theme name
20
- const [highlightedThemeName, setHighlightedThemeName] = useState(settings.merged.ui?.theme || DEFAULT_THEME.name);
43
+ const [highlightedThemeName, setHighlightedThemeName] = useState(() => {
44
+ // If a theme is already set, use it.
45
+ if (settings.merged.ui?.theme) {
46
+ return settings.merged.ui.theme;
47
+ }
48
+ // Otherwise, try to pick a theme that matches the terminal background.
49
+ return pickDefaultThemeName(terminalBackgroundColor, themeManager.getAllThemes(), DEFAULT_THEME.name, 'Default Light');
50
+ });
21
51
  // Generate theme items filtered by selected scope
22
52
  const customThemes = selectedScope === SettingScope.User
23
53
  ? settings.user.settings.ui?.customThemes || {}
@@ -27,23 +57,31 @@ export function ThemeDialog({ onSelect, onCancel, onHighlight, settings, availab
27
57
  .filter((theme) => theme.type !== 'custom');
28
58
  const customThemeNames = Object.keys(customThemes);
29
59
  const capitalize = (s) => s.charAt(0).toUpperCase() + s.slice(1);
60
+ const terminalThemeType = getThemeTypeFromBackgroundColor(terminalBackgroundColor);
30
61
  // Generate theme items
31
62
  const themeItems = [
32
- ...builtInThemes.map((theme) => ({
33
- label: theme.name,
34
- value: theme.name,
35
- themeNameDisplay: theme.name,
36
- themeTypeDisplay: capitalize(theme.type),
37
- key: theme.name,
38
- })),
39
- ...customThemeNames.map((name) => ({
40
- label: name,
41
- value: name,
42
- themeNameDisplay: name,
43
- themeTypeDisplay: 'Custom',
44
- key: name,
45
- })),
46
- ];
63
+ ...builtInThemes.map((theme) => {
64
+ const fullTheme = themeManager.getTheme(theme.name);
65
+ const themeBackground = fullTheme
66
+ ? resolveColor(fullTheme.colors.Background)
67
+ : undefined;
68
+ return generateThemeItem(theme.name, capitalize(theme.type), theme.type, themeBackground, terminalBackgroundColor, terminalThemeType);
69
+ }),
70
+ ...customThemeNames.map((name) => {
71
+ const themeConfig = customThemes[name];
72
+ const bg = themeConfig.background?.primary ?? themeConfig.Background;
73
+ const themeBackground = bg ? resolveColor(bg) : undefined;
74
+ return generateThemeItem(name, 'Custom', 'custom', themeBackground, terminalBackgroundColor, terminalThemeType);
75
+ }),
76
+ ].sort((a, b) => {
77
+ // Show compatible themes first
78
+ if (a.isCompatible && !b.isCompatible)
79
+ return -1;
80
+ if (!a.isCompatible && b.isCompatible)
81
+ return 1;
82
+ // Then sort by name
83
+ return a.label.localeCompare(b.label);
84
+ });
47
85
  // Find the index of the selected theme, but only if it exists in the list
48
86
  const initialThemeIndex = themeItems.findIndex((item) => item.value === highlightedThemeName);
49
87
  // If not found, fall back to the first theme
@@ -111,7 +149,15 @@ export function ThemeDialog({ onSelect, onCancel, onHighlight, settings, availab
111
149
  // The code block is slightly longer than the diff, so give it more space.
112
150
  const codeBlockHeight = Math.ceil(availableHeightForPanes * 0.6);
113
151
  const diffHeight = Math.floor(availableHeightForPanes * 0.4);
114
- return (_jsxs(Box, { borderStyle: "round", borderColor: theme.border.default, 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: theme.text.secondary, 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, color: theme.text.primary, children: "Preview" }), (() => {
152
+ return (_jsxs(Box, { borderStyle: "round", borderColor: theme.border.default, 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: theme.text.secondary, children: otherScopeModifiedMessage })] }), _jsx(RadioButtonSelect, { items: themeItems, initialIndex: safeInitialThemeIndex, onSelect: handleThemeSelect, onHighlight: handleThemeHighlight, isFocused: mode === 'theme', maxItemsToShow: 12, showScrollArrows: true, showNumbers: mode === 'theme', renderItem: (item, { titleColor }) => {
153
+ // We know item has themeWarning because we put it there, but we need to cast or access safely
154
+ const itemWithExtras = item;
155
+ if (item.themeNameDisplay && item.themeTypeDisplay) {
156
+ return (_jsxs(Text, { color: titleColor, wrap: "truncate", children: [item.themeNameDisplay, ' ', _jsx(Text, { color: theme.text.secondary, children: item.themeTypeDisplay }), itemWithExtras.themeMatch && (_jsx(Text, { color: theme.status.success, children: itemWithExtras.themeMatch })), itemWithExtras.themeWarning && (_jsx(Text, { color: theme.status.warning, children: itemWithExtras.themeWarning }))] }, item.key));
157
+ }
158
+ // Regular label display
159
+ return (_jsx(Text, { color: titleColor, wrap: "truncate", children: item.label }));
160
+ } })] }), _jsxs(Box, { flexDirection: "column", width: "55%", paddingLeft: 2, children: [_jsx(Text, { bold: true, color: theme.text.primary, children: "Preview" }), (() => {
115
161
  const previewTheme = themeManager.getTheme(highlightedThemeName || DEFAULT_THEME.name) || DEFAULT_THEME;
116
162
  return (_jsxs(Box, { borderStyle: "single", borderColor: theme.border.default, paddingTop: includePadding ? 1 : 0, paddingBottom: includePadding ? 1 : 0, paddingLeft: 1, paddingRight: 1, flexDirection: "column", children: [colorizeCode({
117
163
  code: `# function
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeDialog.js","sourceRoot":"","sources":["../../../../src/ui/components/ThemeDialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ThemeDialog.js","sourceRoot":"","sources":["../../../../src/ui/components/ThemeDialog.tsx"],"names":[],"mappings":"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"}
@@ -99,4 +99,69 @@ describe('ThemeDialog Snapshots', () => {
99
99
  });
100
100
  });
101
101
  });
102
+ describe('Initial Theme Selection', () => {
103
+ const baseProps = {
104
+ onSelect: vi.fn(),
105
+ onCancel: vi.fn(),
106
+ onHighlight: vi.fn(),
107
+ availableTerminalHeight: 40,
108
+ terminalWidth: 120,
109
+ };
110
+ afterEach(() => {
111
+ vi.restoreAllMocks();
112
+ });
113
+ it('should default to a light theme when terminal background is light and no theme is set', () => {
114
+ const settings = createMockSettings(); // No theme set
115
+ const { lastFrame } = renderWithProviders(_jsx(ThemeDialog, { ...baseProps, settings: settings }), {
116
+ settings,
117
+ uiState: { terminalBackgroundColor: '#FFFFFF' }, // Light background
118
+ });
119
+ // The snapshot will show which theme is highlighted.
120
+ // We expect 'DefaultLight' to be the one with the '>' indicator.
121
+ expect(lastFrame()).toMatchSnapshot();
122
+ });
123
+ it('should default to a dark theme when terminal background is dark and no theme is set', () => {
124
+ const settings = createMockSettings(); // No theme set
125
+ const { lastFrame } = renderWithProviders(_jsx(ThemeDialog, { ...baseProps, settings: settings }), {
126
+ settings,
127
+ uiState: { terminalBackgroundColor: '#000000' }, // Dark background
128
+ });
129
+ // We expect 'DefaultDark' to be highlighted.
130
+ expect(lastFrame()).toMatchSnapshot();
131
+ });
132
+ it('should use the theme from settings even if terminal background suggests a different theme type', () => {
133
+ const settings = createMockSettings({ ui: { theme: 'DefaultLight' } }); // Light theme set
134
+ const { lastFrame } = renderWithProviders(_jsx(ThemeDialog, { ...baseProps, settings: settings }), {
135
+ settings,
136
+ uiState: { terminalBackgroundColor: '#000000' }, // Dark background
137
+ });
138
+ // We expect 'DefaultLight' to be highlighted, respecting the settings.
139
+ expect(lastFrame()).toMatchSnapshot();
140
+ });
141
+ });
142
+ describe('Hint Visibility', () => {
143
+ const baseProps = {
144
+ onSelect: vi.fn(),
145
+ onCancel: vi.fn(),
146
+ onHighlight: vi.fn(),
147
+ availableTerminalHeight: 40,
148
+ terminalWidth: 120,
149
+ };
150
+ it('should show hint when theme background matches terminal background', () => {
151
+ const settings = createMockSettings({ ui: { theme: 'Default' } });
152
+ const { lastFrame } = renderWithProviders(_jsx(ThemeDialog, { ...baseProps, settings: settings }), {
153
+ settings,
154
+ uiState: { terminalBackgroundColor: '#1E1E2E' },
155
+ });
156
+ expect(lastFrame()).toContain('(Matches terminal)');
157
+ });
158
+ it('should not show hint when theme background does not match terminal background', () => {
159
+ const settings = createMockSettings({ ui: { theme: 'Default' } });
160
+ const { lastFrame } = renderWithProviders(_jsx(ThemeDialog, { ...baseProps, settings: settings }), {
161
+ settings,
162
+ uiState: { terminalBackgroundColor: '#FFFFFF' },
163
+ });
164
+ expect(lastFrame()).not.toContain('(Matches terminal)');
165
+ });
166
+ });
102
167
  //# sourceMappingURL=ThemeDialog.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeDialog.test.js","sourceRoot":"","sources":["../../../../src/ui/components/ThemeDialog.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ThemeDialog.test.js","sourceRoot":"","sources":["../../../../src/ui/components/ThemeDialog.test.tsx"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import type React from 'react';
7
+ import { type RenderItemContext } from './BaseSelectionList.js';
7
8
  import type { SelectionListItem } from '../../hooks/useSelectionList.js';
8
9
  /**
9
10
  * Represents a single option for the RadioButtonSelect.
@@ -35,6 +36,8 @@ export interface RadioButtonSelectProps<T> {
35
36
  maxItemsToShow?: number;
36
37
  /** Whether to show numbers next to items. */
37
38
  showNumbers?: boolean;
39
+ /** Optional custom renderer for items. */
40
+ renderItem?: (item: RadioSelectItem<T>, context: RenderItemContext) => React.ReactNode;
38
41
  }
39
42
  /**
40
43
  * A custom component that displays a list of items with radio buttons,
@@ -42,4 +45,4 @@ export interface RadioButtonSelectProps<T> {
42
45
  *
43
46
  * @template T The type of the value associated with each radio item.
44
47
  */
45
- export declare function RadioButtonSelect<T>({ items, initialIndex, onSelect, onHighlight, isFocused, showScrollArrows, maxItemsToShow, showNumbers, }: RadioButtonSelectProps<T>): React.JSX.Element;
48
+ export declare function RadioButtonSelect<T>({ items, initialIndex, onSelect, onHighlight, isFocused, showScrollArrows, maxItemsToShow, showNumbers, renderItem, }: RadioButtonSelectProps<T>): React.JSX.Element;
@@ -1,21 +1,22 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Text } from 'ink';
3
3
  import { theme } from '../../semantic-colors.js';
4
- import { BaseSelectionList } from './BaseSelectionList.js';
4
+ import { BaseSelectionList, } from './BaseSelectionList.js';
5
5
  /**
6
6
  * A custom component that displays a list of items with radio buttons,
7
7
  * supporting scrolling and keyboard navigation.
8
8
  *
9
9
  * @template T The type of the value associated with each radio item.
10
10
  */
11
- export function RadioButtonSelect({ items, initialIndex = 0, onSelect, onHighlight, isFocused = true, showScrollArrows = false, maxItemsToShow = 10, showNumbers = true, }) {
12
- return (_jsx(BaseSelectionList, { items: items, initialIndex: initialIndex, onSelect: onSelect, onHighlight: onHighlight, isFocused: isFocused, showNumbers: showNumbers, showScrollArrows: showScrollArrows, maxItemsToShow: maxItemsToShow, renderItem: (item, { titleColor }) => {
13
- // Handle special theme display case for ThemeDialog compatibility
14
- if (item.themeNameDisplay && item.themeTypeDisplay) {
15
- return (_jsxs(Text, { color: titleColor, wrap: "truncate", children: [item.themeNameDisplay, ' ', _jsx(Text, { color: theme.text.secondary, children: item.themeTypeDisplay })] }, item.key));
16
- }
17
- // Regular label display
18
- return (_jsx(Text, { color: titleColor, wrap: "truncate", children: item.label }));
19
- } }));
11
+ export function RadioButtonSelect({ items, initialIndex = 0, onSelect, onHighlight, isFocused = true, showScrollArrows = false, maxItemsToShow = 10, showNumbers = true, renderItem, }) {
12
+ return (_jsx(BaseSelectionList, { items: items, initialIndex: initialIndex, onSelect: onSelect, onHighlight: onHighlight, isFocused: isFocused, showNumbers: showNumbers, showScrollArrows: showScrollArrows, maxItemsToShow: maxItemsToShow, renderItem: renderItem ||
13
+ ((item, { titleColor }) => {
14
+ // Handle special theme display case for ThemeDialog compatibility
15
+ if (item.themeNameDisplay && item.themeTypeDisplay) {
16
+ return (_jsxs(Text, { color: titleColor, wrap: "truncate", children: [item.themeNameDisplay, ' ', _jsx(Text, { color: theme.text.secondary, children: item.themeTypeDisplay })] }, item.key));
17
+ }
18
+ // Regular label display
19
+ return (_jsx(Text, { color: titleColor, wrap: "truncate", children: item.label }));
20
+ }) }));
20
21
  }
21
22
  //# sourceMappingURL=RadioButtonSelect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RadioButtonSelect.js","sourceRoot":"","sources":["../../../../../src/ui/components/shared/RadioButtonSelect.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAoC3D;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAI,EACnC,KAAK,EACL,YAAY,GAAG,CAAC,EAChB,QAAQ,EACR,WAAW,EACX,SAAS,GAAG,IAAI,EAChB,gBAAgB,GAAG,KAAK,EACxB,cAAc,GAAG,EAAE,EACnB,WAAW,GAAG,IAAI,GACQ;IAC1B,OAAO,CACL,KAAC,iBAAiB,IAChB,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;YACnC,kEAAkE;YAClE,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACnD,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAC,UAAU,aACrC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAC3B,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,YAAG,IAAI,CAAC,gBAAgB,GAAQ,KAFrB,IAAI,CAAC,GAAG,CAG/C,CACR,CAAC;YACJ,CAAC;YACD,wBAAwB;YACxB,OAAO,CACL,KAAC,IAAI,IAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAC,UAAU,YACrC,IAAI,CAAC,KAAK,GACN,CACR,CAAC;QACJ,CAAC,GACD,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"RadioButtonSelect.js","sourceRoot":"","sources":["../../../../../src/ui/components/shared/RadioButtonSelect.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EACL,iBAAiB,GAElB,MAAM,wBAAwB,CAAC;AAyChC;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAI,EACnC,KAAK,EACL,YAAY,GAAG,CAAC,EAChB,QAAQ,EACR,WAAW,EACX,SAAS,GAAG,IAAI,EAChB,gBAAgB,GAAG,KAAK,EACxB,cAAc,GAAG,EAAE,EACnB,WAAW,GAAG,IAAI,EAClB,UAAU,GACgB;IAC1B,OAAO,CACL,KAAC,iBAAiB,IAChB,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc,EAC9B,UAAU,EACR,UAAU;YACV,CAAC,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;gBACxB,kEAAkE;gBAClE,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACnD,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAC,UAAU,aACrC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAC3B,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,YAC9B,IAAI,CAAC,gBAAgB,GACjB,KAJqC,IAAI,CAAC,GAAG,CAK/C,CACR,CAAC;gBACJ,CAAC;gBACD,wBAAwB;gBACxB,OAAO,CACL,KAAC,IAAI,IAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAC,UAAU,YACrC,IAAI,CAAC,KAAK,GACN,CACR,CAAC;YACJ,CAAC,CAAC,GAEJ,CACH,CAAC;AACJ,CAAC"}
@@ -12,7 +12,6 @@ import { coreEvents, CoreEvent } from '@google/gemini-cli-core';
12
12
  import { toCodePoints, cpLen, cpSlice, stripUnsafeCharacters, getCachedStringWidth, } from '../../utils/textUtils.js';
13
13
  import { parsePastedPaths } from '../../utils/clipboardUtils.js';
14
14
  import { handleVimAction } from './vim-buffer-actions.js';
15
- import { enableSupportedProtocol } from '../../utils/kittyProtocolDetector.js';
16
15
  // Helper functions for line-based word navigation
17
16
  export const isWordCharStrict = (char) => /[\w\p{L}\p{N}]/u.test(char); // Matches a single character that is any Unicode letter, any Unicode number, or an underscore
18
17
  export const isWhitespace = (char) => /\s/.test(char);
@@ -1387,7 +1386,6 @@ export function useTextBuffer({ initialText = '', initialCursorOffset = 0, viewp
1387
1386
  console.error('[useTextBuffer] external editor error', err);
1388
1387
  }
1389
1388
  finally {
1390
- enableSupportedProtocol();
1391
1389
  coreEvents.emit(CoreEvent.ExternalEditorClosed);
1392
1390
  if (wasRaw)
1393
1391
  setRawMode?.(true);