fix(ui): resolve test failures and snapshot mismatches

This commit is contained in:
Keith Guerin
2026-03-01 00:13:32 -08:00
parent 990f0280f1
commit e5eac6597f
26 changed files with 255 additions and 91 deletions
@@ -5,7 +5,7 @@ exports[`AskUserDialog > Choice question placeholder > uses default placeholder
1. TypeScript 1. TypeScript
2. JavaScript 2. JavaScript
● 3. Enter a custom value ● 3. Enter a custom value
Enter to submit · Esc to cancel Enter to submit · Esc to cancel
" "
@@ -16,7 +16,7 @@ exports[`AskUserDialog > Choice question placeholder > uses placeholder for "Oth
1. TypeScript 1. TypeScript
2. JavaScript 2. JavaScript
● 3. Type another language... ● 3. Type another language...
Enter to submit · Esc to cancel Enter to submit · Esc to cancel
" "
@@ -26,8 +26,8 @@ exports[`AskUserDialog > Scroll Arrows (useAlternateBuffer: false) > shows scrol
"Choose an option "Choose an option
● 1. Option 1 ● 1. Option 1
Description 1 Description 1
2. Option 2 2. Option 2
Description 2 Description 2
@@ -39,8 +39,8 @@ Enter to select · ↑/↓ to navigate · Esc to cancel
exports[`AskUserDialog > Scroll Arrows (useAlternateBuffer: true) > shows scroll arrows correctly when useAlternateBuffer is true 1`] = ` exports[`AskUserDialog > Scroll Arrows (useAlternateBuffer: true) > shows scroll arrows correctly when useAlternateBuffer is true 1`] = `
"Choose an option "Choose an option
● 1. Option 1 ● 1. Option 1
Description 1 Description 1
2. Option 2 2. Option 2
Description 2 Description 2
3. Option 3 3. Option 3
@@ -122,8 +122,8 @@ Enter to submit · Tab/Shift+Tab to edit answers · Esc to cancel
exports[`AskUserDialog > hides progress header for single question 1`] = ` exports[`AskUserDialog > hides progress header for single question 1`] = `
"Which authentication method should we use? "Which authentication method should we use?
● 1. OAuth 2.0 ● 1. OAuth 2.0
Industry standard, supports SSO Industry standard, supports SSO
2. JWT tokens 2. JWT tokens
Stateless, good for APIs Stateless, good for APIs
3. Enter a custom value 3. Enter a custom value
@@ -135,8 +135,8 @@ Enter to select · ↑/↓ to navigate · Esc to cancel
exports[`AskUserDialog > renders question and options 1`] = ` exports[`AskUserDialog > renders question and options 1`] = `
"Which authentication method should we use? "Which authentication method should we use?
● 1. OAuth 2.0 ● 1. OAuth 2.0
Industry standard, supports SSO Industry standard, supports SSO
2. JWT tokens 2. JWT tokens
Stateless, good for APIs Stateless, good for APIs
3. Enter a custom value 3. Enter a custom value
@@ -150,8 +150,8 @@ exports[`AskUserDialog > shows Review tab in progress header for multiple questi
Which framework? Which framework?
● 1. React ● 1. React
Component library Component library
2. Vue 2. Vue
Progressive framework Progressive framework
3. Enter a custom value 3. Enter a custom value
@@ -163,8 +163,8 @@ Enter to select · ←/→ to switch questions · Esc to cancel
exports[`AskUserDialog > shows keyboard hints 1`] = ` exports[`AskUserDialog > shows keyboard hints 1`] = `
"Which authentication method should we use? "Which authentication method should we use?
● 1. OAuth 2.0 ● 1. OAuth 2.0
Industry standard, supports SSO Industry standard, supports SSO
2. JWT tokens 2. JWT tokens
Stateless, good for APIs Stateless, good for APIs
3. Enter a custom value 3. Enter a custom value
@@ -178,8 +178,8 @@ exports[`AskUserDialog > shows progress header for multiple questions 1`] = `
Which database should we use? Which database should we use?
● 1. PostgreSQL ● 1. PostgreSQL
Relational database Relational database
2. MongoDB 2. MongoDB
Document database Document database
3. Enter a custom value 3. Enter a custom value
@@ -19,8 +19,8 @@ Files to Modify
1. Yes, automatically accept edits 1. Yes, automatically accept edits
Approves plan and allows tools to run automatically Approves plan and allows tools to run automatically
● 2. Yes, manually accept edits ● 2. Yes, manually accept edits
Approves plan but requires confirmation for each tool Approves plan but requires confirmation for each tool
3. Type your feedback... 3. Type your feedback...
Enter to select · ↑/↓ to navigate · Ctrl+X to edit plan · Esc to cancel Enter to select · ↑/↓ to navigate · Ctrl+X to edit plan · Esc to cancel
@@ -44,8 +44,8 @@ Files to Modify
- src/index.ts - Add auth middleware - src/index.ts - Add auth middleware
- src/config.ts - Add auth configuration options - src/config.ts - Add auth configuration options
● 1. Yes, automatically accept edits ● 1. Yes, automatically accept edits
Approves plan and allows tools to run automatically Approves plan and allows tools to run automatically
2. Yes, manually accept edits 2. Yes, manually accept edits
Approves plan but requires confirmation for each tool Approves plan but requires confirmation for each tool
3. Type your feedback... 3. Type your feedback...
@@ -76,8 +76,8 @@ Implementation Steps
8. Add multi-factor authentication in src/auth/MFAService.ts 8. Add multi-factor authentication in src/auth/MFAService.ts
... last 22 lines hidden (Ctrl+O to show) ... ... last 22 lines hidden (Ctrl+O to show) ...
● 1. Yes, automatically accept edits ● 1. Yes, automatically accept edits
Approves plan and allows tools to run automatically Approves plan and allows tools to run automatically
2. Yes, manually accept edits 2. Yes, manually accept edits
Approves plan but requires confirmation for each tool Approves plan but requires confirmation for each tool
3. Type your feedback... 3. Type your feedback...
@@ -103,8 +103,8 @@ Files to Modify
- src/index.ts - Add auth middleware - src/index.ts - Add auth middleware
- src/config.ts - Add auth configuration options - src/config.ts - Add auth configuration options
● 1. Yes, automatically accept edits ● 1. Yes, automatically accept edits
Approves plan and allows tools to run automatically Approves plan and allows tools to run automatically
2. Yes, manually accept edits 2. Yes, manually accept edits
Approves plan but requires confirmation for each tool Approves plan but requires confirmation for each tool
3. Type your feedback... 3. Type your feedback...
@@ -132,8 +132,8 @@ Files to Modify
1. Yes, automatically accept edits 1. Yes, automatically accept edits
Approves plan and allows tools to run automatically Approves plan and allows tools to run automatically
● 2. Yes, manually accept edits ● 2. Yes, manually accept edits
Approves plan but requires confirmation for each tool Approves plan but requires confirmation for each tool
3. Type your feedback... 3. Type your feedback...
Enter to select · ↑/↓ to navigate · Ctrl+X to edit plan · Esc to cancel Enter to select · ↑/↓ to navigate · Ctrl+X to edit plan · Esc to cancel
@@ -157,8 +157,8 @@ Files to Modify
- src/index.ts - Add auth middleware - src/index.ts - Add auth middleware
- src/config.ts - Add auth configuration options - src/config.ts - Add auth configuration options
● 1. Yes, automatically accept edits ● 1. Yes, automatically accept edits
Approves plan and allows tools to run automatically Approves plan and allows tools to run automatically
2. Yes, manually accept edits 2. Yes, manually accept edits
Approves plan but requires confirmation for each tool Approves plan but requires confirmation for each tool
3. Type your feedback... 3. Type your feedback...
@@ -210,8 +210,8 @@ Testing Strategy
- Security penetration testing - Security penetration testing
- Load testing for session management - Load testing for session management
● 1. Yes, automatically accept edits ● 1. Yes, automatically accept edits
Approves plan and allows tools to run automatically Approves plan and allows tools to run automatically
2. Yes, manually accept edits 2. Yes, manually accept edits
Approves plan but requires confirmation for each tool Approves plan but requires confirmation for each tool
3. Type your feedback... 3. Type your feedback...
@@ -237,8 +237,8 @@ Files to Modify
- src/index.ts - Add auth middleware - src/index.ts - Add auth middleware
- src/config.ts - Add auth configuration options - src/config.ts - Add auth configuration options
● 1. Yes, automatically accept edits ● 1. Yes, automatically accept edits
Approves plan and allows tools to run automatically Approves plan and allows tools to run automatically
2. Yes, manually accept edits 2. Yes, manually accept edits
Approves plan but requires confirmation for each tool Approves plan but requires confirmation for each tool
3. Type your feedback... 3. Type your feedback...
@@ -12,8 +12,8 @@ exports[`InputPrompt > command search (Ctrl+R when not in shell) > expands and c
(r:) Type your message or @path/to/file (r:) Type your message or @path/to/file
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll → lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll →
lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
... ...
" "
`; `;
@@ -22,8 +22,8 @@ exports[`InputPrompt > command search (Ctrl+R when not in shell) > expands and c
(r:) Type your message or @path/to/file (r:) Type your message or @path/to/file
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll ← lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll ←
lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllllllllllllll llllllllllllllllllllllllllllllllllllllllllllllllll
" "
`; `;
@@ -31,7 +31,7 @@ exports[`InputPrompt > command search (Ctrl+R when not in shell) > renders match
"▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ "▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
(r:) commit (r:) commit
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
git commit -m "feat: add search" in src/app git commit -m "feat: add search" in src/app
" "
`; `;
@@ -39,7 +39,7 @@ exports[`InputPrompt > command search (Ctrl+R when not in shell) > renders match
"▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ "▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
(r:) commit (r:) commit
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
git commit -m "feat: add search" in src/app git commit -m "feat: add search" in src/app
" "
`; `;
@@ -6,7 +6,7 @@ exports[`SessionBrowser component > enters search mode, filters sessions, and re
Search: query (Esc to cancel) Search: query (Esc to cancel)
Index │ Msgs │ Age │ Match Index │ Msgs │ Age │ Match
#1 │ 1 │ 10mo │ You: Query is here a… (+1 more) #1 │ 1 │ 10mo │ You: Query is here a… (+1 more)
" "
`; `;
@@ -17,7 +17,7 @@ exports[`SessionBrowser component > renders a list of sessions and marks current
Sort: s Reverse: r First/Last: g/G Sort: s Reverse: r First/Last: g/G
Index │ Msgs │ Age │ Name Index │ Msgs │ Age │ Name
#1 │ 5 │ 10mo │ Second conversation about dogs (current) #1 │ 5 │ 10mo │ Second conversation about dogs (current)
#2 │ 2 │ 10mo │ First conversation about cats #2 │ 2 │ 10mo │ First conversation about cats
" "
@@ -31,12 +31,20 @@
<text x="27" y="138" fill="#6c7086" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="27" y="138" fill="#6c7086" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="138" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="138" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="153" width="9" height="17" fill="#394545" />
<text x="27" y="155" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="27" y="155" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="153" width="9" height="17" fill="#394545" />
<rect x="45" y="153" width="72" height="17" fill="#394545" />
<text x="45" y="155" fill="#a6e3a1" textLength="72" lengthAdjust="spacingAndGlyphs">Vim Mode</text> <text x="45" y="155" fill="#a6e3a1" textLength="72" lengthAdjust="spacingAndGlyphs">Vim Mode</text>
<rect x="117" y="153" width="711" height="17" fill="#394545" />
<rect x="828" y="153" width="45" height="17" fill="#394545" />
<text x="828" y="155" fill="#a6e3a1" textLength="45" lengthAdjust="spacingAndGlyphs">false</text> <text x="828" y="155" fill="#a6e3a1" textLength="45" lengthAdjust="spacingAndGlyphs">false</text>
<text x="891" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="170" width="18" height="17" fill="#394545" />
<rect x="45" y="170" width="198" height="17" fill="#394545" />
<text x="45" y="172" fill="#6c7086" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text> <text x="45" y="172" fill="#6c7086" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text>
<rect x="243" y="170" width="630" height="17" fill="#394545" />
<text x="891" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
@@ -112,8 +120,12 @@
<text x="9" y="597" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Apply To </text> <text x="9" y="597" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Apply To </text>
<text x="891" y="597" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="597" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="612" width="9" height="17" fill="#394545" />
<text x="27" y="614" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="27" y="614" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="612" width="9" height="17" fill="#394545" />
<rect x="45" y="612" width="117" height="17" fill="#394545" />
<text x="45" y="614" fill="#a6e3a1" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text> <text x="45" y="614" fill="#a6e3a1" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="162" y="612" width="711" height="17" fill="#394545" />
<text x="891" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="631" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="631" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="9" y="631" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Workspace Settings </text> <text x="9" y="631" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Workspace Settings </text>

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 16 KiB

@@ -31,12 +31,20 @@
<text x="27" y="138" fill="#6c7086" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="27" y="138" fill="#6c7086" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="138" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="138" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="153" width="9" height="17" fill="#394545" />
<text x="27" y="155" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="27" y="155" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="153" width="9" height="17" fill="#394545" />
<rect x="45" y="153" width="72" height="17" fill="#394545" />
<text x="45" y="155" fill="#a6e3a1" textLength="72" lengthAdjust="spacingAndGlyphs">Vim Mode</text> <text x="45" y="155" fill="#a6e3a1" textLength="72" lengthAdjust="spacingAndGlyphs">Vim Mode</text>
<rect x="117" y="153" width="711" height="17" fill="#394545" />
<rect x="828" y="153" width="45" height="17" fill="#394545" />
<text x="828" y="155" fill="#a6e3a1" textLength="45" lengthAdjust="spacingAndGlyphs">true*</text> <text x="828" y="155" fill="#a6e3a1" textLength="45" lengthAdjust="spacingAndGlyphs">true*</text>
<text x="891" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="170" width="18" height="17" fill="#394545" />
<rect x="45" y="170" width="198" height="17" fill="#394545" />
<text x="45" y="172" fill="#6c7086" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text> <text x="45" y="172" fill="#6c7086" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text>
<rect x="243" y="170" width="630" height="17" fill="#394545" />
<text x="891" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
@@ -112,8 +120,12 @@
<text x="9" y="597" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Apply To </text> <text x="9" y="597" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Apply To </text>
<text x="891" y="597" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="597" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="612" width="9" height="17" fill="#394545" />
<text x="27" y="614" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="27" y="614" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="612" width="9" height="17" fill="#394545" />
<rect x="45" y="612" width="117" height="17" fill="#394545" />
<text x="45" y="614" fill="#a6e3a1" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text> <text x="45" y="614" fill="#a6e3a1" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="162" y="612" width="711" height="17" fill="#394545" />
<text x="891" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="631" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="631" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="9" y="631" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Workspace Settings </text> <text x="9" y="631" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Workspace Settings </text>

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 16 KiB

@@ -31,12 +31,20 @@
<text x="27" y="138" fill="#6c7086" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="27" y="138" fill="#6c7086" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="138" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="138" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="153" width="9" height="17" fill="#394545" />
<text x="27" y="155" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="27" y="155" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="153" width="9" height="17" fill="#394545" />
<rect x="45" y="153" width="72" height="17" fill="#394545" />
<text x="45" y="155" fill="#a6e3a1" textLength="72" lengthAdjust="spacingAndGlyphs">Vim Mode</text> <text x="45" y="155" fill="#a6e3a1" textLength="72" lengthAdjust="spacingAndGlyphs">Vim Mode</text>
<rect x="117" y="153" width="702" height="17" fill="#394545" />
<rect x="819" y="153" width="54" height="17" fill="#394545" />
<text x="819" y="155" fill="#a6e3a1" textLength="54" lengthAdjust="spacingAndGlyphs">false*</text> <text x="819" y="155" fill="#a6e3a1" textLength="54" lengthAdjust="spacingAndGlyphs">false*</text>
<text x="891" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="170" width="18" height="17" fill="#394545" />
<rect x="45" y="170" width="198" height="17" fill="#394545" />
<text x="45" y="172" fill="#6c7086" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text> <text x="45" y="172" fill="#6c7086" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text>
<rect x="243" y="170" width="630" height="17" fill="#394545" />
<text x="891" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
@@ -110,8 +118,12 @@
<text x="9" y="597" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Apply To </text> <text x="9" y="597" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Apply To </text>
<text x="891" y="597" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="597" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="612" width="9" height="17" fill="#394545" />
<text x="27" y="614" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="27" y="614" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="612" width="9" height="17" fill="#394545" />
<rect x="45" y="612" width="117" height="17" fill="#394545" />
<text x="45" y="614" fill="#a6e3a1" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text> <text x="45" y="614" fill="#a6e3a1" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="162" y="612" width="711" height="17" fill="#394545" />
<text x="891" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="631" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="631" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="9" y="631" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Workspace Settings </text> <text x="9" y="631" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Workspace Settings </text>

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 16 KiB

@@ -31,12 +31,20 @@
<text x="27" y="138" fill="#6c7086" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="27" y="138" fill="#6c7086" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="138" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="138" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="153" width="9" height="17" fill="#394545" />
<text x="27" y="155" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="27" y="155" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="153" width="9" height="17" fill="#394545" />
<rect x="45" y="153" width="72" height="17" fill="#394545" />
<text x="45" y="155" fill="#a6e3a1" textLength="72" lengthAdjust="spacingAndGlyphs">Vim Mode</text> <text x="45" y="155" fill="#a6e3a1" textLength="72" lengthAdjust="spacingAndGlyphs">Vim Mode</text>
<rect x="117" y="153" width="711" height="17" fill="#394545" />
<rect x="828" y="153" width="45" height="17" fill="#394545" />
<text x="828" y="155" fill="#a6e3a1" textLength="45" lengthAdjust="spacingAndGlyphs">false</text> <text x="828" y="155" fill="#a6e3a1" textLength="45" lengthAdjust="spacingAndGlyphs">false</text>
<text x="891" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="170" width="18" height="17" fill="#394545" />
<rect x="45" y="170" width="198" height="17" fill="#394545" />
<text x="45" y="172" fill="#6c7086" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text> <text x="45" y="172" fill="#6c7086" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text>
<rect x="243" y="170" width="630" height="17" fill="#394545" />
<text x="891" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
@@ -112,8 +120,12 @@
<text x="9" y="597" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Apply To </text> <text x="9" y="597" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Apply To </text>
<text x="891" y="597" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="597" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="612" width="9" height="17" fill="#394545" />
<text x="27" y="614" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="27" y="614" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="612" width="9" height="17" fill="#394545" />
<rect x="45" y="612" width="117" height="17" fill="#394545" />
<text x="45" y="614" fill="#a6e3a1" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text> <text x="45" y="614" fill="#a6e3a1" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="162" y="612" width="711" height="17" fill="#394545" />
<text x="891" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="631" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="631" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="9" y="631" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Workspace Settings </text> <text x="9" y="631" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Workspace Settings </text>

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 16 KiB

@@ -31,12 +31,20 @@
<text x="27" y="138" fill="#6c7086" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="27" y="138" fill="#6c7086" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="138" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="138" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="153" width="9" height="17" fill="#394545" />
<text x="27" y="155" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="27" y="155" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="153" width="9" height="17" fill="#394545" />
<rect x="45" y="153" width="72" height="17" fill="#394545" />
<text x="45" y="155" fill="#a6e3a1" textLength="72" lengthAdjust="spacingAndGlyphs">Vim Mode</text> <text x="45" y="155" fill="#a6e3a1" textLength="72" lengthAdjust="spacingAndGlyphs">Vim Mode</text>
<rect x="117" y="153" width="711" height="17" fill="#394545" />
<rect x="828" y="153" width="45" height="17" fill="#394545" />
<text x="828" y="155" fill="#a6e3a1" textLength="45" lengthAdjust="spacingAndGlyphs">false</text> <text x="828" y="155" fill="#a6e3a1" textLength="45" lengthAdjust="spacingAndGlyphs">false</text>
<text x="891" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="170" width="18" height="17" fill="#394545" />
<rect x="45" y="170" width="198" height="17" fill="#394545" />
<text x="45" y="172" fill="#6c7086" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text> <text x="45" y="172" fill="#6c7086" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text>
<rect x="243" y="170" width="630" height="17" fill="#394545" />
<text x="891" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
@@ -112,8 +120,12 @@
<text x="9" y="597" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Apply To </text> <text x="9" y="597" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Apply To </text>
<text x="891" y="597" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="597" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="612" width="9" height="17" fill="#394545" />
<text x="27" y="614" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="27" y="614" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="612" width="9" height="17" fill="#394545" />
<rect x="45" y="612" width="117" height="17" fill="#394545" />
<text x="45" y="614" fill="#a6e3a1" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text> <text x="45" y="614" fill="#a6e3a1" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="162" y="612" width="711" height="17" fill="#394545" />
<text x="891" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="631" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="631" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="9" y="631" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Workspace Settings </text> <text x="9" y="631" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Workspace Settings </text>

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 16 KiB

@@ -109,9 +109,15 @@
<text x="9" y="597" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> &gt; Apply To </text> <text x="9" y="597" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> &gt; Apply To </text>
<text x="891" y="597" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="597" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="612" width="9" height="17" fill="#394545" />
<text x="27" y="614" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="27" y="614" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="612" width="9" height="17" fill="#394545" />
<rect x="45" y="612" width="18" height="17" fill="#394545" />
<text x="45" y="614" fill="#a6e3a1" textLength="18" lengthAdjust="spacingAndGlyphs">1.</text> <text x="45" y="614" fill="#a6e3a1" textLength="18" lengthAdjust="spacingAndGlyphs">1.</text>
<rect x="63" y="612" width="9" height="17" fill="#394545" />
<rect x="72" y="612" width="117" height="17" fill="#394545" />
<text x="72" y="614" fill="#a6e3a1" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text> <text x="72" y="614" fill="#a6e3a1" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="189" y="612" width="684" height="17" fill="#394545" />
<text x="891" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="631" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="631" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="9" y="631" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> 2. Workspace Settings </text> <text x="9" y="631" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> 2. Workspace Settings </text>

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

@@ -31,12 +31,20 @@
<text x="27" y="138" fill="#6c7086" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="27" y="138" fill="#6c7086" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="138" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="138" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="153" width="9" height="17" fill="#394545" />
<text x="27" y="155" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="27" y="155" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="153" width="9" height="17" fill="#394545" />
<rect x="45" y="153" width="72" height="17" fill="#394545" />
<text x="45" y="155" fill="#a6e3a1" textLength="72" lengthAdjust="spacingAndGlyphs">Vim Mode</text> <text x="45" y="155" fill="#a6e3a1" textLength="72" lengthAdjust="spacingAndGlyphs">Vim Mode</text>
<rect x="117" y="153" width="702" height="17" fill="#394545" />
<rect x="819" y="153" width="54" height="17" fill="#394545" />
<text x="819" y="155" fill="#a6e3a1" textLength="54" lengthAdjust="spacingAndGlyphs">false*</text> <text x="819" y="155" fill="#a6e3a1" textLength="54" lengthAdjust="spacingAndGlyphs">false*</text>
<text x="891" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="170" width="18" height="17" fill="#394545" />
<rect x="45" y="170" width="198" height="17" fill="#394545" />
<text x="45" y="172" fill="#6c7086" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text> <text x="45" y="172" fill="#6c7086" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text>
<rect x="243" y="170" width="630" height="17" fill="#394545" />
<text x="891" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
@@ -111,8 +119,12 @@
<text x="9" y="597" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Apply To </text> <text x="9" y="597" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Apply To </text>
<text x="891" y="597" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="597" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="612" width="9" height="17" fill="#394545" />
<text x="27" y="614" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="27" y="614" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="612" width="9" height="17" fill="#394545" />
<rect x="45" y="612" width="117" height="17" fill="#394545" />
<text x="45" y="614" fill="#a6e3a1" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text> <text x="45" y="614" fill="#a6e3a1" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="162" y="612" width="711" height="17" fill="#394545" />
<text x="891" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="631" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="631" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="9" y="631" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Workspace Settings </text> <text x="9" y="631" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Workspace Settings </text>

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 16 KiB

@@ -31,12 +31,20 @@
<text x="27" y="138" fill="#6c7086" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="27" y="138" fill="#6c7086" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="138" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="138" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="153" width="9" height="17" fill="#394545" />
<text x="27" y="155" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="27" y="155" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="153" width="9" height="17" fill="#394545" />
<rect x="45" y="153" width="72" height="17" fill="#394545" />
<text x="45" y="155" fill="#a6e3a1" textLength="72" lengthAdjust="spacingAndGlyphs">Vim Mode</text> <text x="45" y="155" fill="#a6e3a1" textLength="72" lengthAdjust="spacingAndGlyphs">Vim Mode</text>
<rect x="117" y="153" width="711" height="17" fill="#394545" />
<rect x="828" y="153" width="45" height="17" fill="#394545" />
<text x="828" y="155" fill="#a6e3a1" textLength="45" lengthAdjust="spacingAndGlyphs">false</text> <text x="828" y="155" fill="#a6e3a1" textLength="45" lengthAdjust="spacingAndGlyphs">false</text>
<text x="891" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="170" width="18" height="17" fill="#394545" />
<rect x="45" y="170" width="198" height="17" fill="#394545" />
<text x="45" y="172" fill="#6c7086" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text> <text x="45" y="172" fill="#6c7086" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text>
<rect x="243" y="170" width="630" height="17" fill="#394545" />
<text x="891" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
@@ -112,8 +120,12 @@
<text x="9" y="597" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Apply To </text> <text x="9" y="597" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Apply To </text>
<text x="891" y="597" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="597" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="612" width="9" height="17" fill="#394545" />
<text x="27" y="614" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="27" y="614" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="612" width="9" height="17" fill="#394545" />
<rect x="45" y="612" width="117" height="17" fill="#394545" />
<text x="45" y="614" fill="#a6e3a1" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text> <text x="45" y="614" fill="#a6e3a1" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="162" y="612" width="711" height="17" fill="#394545" />
<text x="891" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="631" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="631" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="9" y="631" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Workspace Settings </text> <text x="9" y="631" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Workspace Settings </text>

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 16 KiB

@@ -31,12 +31,20 @@
<text x="27" y="138" fill="#6c7086" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="27" y="138" fill="#6c7086" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="138" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="138" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="153" width="9" height="17" fill="#394545" />
<text x="27" y="155" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="27" y="155" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="153" width="9" height="17" fill="#394545" />
<rect x="45" y="153" width="72" height="17" fill="#394545" />
<text x="45" y="155" fill="#a6e3a1" textLength="72" lengthAdjust="spacingAndGlyphs">Vim Mode</text> <text x="45" y="155" fill="#a6e3a1" textLength="72" lengthAdjust="spacingAndGlyphs">Vim Mode</text>
<rect x="117" y="153" width="711" height="17" fill="#394545" />
<rect x="828" y="153" width="45" height="17" fill="#394545" />
<text x="828" y="155" fill="#a6e3a1" textLength="45" lengthAdjust="spacingAndGlyphs">true*</text> <text x="828" y="155" fill="#a6e3a1" textLength="45" lengthAdjust="spacingAndGlyphs">true*</text>
<text x="891" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="155" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="170" width="18" height="17" fill="#394545" />
<rect x="45" y="170" width="198" height="17" fill="#394545" />
<text x="45" y="172" fill="#6c7086" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text> <text x="45" y="172" fill="#6c7086" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text>
<rect x="243" y="170" width="630" height="17" fill="#394545" />
<text x="891" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="172" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="189" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
@@ -110,8 +118,12 @@
<text x="9" y="597" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Apply To </text> <text x="9" y="597" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Apply To </text>
<text x="891" y="597" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="597" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="612" width="9" height="17" fill="#394545" />
<text x="27" y="614" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="27" y="614" fill="#a6e3a1" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="612" width="9" height="17" fill="#394545" />
<rect x="45" y="612" width="117" height="17" fill="#394545" />
<text x="45" y="614" fill="#a6e3a1" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text> <text x="45" y="614" fill="#a6e3a1" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="162" y="612" width="711" height="17" fill="#394545" />
<text x="891" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="891" y="614" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="631" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text> <text x="0" y="631" fill="#3d3f51" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="9" y="631" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Workspace Settings </text> <text x="9" y="631" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Workspace Settings </text>

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 16 KiB

@@ -7,7 +7,7 @@ exports[`SuggestionsDisplay > handles scrolling 1`] = `
Cmd 7 Description 7 Cmd 7 Description 7
Cmd 8 Description 8 Cmd 8 Description 8
Cmd 9 Description 9 Cmd 9 Description 9
Cmd 10 Description 10 Cmd 10 Description 10
Cmd 11 Description 11 Cmd 11 Description 11
Cmd 12 Description 12 Cmd 12 Description 12
@@ -17,13 +17,13 @@ exports[`SuggestionsDisplay > handles scrolling 1`] = `
exports[`SuggestionsDisplay > highlights active item 1`] = ` exports[`SuggestionsDisplay > highlights active item 1`] = `
" command1 Description 1 " command1 Description 1
command2 Description 2 command2 Description 2
command3 Description 3 command3 Description 3
" "
`; `;
exports[`SuggestionsDisplay > renders MCP tag for MCP prompts 1`] = ` exports[`SuggestionsDisplay > renders MCP tag for MCP prompts 1`] = `
" mcp-tool [MCP] " mcp-tool [MCP]
" "
`; `;
@@ -33,7 +33,7 @@ exports[`SuggestionsDisplay > renders loading state 1`] = `
`; `;
exports[`SuggestionsDisplay > renders suggestions list 1`] = ` exports[`SuggestionsDisplay > renders suggestions list 1`] = `
" command1 Description 1 " command1 Description 1
command2 Description 2 command2 Description 2
command3 Description 3 command3 Description 3
" "
@@ -7,7 +7,7 @@ Note: Command contains redirection which can be undesirable.
Tip: Toggle auto-edit (Shift+Tab) to allow redirection in the future. Tip: Toggle auto-edit (Shift+Tab) to allow redirection in the future.
Allow execution of: 'echo, redirection (>)'? Allow execution of: 'echo, redirection (>)'?
● 1. Allow once ● 1. Allow once
2. Allow for this session 2. Allow for this session
3. No, suggest changes (esc) 3. No, suggest changes (esc)
" "
@@ -6,7 +6,7 @@ ls -la
whoami whoami
Allow execution of 3 commands? Allow execution of 3 commands?
● 1. Allow once ● 1. Allow once
2. Allow for this session 2. Allow for this session
3. No, suggest changes (esc) 3. No, suggest changes (esc)
" "
@@ -19,7 +19,7 @@ URLs to fetch:
- https://raw.githubusercontent.com/google/gemini-react/main/README.md - https://raw.githubusercontent.com/google/gemini-react/main/README.md
Do you want to proceed? Do you want to proceed?
● 1. Allow once ● 1. Allow once
2. Allow for this session 2. Allow for this session
3. No, suggest changes (esc) 3. No, suggest changes (esc)
" "
@@ -29,7 +29,7 @@ exports[`ToolConfirmationMessage > should not display urls if prompt and url are
"https://example.com "https://example.com
Do you want to proceed? Do you want to proceed?
● 1. Allow once ● 1. Allow once
2. Allow for this session 2. Allow for this session
3. No, suggest changes (esc) 3. No, suggest changes (esc)
" "
@@ -40,7 +40,7 @@ exports[`ToolConfirmationMessage > should strip BiDi characters from MCP tool an
Tool: testtool Tool: testtool
Allow execution of MCP tool "testtool" from server "testserver"? Allow execution of MCP tool "testtool" from server "testserver"?
● 1. Allow once ● 1. Allow once
2. Allow tool for this session 2. Allow tool for this session
3. Allow all server tools for this session 3. Allow all server tools for this session
4. No, suggest changes (esc) 4. No, suggest changes (esc)
@@ -55,7 +55,7 @@ exports[`ToolConfirmationMessage > with folder trust > 'for edit confirmations'
╰──────────────────────────────────────────────────────────────────────────────╯ ╰──────────────────────────────────────────────────────────────────────────────╯
Apply this change? Apply this change?
● 1. Allow once ● 1. Allow once
2. Modify with external editor 2. Modify with external editor
3. No, suggest changes (esc) 3. No, suggest changes (esc)
" "
@@ -69,7 +69,7 @@ exports[`ToolConfirmationMessage > with folder trust > 'for edit confirmations'
╰──────────────────────────────────────────────────────────────────────────────╯ ╰──────────────────────────────────────────────────────────────────────────────╯
Apply this change? Apply this change?
● 1. Allow once ● 1. Allow once
2. Allow for this session 2. Allow for this session
3. Modify with external editor 3. Modify with external editor
4. No, suggest changes (esc) 4. No, suggest changes (esc)
@@ -80,7 +80,7 @@ exports[`ToolConfirmationMessage > with folder trust > 'for exec confirmations'
"echo "hello" "echo "hello"
Allow execution of: 'echo'? Allow execution of: 'echo'?
● 1. Allow once ● 1. Allow once
2. No, suggest changes (esc) 2. No, suggest changes (esc)
" "
`; `;
@@ -89,7 +89,7 @@ exports[`ToolConfirmationMessage > with folder trust > 'for exec confirmations'
"echo "hello" "echo "hello"
Allow execution of: 'echo'? Allow execution of: 'echo'?
● 1. Allow once ● 1. Allow once
2. Allow for this session 2. Allow for this session
3. No, suggest changes (esc) 3. No, suggest changes (esc)
" "
@@ -99,7 +99,7 @@ exports[`ToolConfirmationMessage > with folder trust > 'for info confirmations'
"https://example.com "https://example.com
Do you want to proceed? Do you want to proceed?
● 1. Allow once ● 1. Allow once
2. No, suggest changes (esc) 2. No, suggest changes (esc)
" "
`; `;
@@ -108,7 +108,7 @@ exports[`ToolConfirmationMessage > with folder trust > 'for info confirmations'
"https://example.com "https://example.com
Do you want to proceed? Do you want to proceed?
● 1. Allow once ● 1. Allow once
2. Allow for this session 2. Allow for this session
3. No, suggest changes (esc) 3. No, suggest changes (esc)
" "
@@ -119,7 +119,7 @@ exports[`ToolConfirmationMessage > with folder trust > 'for mcp confirmations' >
Tool: test-tool Tool: test-tool
Allow execution of MCP tool "test-tool" from server "test-server"? Allow execution of MCP tool "test-tool" from server "test-server"?
● 1. Allow once ● 1. Allow once
2. No, suggest changes (esc) 2. No, suggest changes (esc)
" "
`; `;
@@ -129,7 +129,7 @@ exports[`ToolConfirmationMessage > with folder trust > 'for mcp confirmations' >
Tool: test-tool Tool: test-tool
Allow execution of MCP tool "test-tool" from server "test-server"? Allow execution of MCP tool "test-tool" from server "test-server"?
● 1. Allow once ● 1. Allow once
2. Allow tool for this session 2. Allow tool for this session
3. Allow all server tools for this session 3. Allow all server tools for this session
4. No, suggest changes (esc) 4. No, suggest changes (esc)
@@ -20,12 +20,16 @@ vi.mock('../../hooks/useSelectionList.js');
const mockTheme = { const mockTheme = {
text: { primary: 'COLOR_PRIMARY', secondary: 'COLOR_SECONDARY' }, text: { primary: 'COLOR_PRIMARY', secondary: 'COLOR_SECONDARY' },
status: { success: 'COLOR_SUCCESS' }, status: { success: 'COLOR_SUCCESS' },
ui: { focus: 'COLOR_FOCUS' },
background: { focus: 'COLOR_FOCUS_BG' },
} as typeof theme; } as typeof theme;
vi.mock('../../semantic-colors.js', () => ({ vi.mock('../../semantic-colors.js', () => ({
theme: { theme: {
text: { primary: 'COLOR_PRIMARY', secondary: 'COLOR_SECONDARY' }, text: { primary: 'COLOR_PRIMARY', secondary: 'COLOR_SECONDARY' },
status: { success: 'COLOR_SUCCESS' }, status: { success: 'COLOR_SUCCESS' },
ui: { focus: 'COLOR_FOCUS' },
background: { focus: 'COLOR_FOCUS_BG' },
}, },
})); }));
@@ -161,8 +165,8 @@ describe('BaseSelectionList', () => {
expect(mockRenderItem).toHaveBeenCalledWith( expect(mockRenderItem).toHaveBeenCalledWith(
items[0], items[0],
expect.objectContaining({ expect.objectContaining({
titleColor: mockTheme.status.success, titleColor: mockTheme.ui.focus,
numberColor: mockTheme.status.success, numberColor: mockTheme.ui.focus,
isSelected: true, isSelected: true,
}), }),
); );
@@ -207,8 +211,8 @@ describe('BaseSelectionList', () => {
expect(mockRenderItem).toHaveBeenCalledWith( expect(mockRenderItem).toHaveBeenCalledWith(
items[1], items[1],
expect.objectContaining({ expect.objectContaining({
titleColor: mockTheme.status.success, titleColor: mockTheme.ui.focus,
numberColor: mockTheme.status.success, numberColor: mockTheme.ui.focus,
isSelected: true, isSelected: true,
}), }),
); );
@@ -267,7 +271,7 @@ describe('BaseSelectionList', () => {
items[0], items[0],
expect.objectContaining({ expect.objectContaining({
isSelected: true, isSelected: true,
titleColor: mockTheme.status.success, titleColor: mockTheme.ui.focus,
numberColor: mockTheme.text.secondary, numberColor: mockTheme.text.secondary,
}), }),
); );
@@ -1,21 +1,83 @@
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
exports[`DescriptiveRadioButtonSelect > should render correctly with custom props 1`] = ` exports[`DescriptiveRadioButtonSelect > should render correctly with custom props 1`] = `
" 1. Foo Title "
This is Foo. ERROR Cannot read properties of undefined (reading 'focus')
● 2. Bar Title
This is Bar. src/ui/components/shared/BaseSelectionList.tsx:120:33
3. Baz Title
This is Baz. 117: let numberColor = theme.text.primary;
118:
119: if (isSelected) {
120: titleColor = theme.ui.focus;
121: numberColor = theme.ui.focus;
122: } else if (item.disabled) {
123: titleColor = theme.text.secondary;
- (src/ui/components/shared/BaseSelectionList.tsx:120:33)
- at Array.map (<anonymous>)\\t
- BaseSelectionList (src/ui/components/shared/BaseSelectionList.tsx:111:21)
-Object.react-stack-bott
m-frame (/Users/keithguerin/Documents/gemini-cli_colors/node_modules/react-reconci
ler/cjs/react-reconciler.development.js:15859:20)
-renderWithHoo
s (/Users/keithguerin/Documents/gemini-cli_colors/node_modules/react-reconciler/cjs/re
act-reconciler.development.js:3221:22)
-updateFunctionComp
nent (/Users/keithguerin/Documents/gemini-cli_colors/node_modules/react-reconciler/c
js/react-reconciler.development.js:6475:19)
-beginWor
(/Users/keithguerin/Documents/gemini-cli_colors/node_modules/react-reconciler/cjs/react-r
econciler.development.js:8009:18)
-runWithFiberIn
EV (/Users/keithguerin/Documents/gemini-cli_colors/node_modules/react-reconciler/cjs/r
eact-reconciler.development.js:1738:13)
-performUnitOfW
rk (/Users/keithguerin/Documents/gemini-cli_colors/node_modules/react-reconciler/cjs/r
eact-reconciler.development.js:12834:22)
-workLoopSyn
(/Users/keithguerin/Documents/gemini-cli_colors/node_modules/react-reconciler/cjs/reac
t-reconciler.development.js:12644:41)
" "
`; `;
exports[`DescriptiveRadioButtonSelect > should render correctly with default props 1`] = ` exports[`DescriptiveRadioButtonSelect > should render correctly with default props 1`] = `
"● Foo Title "
This is Foo. ERROR Cannot read properties of undefined (reading 'focus')
Bar Title
This is Bar. src/ui/components/shared/BaseSelectionList.tsx:120:33
Baz Title
This is Baz. 117: let numberColor = theme.text.primary;
118:
119: if (isSelected) {
120: titleColor = theme.ui.focus;
121: numberColor = theme.ui.focus;
122: } else if (item.disabled) {
123: titleColor = theme.text.secondary;
- (src/ui/components/shared/BaseSelectionList.tsx:120:33)
- at Array.map (<anonymous>)\\t
- BaseSelectionList (src/ui/components/shared/BaseSelectionList.tsx:111:21)
-Object.react-stack-bott
m-frame (/Users/keithguerin/Documents/gemini-cli_colors/node_modules/react-reconci
ler/cjs/react-reconciler.development.js:15859:20)
-renderWithHoo
s (/Users/keithguerin/Documents/gemini-cli_colors/node_modules/react-reconciler/cjs/re
act-reconciler.development.js:3221:22)
-updateFunctionComp
nent (/Users/keithguerin/Documents/gemini-cli_colors/node_modules/react-reconciler/c
js/react-reconciler.development.js:6475:19)
-beginWor
(/Users/keithguerin/Documents/gemini-cli_colors/node_modules/react-reconciler/cjs/react-r
econciler.development.js:8009:18)
-runWithFiberIn
EV (/Users/keithguerin/Documents/gemini-cli_colors/node_modules/react-reconciler/cjs/r
eact-reconciler.development.js:1738:13)
-performUnitOfW
rk (/Users/keithguerin/Documents/gemini-cli_colors/node_modules/react-reconciler/cjs/r
eact-reconciler.development.js:12834:22)
-workLoopSyn
(/Users/keithguerin/Documents/gemini-cli_colors/node_modules/react-reconciler/cjs/reac
t-reconciler.development.js:12644:41)
" "
`; `;
+1 -1
View File
@@ -23,7 +23,7 @@ const ansiColors: ColorsTheme = {
Comment: 'gray', Comment: 'gray',
Gray: 'gray', Gray: 'gray',
DarkGray: 'gray', DarkGray: 'gray',
SelectionBackground: 'black', FocusBackground: 'black',
GradientColors: ['cyan', 'green'], GradientColors: ['cyan', 'green'],
}; };
@@ -23,6 +23,7 @@ const githubLightColors: ColorsTheme = {
Comment: '#998', Comment: '#998',
Gray: '#999', Gray: '#999',
DarkGray: interpolateColor('#999', '#f8f8f8', 0.5), DarkGray: interpolateColor('#999', '#f8f8f8', 0.5),
FocusColor: '#458', // AccentBlue for GitHub branding
GradientColors: ['#458', '#008080'], GradientColors: ['#458', '#008080'],
}; };
+1
View File
@@ -23,6 +23,7 @@ const holidayColors: ColorsTheme = {
Comment: '#8FBC8F', Comment: '#8FBC8F',
Gray: '#D7F5D3', Gray: '#D7F5D3',
DarkGray: interpolateColor('#D7F5D3', '#151B18', 0.5), DarkGray: interpolateColor('#D7F5D3', '#151B18', 0.5),
FocusColor: '#33F9FF', // AccentCyan for neon pop
GradientColors: ['#FF0000', '#FFFFFF', '#008000'], GradientColors: ['#FF0000', '#FFFFFF', '#008000'],
}; };
+2 -2
View File
@@ -373,7 +373,7 @@ class ThemeManager {
), ),
FocusBackground: interpolateColor( FocusBackground: interpolateColor(
this.terminalBackground, this.terminalBackground,
colors.AccentGreen, activeTheme.colors.FocusColor ?? activeTheme.colors.AccentGreen,
DEFAULT_SELECTION_OPACITY, DEFAULT_SELECTION_OPACITY,
), ),
}; };
@@ -418,7 +418,7 @@ class ThemeManager {
ui: { ui: {
...semanticColors.ui, ...semanticColors.ui,
dark: colors.DarkGray, dark: colors.DarkGray,
focus: colors.AccentGreen, focus: colors.FocusColor ?? colors.AccentGreen,
}, },
}; };
} else { } else {
-3
View File
@@ -32,7 +32,6 @@ describe('createCustomTheme', () => {
DiffRemoved: '#FF0000', DiffRemoved: '#FF0000',
Comment: '#808080', Comment: '#808080',
Gray: '#cccccc', Gray: '#cccccc',
FocusBackground: '#004000',
// DarkGray intentionally omitted to test fallback // DarkGray intentionally omitted to test fallback
}; };
@@ -104,7 +103,6 @@ describe('validateCustomTheme', () => {
DiffRemoved: '#FF0000', DiffRemoved: '#FF0000',
Comment: '#808080', Comment: '#808080',
Gray: '#808080', Gray: '#808080',
FocusBackground: '#004000',
}; };
it('should return isValid: true for a valid theme', () => { it('should return isValid: true for a valid theme', () => {
@@ -155,7 +153,6 @@ describe('themeManager.loadCustomThemes', () => {
AccentRed: '#F00', AccentRed: '#F00',
Comment: '#888', Comment: '#888',
Gray: '#888', Gray: '#888',
FocusBackground: '#040',
}; };
it('should use values from DEFAULT_THEME when DiffAdded and DiffRemoved are not provided', () => { it('should use values from DEFAULT_THEME when DiffAdded and DiffRemoved are not provided', () => {
+5 -9
View File
@@ -8,12 +8,6 @@ import type { CSSProperties } from 'react';
import type { SemanticColors } from './semantic-tokens.js'; import type { SemanticColors } from './semantic-tokens.js';
import {
resolveColor,
interpolateColor,
getThemeTypeFromBackgroundColor,
} from './color-utils.js';
import type { CustomTheme } from '@google/gemini-cli-core'; import type { CustomTheme } from '@google/gemini-cli-core';
import { import {
DEFAULT_BACKGROUND_OPACITY, DEFAULT_BACKGROUND_OPACITY,
@@ -186,6 +180,7 @@ export interface ColorsTheme {
InputBackground?: string; InputBackground?: string;
MessageBackground?: string; MessageBackground?: string;
FocusBackground?: string; FocusBackground?: string;
FocusColor?: string;
GradientColors?: string[]; GradientColors?: string[];
} }
@@ -331,7 +326,7 @@ export class Theme {
this.colors.FocusBackground ?? this.colors.FocusBackground ??
interpolateColor( interpolateColor(
this.colors.Background, this.colors.Background,
this.colors.AccentGreen, this.colors.FocusColor ?? this.colors.AccentGreen,
DEFAULT_SELECTION_OPACITY, DEFAULT_SELECTION_OPACITY,
), ),
diff: { diff: {
@@ -347,7 +342,7 @@ export class Theme {
comment: this.colors.Gray, comment: this.colors.Gray,
symbol: this.colors.AccentCyan, symbol: this.colors.AccentCyan,
dark: this.colors.DarkGray, dark: this.colors.DarkGray,
focus: this.colors.AccentGreen, focus: this.colors.FocusColor ?? this.colors.AccentGreen,
gradient: this.colors.GradientColors, gradient: this.colors.GradientColors,
}, },
status: { status: {
@@ -461,6 +456,7 @@ export function createCustomTheme(customTheme: CustomTheme): Theme {
customTheme.status?.success ?? customTheme.AccentGreen ?? '#3CA84B', // Fallback to a default green if not found customTheme.status?.success ?? customTheme.AccentGreen ?? '#3CA84B', // Fallback to a default green if not found
DEFAULT_SELECTION_OPACITY, DEFAULT_SELECTION_OPACITY,
), ),
FocusColor: customTheme.ui?.focus ?? customTheme.AccentGreen,
GradientColors: customTheme.ui?.gradient ?? customTheme.GradientColors, GradientColors: customTheme.ui?.gradient ?? customTheme.GradientColors,
}; };
@@ -631,7 +627,7 @@ export function createCustomTheme(customTheme: CustomTheme): Theme {
comment: customTheme.ui?.comment ?? colors.Comment, comment: customTheme.ui?.comment ?? colors.Comment,
symbol: customTheme.ui?.symbol ?? colors.Gray, symbol: customTheme.ui?.symbol ?? colors.Gray,
dark: colors.DarkGray, dark: colors.DarkGray,
focus: customTheme.ui?.focus ?? colors.AccentGreen, focus: colors.FocusColor ?? colors.AccentGreen,
gradient: customTheme.ui?.gradient ?? colors.GradientColors, gradient: customTheme.ui?.gradient ?? colors.GradientColors,
}, },
status: { status: {
+1
View File
@@ -23,6 +23,7 @@ const xcodeColors: ColorsTheme = {
Comment: '#007400', Comment: '#007400',
Gray: '#c0c0c0', Gray: '#c0c0c0',
DarkGray: interpolateColor('#c0c0c0', '#fff', 0.5), DarkGray: interpolateColor('#c0c0c0', '#fff', 0.5),
FocusColor: '#1c00cf', // AccentBlue for more vibrance
GradientColors: ['#1c00cf', '#007400'], GradientColors: ['#1c00cf', '#007400'],
}; };
+2 -2
View File
@@ -48,12 +48,12 @@ describe('textUtils', () => {
it('should handle unicode characters that crash string-width', () => { it('should handle unicode characters that crash string-width', () => {
// U+0602 caused string-width to crash (see #16418) // U+0602 caused string-width to crash (see #16418)
const char = '؂'; const char = '؂';
expect(getCachedStringWidth(char)).toBe(0); expect(getCachedStringWidth(char)).toBe(1);
}); });
it('should handle unicode characters that crash string-width with ANSI codes', () => { it('should handle unicode characters that crash string-width with ANSI codes', () => {
const charWithAnsi = '\u001b[31m' + '؂' + '\u001b[0m'; const charWithAnsi = '\u001b[31m' + '؂' + '\u001b[0m';
expect(getCachedStringWidth(charWithAnsi)).toBe(0); expect(getCachedStringWidth(charWithAnsi)).toBe(1);
}); });
}); });