refactor(ui): simplify BaseSelectionList measurement and refine list layout

This commit is contained in:
Mark McLaughlin
2026-03-09 14:47:37 -07:00
parent be1129aee5
commit 8bc9238cab
37 changed files with 779 additions and 653 deletions
@@ -127,9 +127,9 @@ HistoryItemDisplay
│ ls │
│ Allow execution of: 'ls'? │
│ │
│ ● 1. Allow once
│ 2. Allow for this session
│ 3. No, suggest changes (esc)
● 1. Allow once │
2. Allow for this session │
3. No, suggest changes (esc) │
│ │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
@@ -3,9 +3,9 @@
exports[`AskUserDialog > Choice question placeholder > uses default placeholder when not provided 1`] = `
"Select your preferred language:
1. TypeScript
2. JavaScript
● 3. Enter a custom value
1. TypeScript
2. JavaScript
● 3. Enter a custom value
Enter to submit · Esc to cancel
"
@@ -14,9 +14,9 @@ Enter to submit · Esc to cancel
exports[`AskUserDialog > Choice question placeholder > uses placeholder for "Other" option when provided 1`] = `
"Select your preferred language:
1. TypeScript
2. JavaScript
● 3. Type another language...
1. TypeScript
2. JavaScript
● 3. Type another language...
Enter to submit · Esc to cancel
"
@@ -26,10 +26,10 @@ exports[`AskUserDialog > Scroll Arrows (useAlternateBuffer: false) > shows scrol
"Choose an option
● 1. Option 1
Description 1
2. Option 2
Description 2
● 1. Option 1
Description 1
2. Option 2
Description 2
Enter to select · ↑/↓ to navigate · Esc to cancel
@@ -39,37 +39,37 @@ Enter to select · ↑/↓ to navigate · Esc to cancel
exports[`AskUserDialog > Scroll Arrows (useAlternateBuffer: true) > shows scroll arrows correctly when useAlternateBuffer is true 1`] = `
"Choose an option
● 1. Option 1
Description 1
2. Option 2
Description 2
3. Option 3
Description 3
4. Option 4
Description 4
5. Option 5
Description 5
6. Option 6
Description 6
7. Option 7
Description 7
8. Option 8
Description 8
9. Option 9
Description 9
10. Option 10
Description 10
11. Option 11
Description 11
12. Option 12
Description 12
13. Option 13
Description 13
14. Option 14
Description 14
15. Option 15
Description 15
16. Enter a custom value
● 1. Option 1
Description 1
2. Option 2
Description 2
3. Option 3
Description 3
4. Option 4
Description 4
5. Option 5
Description 5
6. Option 6
Description 6
7. Option 7
Description 7
8. Option 8
Description 8
9. Option 9
Description 9
10. Option 10
Description 10
11. Option 11
Description 11
12. Option 12
Description 12
13. Option 13
Description 13
14. Option 14
Description 14
15. Option 15
Description 15
16. Enter a custom value
Enter to select · ↑/↓ to navigate · Esc to cancel
"
@@ -115,20 +115,6 @@ Review your answers:
Tests → (not answered)
Docs → (not answered)
Enter to submit · / to edit answers · Esc to cancel
"
`;
exports[`AskUserDialog > allows navigating to Review tab and back 2`] = `
"← □ Tests │ □ Docs │ ≡ Review →
Review your answers:
⚠ You have 2 unanswered questions
Tests → (not answered)
Docs → (not answered)
Enter to submit · Tab/Shift+Tab to edit answers · Esc to cancel
"
`;
@@ -136,11 +122,11 @@ Enter to submit · Tab/Shift+Tab to edit answers · Esc to cancel
exports[`AskUserDialog > hides progress header for single question 1`] = `
"Which authentication method should we use?
● 1. OAuth 2.0
Industry standard, supports SSO
2. JWT tokens
Stateless, good for APIs
3. Enter a custom value
● 1. OAuth 2.0
Industry standard, supports SSO
2. JWT tokens
Stateless, good for APIs
3. Enter a custom value
Enter to select · ↑/↓ to navigate · Esc to cancel
"
@@ -149,11 +135,11 @@ Enter to select · ↑/↓ to navigate · Esc to cancel
exports[`AskUserDialog > renders question and options 1`] = `
"Which authentication method should we use?
● 1. OAuth 2.0
Industry standard, supports SSO
2. JWT tokens
Stateless, good for APIs
3. Enter a custom value
● 1. OAuth 2.0
Industry standard, supports SSO
2. JWT tokens
Stateless, good for APIs
3. Enter a custom value
Enter to select · ↑/↓ to navigate · Esc to cancel
"
@@ -164,11 +150,11 @@ exports[`AskUserDialog > shows Review tab in progress header for multiple questi
Which framework?
● 1. React
Component library
2. Vue
Progressive framework
3. Enter a custom value
● 1. React
Component library
2. Vue
Progressive framework
3. Enter a custom value
Enter to select · ←/→ to switch questions · Esc to cancel
"
@@ -177,11 +163,11 @@ Enter to select · ←/→ to switch questions · Esc to cancel
exports[`AskUserDialog > shows keyboard hints 1`] = `
"Which authentication method should we use?
● 1. OAuth 2.0
Industry standard, supports SSO
2. JWT tokens
Stateless, good for APIs
3. Enter a custom value
● 1. OAuth 2.0
Industry standard, supports SSO
2. JWT tokens
Stateless, good for APIs
3. Enter a custom value
Enter to select · ↑/↓ to navigate · Esc to cancel
"
@@ -192,11 +178,11 @@ exports[`AskUserDialog > shows progress header for multiple questions 1`] = `
Which database should we use?
● 1. PostgreSQL
Relational database
2. MongoDB
Document database
3. Enter a custom value
● 1. PostgreSQL
Relational database
2. MongoDB
Document database
3. Enter a custom value
Enter to select · ←/→ to switch questions · Esc to cancel
"
@@ -212,20 +198,6 @@ Review your answers:
License → (not answered)
README → (not answered)
Enter to submit · / to edit answers · Esc to cancel
"
`;
exports[`AskUserDialog > shows warning for unanswered questions on Review tab 2`] = `
"← □ License │ □ README │ ≡ Review →
Review your answers:
⚠ You have 2 unanswered questions
License → (not answered)
README → (not answered)
Enter to submit · Tab/Shift+Tab to edit answers · Esc to cancel
"
`;
@@ -16,9 +16,9 @@ exports[`<BackgroundShellDisplay /> > keeps exit code status color even when sel
│ │
│ Select Process (Enter to select, Ctrl+K to kill, Esc to cancel): │
│ │
│ 1. npm start (PID: 1001)
│ 2. tail -f log.txt (PID: 1002)
│ ● 3. exit 0 (PID: 1003) (Exit Code: 0)
1. npm start (PID: 1001) │
2. tail -f log.txt (PID: 1002) │
● 3. exit 0 (PID: 1003) (Exit Code: 0) │
└──────────────────────────────────────────────────────────────────────────────┘
"
`;
@@ -46,8 +46,8 @@ exports[`<BackgroundShellDisplay /> > renders the process list when isListOpenPr
│ │
│ Select Process (Enter to select, Ctrl+K to kill, Esc to cancel): │
│ │
│ ● 1. npm start (PID: 1001)
│ 2. tail -f log.txt (PID: 1002)
● 1. npm start (PID: 1001) │
2. tail -f log.txt (PID: 1002) │
└──────────────────────────────────────────────────────────────────────────────┘
"
`;
@@ -59,8 +59,8 @@ exports[`<BackgroundShellDisplay /> > scrolls to active shell when list opens 1`
│ │
│ Select Process (Enter to select, Ctrl+K to kill, Esc to cancel): │
│ │
│ 1. npm start (PID: 1001)
│ ● 2. tail -f log.txt (PID: 1002)
1. npm start (PID: 1001) │
● 2. tail -f log.txt (PID: 1002) │
└──────────────────────────────────────────────────────────────────────────────┘
"
`;
@@ -4,12 +4,12 @@ exports[`EditorSettingsDialog > renders correctly 1`] = `
"╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
│ │
│ > Select Editor Editor Preference │
│ ● 1. VS Code
│ 2. Vim These editors are currently supported. Please note │
● 1. VS Code │
2. Vim These editors are currently supported. Please note │
│ that some editors cannot be used in sandbox mode. │
│ Apply To │
│ ● 1. User Settings Your preferred editor is: VS Code. │
│ 2. Workspace Settings
● 1. User Settings Your preferred editor is: VS Code. │
2. Workspace Settings │
│ │
│ (Use Enter to select, Tab to change │
│ focus, Esc to close) │
@@ -16,9 +16,9 @@ exports[`EmptyWalletDialog > rendering > should match snapshot with fallback ava
│ How would you like to proceed? │
│ │
│ │
│ ● 1. Get AI Credits - Open browser to purchase credits
│ 2. Switch to gemini-3-flash-preview
│ 3. Stop - Abort request
● 1. Get AI Credits - Open browser to purchase credits │
2. Switch to gemini-3-flash-preview │
3. Stop - Abort request │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
@@ -40,8 +40,8 @@ exports[`EmptyWalletDialog > rendering > should match snapshot without fallback
│ How would you like to proceed? │
│ │
│ │
│ ● 1. Get AI Credits - Open browser to purchase credits
│ 2. Stop - Abort request
● 1. Get AI Credits - Open browser to purchase credits │
2. Stop - Abort request │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
@@ -17,11 +17,11 @@ Files to Modify
- src/index.ts - Add auth middleware
- src/config.ts - Add auth configuration options
1. Yes, automatically accept edits
Approves plan and allows tools to run automatically
● 2. Yes, manually accept edits
Approves plan but requires confirmation for each tool
3. Type your feedback...
1. Yes, automatically accept edits
Approves plan and allows tools to run automatically
● 2. Yes, manually accept edits
Approves plan but requires confirmation for each tool
3. Type your feedback...
Enter to select · ↑/↓ to navigate · Ctrl+X to edit plan · Esc to cancel
"
@@ -44,11 +44,11 @@ Files to Modify
- src/index.ts - Add auth middleware
- src/config.ts - Add auth configuration options
● 1. Yes, automatically accept edits
Approves plan and allows tools to run automatically
2. Yes, manually accept edits
Approves plan but requires confirmation for each tool
3. Type your feedback...
● 1. Yes, automatically accept edits
Approves plan and allows tools to run automatically
2. Yes, manually accept edits
Approves plan but requires confirmation for each tool
3. Type your feedback...
Enter to select · ↑/↓ to navigate · Ctrl+X to edit plan · Esc to cancel
"
@@ -76,11 +76,11 @@ Implementation Steps
8. Add multi-factor authentication in src/auth/MFAService.ts
... last 22 lines hidden (Ctrl+O to show) ...
● 1. Yes, automatically accept edits
Approves plan and allows tools to run automatically
2. Yes, manually accept edits
Approves plan but requires confirmation for each tool
3. Type your feedback...
● 1. Yes, automatically accept edits
Approves plan and allows tools to run automatically
2. Yes, manually accept edits
Approves plan but requires confirmation for each tool
3. Type your feedback...
Enter to select · ↑/↓ to navigate · Ctrl+X to edit plan · Esc to cancel
"
@@ -103,11 +103,11 @@ Files to Modify
- src/index.ts - Add auth middleware
- src/config.ts - Add auth configuration options
● 1. Yes, automatically accept edits
Approves plan and allows tools to run automatically
2. Yes, manually accept edits
Approves plan but requires confirmation for each tool
3. Type your feedback...
● 1. Yes, automatically accept edits
Approves plan and allows tools to run automatically
2. Yes, manually accept edits
Approves plan but requires confirmation for each tool
3. Type your feedback...
Enter to select · ↑/↓ to navigate · Ctrl+X to edit plan · Esc to cancel
"
@@ -130,11 +130,11 @@ Files to Modify
- src/index.ts - Add auth middleware
- src/config.ts - Add auth configuration options
1. Yes, automatically accept edits
Approves plan and allows tools to run automatically
● 2. Yes, manually accept edits
Approves plan but requires confirmation for each tool
3. Type your feedback...
1. Yes, automatically accept edits
Approves plan and allows tools to run automatically
● 2. Yes, manually accept edits
Approves plan but requires confirmation for each tool
3. Type your feedback...
Enter to select · ↑/↓ to navigate · Ctrl+X to edit plan · Esc to cancel
"
@@ -157,11 +157,11 @@ Files to Modify
- src/index.ts - Add auth middleware
- src/config.ts - Add auth configuration options
● 1. Yes, automatically accept edits
Approves plan and allows tools to run automatically
2. Yes, manually accept edits
Approves plan but requires confirmation for each tool
3. Type your feedback...
● 1. Yes, automatically accept edits
Approves plan and allows tools to run automatically
2. Yes, manually accept edits
Approves plan but requires confirmation for each tool
3. Type your feedback...
Enter to select · ↑/↓ to navigate · Ctrl+X to edit plan · Esc to cancel
"
@@ -210,11 +210,11 @@ Testing Strategy
- Security penetration testing
- Load testing for session management
● 1. Yes, automatically accept edits
Approves plan and allows tools to run automatically
2. Yes, manually accept edits
Approves plan but requires confirmation for each tool
3. Type your feedback...
● 1. Yes, automatically accept edits
Approves plan and allows tools to run automatically
2. Yes, manually accept edits
Approves plan but requires confirmation for each tool
3. Type your feedback...
Enter to select · ↑/↓ to navigate · Ctrl+X to edit plan · Esc to cancel
"
@@ -237,11 +237,11 @@ Files to Modify
- src/index.ts - Add auth middleware
- src/config.ts - Add auth configuration options
● 1. Yes, automatically accept edits
Approves plan and allows tools to run automatically
2. Yes, manually accept edits
Approves plan but requires confirmation for each tool
3. Type your feedback...
● 1. Yes, automatically accept edits
Approves plan and allows tools to run automatically
2. Yes, manually accept edits
Approves plan but requires confirmation for each tool
3. Type your feedback...
Enter to select · ↑/↓ to navigate · Ctrl+X to edit plan · Esc to cancel
"
@@ -7,8 +7,8 @@ exports[`LoopDetectionConfirmation > renders correctly 1`] = `
│ This can happen due to repetitive tool calls or other model behavior. Do you want to keep loop │
│ detection enabled or disable it for this session? │
│ │
│ ● 1. Keep loop detection enabled (esc)
│ 2. Disable loop detection for this session
● 1. Keep loop detection enabled (esc) │
2. Disable loop detection for this session │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
"
`;
@@ -13,8 +13,8 @@ exports[`NewAgentsNotification > renders agent list 1`] = `
│ │ │ │
│ └────────────────────────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ● 1. Acknowledge and Enable
│ 2. Do not enable (Ask again next time)
● 1. Acknowledge and Enable │
2. Do not enable (Ask again next time) │
│ │
╰────────────────────────────────────────────────────────────────────────────────────────────────╯
"
@@ -37,8 +37,8 @@ exports[`NewAgentsNotification > truncates list if more than 5 agents 1`] = `
│ │ │ │
│ └────────────────────────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ● 1. Acknowledge and Enable
│ 2. Do not enable (Ask again next time)
● 1. Acknowledge and Enable │
2. Do not enable (Ask again next time) │
│ │
╰────────────────────────────────────────────────────────────────────────────────────────────────╯
"
@@ -14,10 +14,10 @@ exports[`OverageMenuDialog > rendering > should match snapshot with fallback ava
│ How would you like to proceed? │
│ │
│ │
│ ● 1. Use AI Credits - Continue this request (Overage)
│ 2. Manage - View balance and purchase more credits
│ 3. Switch to gemini-3-flash-preview
│ 4. Stop - Abort request
● 1. Use AI Credits - Continue this request (Overage) │
2. Manage - View balance and purchase more credits │
3. Switch to gemini-3-flash-preview │
4. Stop - Abort request │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
@@ -37,9 +37,9 @@ exports[`OverageMenuDialog > rendering > should match snapshot without fallback
│ How would you like to proceed? │
│ │
│ │
│ ● 1. Use AI Credits - Continue this request (Overage)
│ 2. Manage - View balance and purchase more credits
│ 3. Stop - Abort request
● 1. Use AI Credits - Continue this request (Overage) │
2. Manage - View balance and purchase more credits │
3. Stop - Abort request │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
@@ -7,8 +7,8 @@ exports[`PolicyUpdateDialog > renders correctly and matches snapshot 1`] = `
│ Location: /test/workspace/.gemini/policies │
│ Do you want to accept and load these policies? │
│ │
│ ● 1. Accept and Load
│ 2. Ignore (Use Default Policies)
● 1. Accept and Load │
2. Ignore (Use Default Policies) │
│ │
╰────────────────────────────────────────────────────────────────────────────────────────────────╯
"
@@ -14,10 +14,10 @@ exports[`RewindConfirmation > renders correctly with stats 1`] = `
│ │
│ Select an action: │
│ │
│ ● 1. Rewind conversation and revert code changes
│ 2. Rewind conversation
│ 3. Revert code changes
│ 4. Do nothing (esc)
● 1. Rewind conversation and revert code changes │
2. Rewind conversation │
3. Revert code changes │
4. Do nothing (esc) │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
"
@@ -32,8 +32,8 @@ exports[`RewindConfirmation > renders correctly without stats 1`] = `
│ │
│ Select an action: │
│ │
│ ● 1. Rewind conversation
│ 2. Do nothing (esc)
● 1. Rewind conversation │
2. Do nothing (esc) │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
"
@@ -48,8 +48,8 @@ exports[`RewindConfirmation > renders timestamp when provided 1`] = `
│ │
│ Select an action: │
│ │
│ ● 1. Rewind conversation
│ 2. Do nothing (esc)
● 1. Rewind conversation │
2. Do nothing (esc) │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
"
@@ -5,11 +5,11 @@ exports[`RewindViewer > Content Filtering > 'removes reference markers' 1`] = `
│ │
│ > Rewind │
│ │
│ some command @file
│ No files have been changed
some command @file │
No files have been changed │
│ │
│ ● Stay at current position
│ Cancel rewind and stay here
● Stay at current position │
Cancel rewind and stay here │
│ │
│ │
│ (Use Enter to select a message, Esc to close, Right/Left to expand/collapse) │
@@ -23,11 +23,11 @@ exports[`RewindViewer > Content Filtering > 'strips expanded MCP resource conten
│ │
│ > Rewind │
│ │
│ read @server3:mcp://demo-resource hello
│ No files have been changed
read @server3:mcp://demo-resource hello │
No files have been changed │
│ │
│ ● Stay at current position
│ Cancel rewind and stay here
● Stay at current position │
Cancel rewind and stay here │
│ │
│ │
│ (Use Enter to select a message, Esc to close, Right/Left to expand/collapse) │
@@ -41,11 +41,11 @@ exports[`RewindViewer > Content Filtering > 'uses displayContent if present and
│ │
│ > Rewind │
│ │
│ clean display content
│ No files have been changed
clean display content │
No files have been changed │
│ │
│ ● Stay at current position
│ Cancel rewind and stay here
● Stay at current position │
Cancel rewind and stay here │
│ │
│ │
│ (Use Enter to select a message, Esc to close, Right/Left to expand/collapse) │
@@ -63,8 +63,8 @@ exports[`RewindViewer > Interaction Selection > 'cancels on Escape' > confirmati
│ │
│ Select an action: │
│ │
│ ● 1. Rewind conversation
│ 2. Do nothing (esc)
● 1. Rewind conversation │
2. Do nothing (esc) │
│ │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
"
@@ -79,8 +79,8 @@ exports[`RewindViewer > Interaction Selection > 'confirms on Enter' > confirmati
│ │
│ Select an action: │
│ │
│ ● 1. Rewind conversation
│ 2. Do nothing (esc)
● 1. Rewind conversation │
2. Do nothing (esc) │
│ │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
"
@@ -91,17 +91,17 @@ exports[`RewindViewer > Navigation > handles 'down' navigation > after-down 1`]
│ │
│ > Rewind │
│ │
│ Q1
│ No files have been changed
Q1 │
No files have been changed │
│ │
│ Q2
│ No files have been changed
Q2 │
No files have been changed │
│ │
│ Q3
│ No files have been changed
Q3 │
No files have been changed │
│ │
│ ● Stay at current position
│ Cancel rewind and stay here
● Stay at current position │
Cancel rewind and stay here │
│ │
│ │
│ (Use Enter to select a message, Esc to close, Right/Left to expand/collapse) │
@@ -115,17 +115,17 @@ exports[`RewindViewer > Navigation > handles 'up' navigation > after-up 1`] = `
│ │
│ > Rewind │
│ │
│ Q1
│ No files have been changed
Q1 │
No files have been changed │
│ │
│ Q2
│ No files have been changed
Q2 │
No files have been changed │
│ │
│ ● Q3
│ No files have been changed
● Q3 │
No files have been changed │
│ │
│ Stay at current position
│ Cancel rewind and stay here
Stay at current position │
Cancel rewind and stay here │
│ │
│ │
│ (Use Enter to select a message, Esc to close, Right/Left to expand/collapse) │
@@ -139,17 +139,17 @@ exports[`RewindViewer > Navigation > handles cyclic navigation > cyclic-down 1`]
│ │
│ > Rewind │
│ │
│ Q1
│ No files have been changed
Q1 │
No files have been changed │
│ │
│ Q2
│ No files have been changed
Q2 │
No files have been changed │
│ │
│ Q3
│ No files have been changed
Q3 │
No files have been changed │
│ │
│ ● Stay at current position
│ Cancel rewind and stay here
● Stay at current position │
Cancel rewind and stay here │
│ │
│ │
│ (Use Enter to select a message, Esc to close, Right/Left to expand/collapse) │
@@ -163,17 +163,17 @@ exports[`RewindViewer > Navigation > handles cyclic navigation > cyclic-up 1`] =
│ │
│ > Rewind │
│ │
│ Q1
│ No files have been changed
Q1 │
No files have been changed │
│ │
│ Q2
│ No files have been changed
Q2 │
No files have been changed │
│ │
│ ● Q3
│ No files have been changed
● Q3 │
No files have been changed │
│ │
│ Stay at current position
│ Cancel rewind and stay here
Stay at current position │
Cancel rewind and stay here │
│ │
│ │
│ (Use Enter to select a message, Esc to close, Right/Left to expand/collapse) │
@@ -187,11 +187,11 @@ exports[`RewindViewer > Rendering > renders 'a single interaction' 1`] = `
│ │
│ > Rewind │
│ │
│ Hello
│ No files have been changed
Hello │
No files have been changed │
│ │
│ ● Stay at current position
│ Cancel rewind and stay here
● Stay at current position │
Cancel rewind and stay here │
│ │
│ │
│ (Use Enter to select a message, Esc to close, Right/Left to expand/collapse) │
@@ -205,12 +205,12 @@ exports[`RewindViewer > Rendering > renders 'full text for selected item' 1`] =
│ │
│ > Rewind │
│ │
1
│ 2...
│ No files have been changed
1
2... │
No files have been changed │
│ │
│ ● Stay at current position
│ Cancel rewind and stay here
● Stay at current position │
Cancel rewind and stay here │
│ │
│ │
│ (Use Enter to select a message, Esc to close, Right/Left to expand/collapse) │
@@ -224,8 +224,8 @@ exports[`RewindViewer > Rendering > renders 'nothing interesting for empty conve
│ │
│ > Rewind │
│ │
│ ● Stay at current position
│ Cancel rewind and stay here
● Stay at current position │
Cancel rewind and stay here │
│ │
│ │
│ (Use Enter to select a message, Esc to close, Right/Left to expand/collapse) │
@@ -239,14 +239,14 @@ exports[`RewindViewer > updates content when conversation changes (background up
│ │
│ > Rewind │
│ │
│ Message 1
│ No files have been changed
Message 1 │
No files have been changed │
│ │
│ Message 2
│ No files have been changed
Message 2 │
No files have been changed │
│ │
│ ● Stay at current position
│ Cancel rewind and stay here
● Stay at current position │
Cancel rewind and stay here │
│ │
│ │
│ (Use Enter to select a message, Esc to close, Right/Left to expand/collapse) │
@@ -260,11 +260,11 @@ exports[`RewindViewer > updates content when conversation changes (background up
│ │
│ > Rewind │
│ │
│ Message 1
│ No files have been changed
Message 1 │
No files have been changed │
│ │
│ ● Stay at current position
│ Cancel rewind and stay here
● Stay at current position │
Cancel rewind and stay here │
│ │
│ │
│ (Use Enter to select a message, Esc to close, Right/Left to expand/collapse) │
@@ -278,16 +278,16 @@ exports[`RewindViewer > updates selection and expansion on navigation > after-do
│ │
│ > Rewind │
│ │
│ Line A
│ Line B...
│ No files have been changed
Line A │
Line B... │
No files have been changed │
│ │
│ Line 1
│ Line 2...
│ No files have been changed
Line 1 │
Line 2... │
No files have been changed │
│ │
│ ● Stay at current position
│ Cancel rewind and stay here
● Stay at current position │
Cancel rewind and stay here │
│ │
│ │
│ (Use Enter to select a message, Esc to close, Right/Left to expand/collapse) │
@@ -301,16 +301,16 @@ exports[`RewindViewer > updates selection and expansion on navigation > initial-
│ │
│ > Rewind │
│ │
│ Line A
│ Line B...
│ No files have been changed
Line A │
Line B... │
No files have been changed │
│ │
│ Line 1
│ Line 2...
│ No files have been changed
Line 1 │
Line 2... │
No files have been changed │
│ │
│ ● Stay at current position
│ Cancel rewind and stay here
● Stay at current position │
Cancel rewind and stay here │
│ │
│ │
│ (Use Enter to select a message, Esc to close, Right/Left to expand/collapse) │
@@ -31,6 +31,7 @@
<text x="27" y="138" fill="#afafaf" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="138" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="155" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="18" y="153" width="9" height="17" fill="#005f00" />
<rect x="27" y="153" width="9" height="17" fill="#005f00" />
<text x="27" y="155" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="153" width="9" height="17" fill="#005f00" />
@@ -39,12 +40,13 @@
<rect x="117" y="153" width="711" height="17" fill="#005f00" />
<rect x="828" y="153" width="45" height="17" fill="#005f00" />
<text x="828" y="155" fill="#d7ffd7" textLength="45" lengthAdjust="spacingAndGlyphs">false</text>
<rect x="873" y="153" width="9" height="17" fill="#005f00" />
<text x="891" y="155" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="172" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="170" width="18" height="17" fill="#005f00" />
<rect x="18" y="170" width="27" height="17" fill="#005f00" />
<rect x="45" y="170" width="198" height="17" fill="#005f00" />
<text x="45" y="172" fill="#afafaf" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text>
<rect x="243" y="170" width="630" height="17" fill="#005f00" />
<text x="45" y="172" fill="#ffffff" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text>
<rect x="243" y="170" width="639" height="17" fill="#005f00" />
<text x="891" y="172" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="189" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="189" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
@@ -121,17 +123,18 @@
<text x="891" y="597" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="614" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="612" width="9" height="17" fill="#005f00" />
<text x="27" y="614" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="612" width="9" height="17" fill="#005f00" />
<rect x="45" y="612" width="117" height="17" fill="#005f00" />
<text x="45" y="614" fill="#d7ffd7" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="162" y="612" width="711" height="17" fill="#005f00" />
<text x="36" y="614" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="45" y="612" width="9" height="17" fill="#005f00" />
<rect x="54" y="612" width="117" height="17" fill="#005f00" />
<text x="54" y="614" fill="#d7ffd7" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="171" y="612" width="702" height="17" fill="#005f00" />
<text x="891" y="614" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="631" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="631" fill="#ffffff" textLength="162" lengthAdjust="spacingAndGlyphs">Workspace Settings</text>
<text x="54" y="631" fill="#ffffff" textLength="162" lengthAdjust="spacingAndGlyphs">Workspace Settings</text>
<text x="891" y="631" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="648" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="648" fill="#ffffff" textLength="135" lengthAdjust="spacingAndGlyphs">System Settings</text>
<text x="54" y="648" fill="#ffffff" textLength="135" lengthAdjust="spacingAndGlyphs">System Settings</text>
<text x="891" y="648" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="665" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="665" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

@@ -31,6 +31,7 @@
<text x="27" y="138" fill="#afafaf" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="138" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="155" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="18" y="153" width="9" height="17" fill="#005f00" />
<rect x="27" y="153" width="9" height="17" fill="#005f00" />
<text x="27" y="155" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="153" width="9" height="17" fill="#005f00" />
@@ -39,12 +40,13 @@
<rect x="117" y="153" width="711" height="17" fill="#005f00" />
<rect x="828" y="153" width="45" height="17" fill="#005f00" />
<text x="828" y="155" fill="#d7ffd7" textLength="45" lengthAdjust="spacingAndGlyphs">true*</text>
<rect x="873" y="153" width="9" height="17" fill="#005f00" />
<text x="891" y="155" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="172" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="170" width="18" height="17" fill="#005f00" />
<rect x="18" y="170" width="27" height="17" fill="#005f00" />
<rect x="45" y="170" width="198" height="17" fill="#005f00" />
<text x="45" y="172" fill="#afafaf" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text>
<rect x="243" y="170" width="630" height="17" fill="#005f00" />
<text x="45" y="172" fill="#ffffff" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text>
<rect x="243" y="170" width="639" height="17" fill="#005f00" />
<text x="891" y="172" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="189" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="189" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
@@ -121,17 +123,18 @@
<text x="891" y="597" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="614" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="612" width="9" height="17" fill="#005f00" />
<text x="27" y="614" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="612" width="9" height="17" fill="#005f00" />
<rect x="45" y="612" width="117" height="17" fill="#005f00" />
<text x="45" y="614" fill="#d7ffd7" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="162" y="612" width="711" height="17" fill="#005f00" />
<text x="36" y="614" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="45" y="612" width="9" height="17" fill="#005f00" />
<rect x="54" y="612" width="117" height="17" fill="#005f00" />
<text x="54" y="614" fill="#d7ffd7" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="171" y="612" width="702" height="17" fill="#005f00" />
<text x="891" y="614" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="631" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="631" fill="#ffffff" textLength="162" lengthAdjust="spacingAndGlyphs">Workspace Settings</text>
<text x="54" y="631" fill="#ffffff" textLength="162" lengthAdjust="spacingAndGlyphs">Workspace Settings</text>
<text x="891" y="631" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="648" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="648" fill="#ffffff" textLength="135" lengthAdjust="spacingAndGlyphs">System Settings</text>
<text x="54" y="648" fill="#ffffff" textLength="135" lengthAdjust="spacingAndGlyphs">System Settings</text>
<text x="891" y="648" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="665" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="665" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

@@ -31,6 +31,7 @@
<text x="27" y="138" fill="#afafaf" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="138" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="155" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="18" y="153" width="9" height="17" fill="#005f00" />
<rect x="27" y="153" width="9" height="17" fill="#005f00" />
<text x="27" y="155" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="153" width="9" height="17" fill="#005f00" />
@@ -39,12 +40,13 @@
<rect x="117" y="153" width="702" height="17" fill="#005f00" />
<rect x="819" y="153" width="54" height="17" fill="#005f00" />
<text x="819" y="155" fill="#d7ffd7" textLength="54" lengthAdjust="spacingAndGlyphs">false*</text>
<rect x="873" y="153" width="9" height="17" fill="#005f00" />
<text x="891" y="155" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="172" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="170" width="18" height="17" fill="#005f00" />
<rect x="18" y="170" width="27" height="17" fill="#005f00" />
<rect x="45" y="170" width="198" height="17" fill="#005f00" />
<text x="45" y="172" fill="#afafaf" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text>
<rect x="243" y="170" width="630" height="17" fill="#005f00" />
<text x="45" y="172" fill="#ffffff" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text>
<rect x="243" y="170" width="639" height="17" fill="#005f00" />
<text x="891" y="172" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="189" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="189" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
@@ -121,17 +123,18 @@
<text x="891" y="597" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="614" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="612" width="9" height="17" fill="#005f00" />
<text x="27" y="614" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="612" width="9" height="17" fill="#005f00" />
<rect x="45" y="612" width="117" height="17" fill="#005f00" />
<text x="45" y="614" fill="#d7ffd7" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="162" y="612" width="711" height="17" fill="#005f00" />
<text x="36" y="614" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="45" y="612" width="9" height="17" fill="#005f00" />
<rect x="54" y="612" width="117" height="17" fill="#005f00" />
<text x="54" y="614" fill="#d7ffd7" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="171" y="612" width="702" height="17" fill="#005f00" />
<text x="891" y="614" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="631" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="631" fill="#ffffff" textLength="162" lengthAdjust="spacingAndGlyphs">Workspace Settings</text>
<text x="54" y="631" fill="#ffffff" textLength="162" lengthAdjust="spacingAndGlyphs">Workspace Settings</text>
<text x="891" y="631" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="648" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="648" fill="#ffffff" textLength="135" lengthAdjust="spacingAndGlyphs">System Settings</text>
<text x="54" y="648" fill="#ffffff" textLength="135" lengthAdjust="spacingAndGlyphs">System Settings</text>
<text x="891" y="648" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="665" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="665" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

@@ -31,6 +31,7 @@
<text x="27" y="138" fill="#afafaf" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="138" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="155" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="18" y="153" width="9" height="17" fill="#005f00" />
<rect x="27" y="153" width="9" height="17" fill="#005f00" />
<text x="27" y="155" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="153" width="9" height="17" fill="#005f00" />
@@ -39,12 +40,13 @@
<rect x="117" y="153" width="711" height="17" fill="#005f00" />
<rect x="828" y="153" width="45" height="17" fill="#005f00" />
<text x="828" y="155" fill="#d7ffd7" textLength="45" lengthAdjust="spacingAndGlyphs">false</text>
<rect x="873" y="153" width="9" height="17" fill="#005f00" />
<text x="891" y="155" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="172" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="170" width="18" height="17" fill="#005f00" />
<rect x="18" y="170" width="27" height="17" fill="#005f00" />
<rect x="45" y="170" width="198" height="17" fill="#005f00" />
<text x="45" y="172" fill="#afafaf" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text>
<rect x="243" y="170" width="630" height="17" fill="#005f00" />
<text x="45" y="172" fill="#ffffff" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text>
<rect x="243" y="170" width="639" height="17" fill="#005f00" />
<text x="891" y="172" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="189" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="189" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
@@ -121,17 +123,18 @@
<text x="891" y="597" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="614" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="612" width="9" height="17" fill="#005f00" />
<text x="27" y="614" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="612" width="9" height="17" fill="#005f00" />
<rect x="45" y="612" width="117" height="17" fill="#005f00" />
<text x="45" y="614" fill="#d7ffd7" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="162" y="612" width="711" height="17" fill="#005f00" />
<text x="36" y="614" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="45" y="612" width="9" height="17" fill="#005f00" />
<rect x="54" y="612" width="117" height="17" fill="#005f00" />
<text x="54" y="614" fill="#d7ffd7" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="171" y="612" width="702" height="17" fill="#005f00" />
<text x="891" y="614" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="631" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="631" fill="#ffffff" textLength="162" lengthAdjust="spacingAndGlyphs">Workspace Settings</text>
<text x="54" y="631" fill="#ffffff" textLength="162" lengthAdjust="spacingAndGlyphs">Workspace Settings</text>
<text x="891" y="631" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="648" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="648" fill="#ffffff" textLength="135" lengthAdjust="spacingAndGlyphs">System Settings</text>
<text x="54" y="648" fill="#ffffff" textLength="135" lengthAdjust="spacingAndGlyphs">System Settings</text>
<text x="891" y="648" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="665" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="665" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

@@ -31,6 +31,7 @@
<text x="27" y="138" fill="#afafaf" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="138" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="155" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="18" y="153" width="9" height="17" fill="#005f00" />
<rect x="27" y="153" width="9" height="17" fill="#005f00" />
<text x="27" y="155" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="153" width="9" height="17" fill="#005f00" />
@@ -39,12 +40,13 @@
<rect x="117" y="153" width="711" height="17" fill="#005f00" />
<rect x="828" y="153" width="45" height="17" fill="#005f00" />
<text x="828" y="155" fill="#d7ffd7" textLength="45" lengthAdjust="spacingAndGlyphs">false</text>
<rect x="873" y="153" width="9" height="17" fill="#005f00" />
<text x="891" y="155" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="172" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="170" width="18" height="17" fill="#005f00" />
<rect x="18" y="170" width="27" height="17" fill="#005f00" />
<rect x="45" y="170" width="198" height="17" fill="#005f00" />
<text x="45" y="172" fill="#afafaf" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text>
<rect x="243" y="170" width="630" height="17" fill="#005f00" />
<text x="45" y="172" fill="#ffffff" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text>
<rect x="243" y="170" width="639" height="17" fill="#005f00" />
<text x="891" y="172" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="189" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="189" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
@@ -121,17 +123,18 @@
<text x="891" y="597" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="614" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="612" width="9" height="17" fill="#005f00" />
<text x="27" y="614" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="612" width="9" height="17" fill="#005f00" />
<rect x="45" y="612" width="117" height="17" fill="#005f00" />
<text x="45" y="614" fill="#d7ffd7" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="162" y="612" width="711" height="17" fill="#005f00" />
<text x="36" y="614" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="45" y="612" width="9" height="17" fill="#005f00" />
<rect x="54" y="612" width="117" height="17" fill="#005f00" />
<text x="54" y="614" fill="#d7ffd7" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="171" y="612" width="702" height="17" fill="#005f00" />
<text x="891" y="614" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="631" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="631" fill="#ffffff" textLength="162" lengthAdjust="spacingAndGlyphs">Workspace Settings</text>
<text x="54" y="631" fill="#ffffff" textLength="162" lengthAdjust="spacingAndGlyphs">Workspace Settings</text>
<text x="891" y="631" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="648" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="648" fill="#ffffff" textLength="135" lengthAdjust="spacingAndGlyphs">System Settings</text>
<text x="54" y="648" fill="#ffffff" textLength="135" lengthAdjust="spacingAndGlyphs">System Settings</text>
<text x="891" y="648" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="665" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="665" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

@@ -110,22 +110,23 @@
<text x="891" y="597" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="614" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="612" width="9" height="17" fill="#005f00" />
<text x="27" y="614" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="612" width="9" height="17" fill="#005f00" />
<rect x="45" y="612" width="18" height="17" fill="#005f00" />
<text x="45" y="614" fill="#d7ffd7" textLength="18" lengthAdjust="spacingAndGlyphs">1.</text>
<rect x="63" y="612" width="9" height="17" fill="#005f00" />
<rect x="72" y="612" width="117" height="17" fill="#005f00" />
<text x="72" y="614" fill="#d7ffd7" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="189" y="612" width="684" height="17" fill="#005f00" />
<text x="36" y="614" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="45" y="612" width="9" height="17" fill="#005f00" />
<rect x="54" y="612" width="18" height="17" fill="#005f00" />
<text x="54" y="614" fill="#d7ffd7" textLength="18" lengthAdjust="spacingAndGlyphs">1.</text>
<rect x="72" y="612" width="9" height="17" fill="#005f00" />
<rect x="81" y="612" width="117" height="17" fill="#005f00" />
<text x="81" y="614" fill="#d7ffd7" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="198" y="612" width="675" height="17" fill="#005f00" />
<text x="891" y="614" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="631" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="631" fill="#ffffff" textLength="18" lengthAdjust="spacingAndGlyphs">2.</text>
<text x="72" y="631" fill="#ffffff" textLength="162" lengthAdjust="spacingAndGlyphs">Workspace Settings</text>
<text x="54" y="631" fill="#ffffff" textLength="18" lengthAdjust="spacingAndGlyphs">2.</text>
<text x="81" y="631" fill="#ffffff" textLength="162" lengthAdjust="spacingAndGlyphs">Workspace Settings</text>
<text x="891" y="631" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="648" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="648" fill="#ffffff" textLength="18" lengthAdjust="spacingAndGlyphs">3.</text>
<text x="72" y="648" fill="#ffffff" textLength="135" lengthAdjust="spacingAndGlyphs">System Settings</text>
<text x="54" y="648" fill="#ffffff" textLength="18" lengthAdjust="spacingAndGlyphs">3.</text>
<text x="81" y="648" fill="#ffffff" textLength="135" lengthAdjust="spacingAndGlyphs">System Settings</text>
<text x="891" y="648" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="665" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="665" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

@@ -31,6 +31,7 @@
<text x="27" y="138" fill="#afafaf" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="138" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="155" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="18" y="153" width="9" height="17" fill="#005f00" />
<rect x="27" y="153" width="9" height="17" fill="#005f00" />
<text x="27" y="155" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="153" width="9" height="17" fill="#005f00" />
@@ -39,12 +40,13 @@
<rect x="117" y="153" width="702" height="17" fill="#005f00" />
<rect x="819" y="153" width="54" height="17" fill="#005f00" />
<text x="819" y="155" fill="#d7ffd7" textLength="54" lengthAdjust="spacingAndGlyphs">false*</text>
<rect x="873" y="153" width="9" height="17" fill="#005f00" />
<text x="891" y="155" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="172" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="170" width="18" height="17" fill="#005f00" />
<rect x="18" y="170" width="27" height="17" fill="#005f00" />
<rect x="45" y="170" width="198" height="17" fill="#005f00" />
<text x="45" y="172" fill="#afafaf" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text>
<rect x="243" y="170" width="630" height="17" fill="#005f00" />
<text x="45" y="172" fill="#ffffff" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text>
<rect x="243" y="170" width="639" height="17" fill="#005f00" />
<text x="891" y="172" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="189" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="189" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
@@ -121,17 +123,18 @@
<text x="891" y="597" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="614" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="612" width="9" height="17" fill="#005f00" />
<text x="27" y="614" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="612" width="9" height="17" fill="#005f00" />
<rect x="45" y="612" width="117" height="17" fill="#005f00" />
<text x="45" y="614" fill="#d7ffd7" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="162" y="612" width="711" height="17" fill="#005f00" />
<text x="36" y="614" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="45" y="612" width="9" height="17" fill="#005f00" />
<rect x="54" y="612" width="117" height="17" fill="#005f00" />
<text x="54" y="614" fill="#d7ffd7" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="171" y="612" width="702" height="17" fill="#005f00" />
<text x="891" y="614" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="631" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="631" fill="#ffffff" textLength="162" lengthAdjust="spacingAndGlyphs">Workspace Settings</text>
<text x="54" y="631" fill="#ffffff" textLength="162" lengthAdjust="spacingAndGlyphs">Workspace Settings</text>
<text x="891" y="631" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="648" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="648" fill="#ffffff" textLength="135" lengthAdjust="spacingAndGlyphs">System Settings</text>
<text x="54" y="648" fill="#ffffff" textLength="135" lengthAdjust="spacingAndGlyphs">System Settings</text>
<text x="891" y="648" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="665" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="665" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

@@ -31,6 +31,7 @@
<text x="27" y="138" fill="#afafaf" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="138" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="155" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="18" y="153" width="9" height="17" fill="#005f00" />
<rect x="27" y="153" width="9" height="17" fill="#005f00" />
<text x="27" y="155" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="153" width="9" height="17" fill="#005f00" />
@@ -39,12 +40,13 @@
<rect x="117" y="153" width="711" height="17" fill="#005f00" />
<rect x="828" y="153" width="45" height="17" fill="#005f00" />
<text x="828" y="155" fill="#d7ffd7" textLength="45" lengthAdjust="spacingAndGlyphs">false</text>
<rect x="873" y="153" width="9" height="17" fill="#005f00" />
<text x="891" y="155" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="172" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="170" width="18" height="17" fill="#005f00" />
<rect x="18" y="170" width="27" height="17" fill="#005f00" />
<rect x="45" y="170" width="198" height="17" fill="#005f00" />
<text x="45" y="172" fill="#afafaf" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text>
<rect x="243" y="170" width="630" height="17" fill="#005f00" />
<text x="45" y="172" fill="#ffffff" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text>
<rect x="243" y="170" width="639" height="17" fill="#005f00" />
<text x="891" y="172" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="189" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="189" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
@@ -121,17 +123,18 @@
<text x="891" y="597" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="614" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="612" width="9" height="17" fill="#005f00" />
<text x="27" y="614" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="612" width="9" height="17" fill="#005f00" />
<rect x="45" y="612" width="117" height="17" fill="#005f00" />
<text x="45" y="614" fill="#d7ffd7" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="162" y="612" width="711" height="17" fill="#005f00" />
<text x="36" y="614" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="45" y="612" width="9" height="17" fill="#005f00" />
<rect x="54" y="612" width="117" height="17" fill="#005f00" />
<text x="54" y="614" fill="#d7ffd7" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="171" y="612" width="702" height="17" fill="#005f00" />
<text x="891" y="614" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="631" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="631" fill="#ffffff" textLength="162" lengthAdjust="spacingAndGlyphs">Workspace Settings</text>
<text x="54" y="631" fill="#ffffff" textLength="162" lengthAdjust="spacingAndGlyphs">Workspace Settings</text>
<text x="891" y="631" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="648" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="648" fill="#ffffff" textLength="135" lengthAdjust="spacingAndGlyphs">System Settings</text>
<text x="54" y="648" fill="#ffffff" textLength="135" lengthAdjust="spacingAndGlyphs">System Settings</text>
<text x="891" y="648" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="665" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="665" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

@@ -31,6 +31,7 @@
<text x="27" y="138" fill="#afafaf" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="138" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="155" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="18" y="153" width="9" height="17" fill="#005f00" />
<rect x="27" y="153" width="9" height="17" fill="#005f00" />
<text x="27" y="155" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="153" width="9" height="17" fill="#005f00" />
@@ -39,12 +40,13 @@
<rect x="117" y="153" width="711" height="17" fill="#005f00" />
<rect x="828" y="153" width="45" height="17" fill="#005f00" />
<text x="828" y="155" fill="#d7ffd7" textLength="45" lengthAdjust="spacingAndGlyphs">true*</text>
<rect x="873" y="153" width="9" height="17" fill="#005f00" />
<text x="891" y="155" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="172" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="170" width="18" height="17" fill="#005f00" />
<rect x="18" y="170" width="27" height="17" fill="#005f00" />
<rect x="45" y="170" width="198" height="17" fill="#005f00" />
<text x="45" y="172" fill="#afafaf" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text>
<rect x="243" y="170" width="630" height="17" fill="#005f00" />
<text x="45" y="172" fill="#ffffff" textLength="198" lengthAdjust="spacingAndGlyphs">Enable Vim keybindings</text>
<rect x="243" y="170" width="639" height="17" fill="#005f00" />
<text x="891" y="172" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="189" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="189" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
@@ -121,17 +123,18 @@
<text x="891" y="597" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="614" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="612" width="9" height="17" fill="#005f00" />
<text x="27" y="614" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="612" width="9" height="17" fill="#005f00" />
<rect x="45" y="612" width="117" height="17" fill="#005f00" />
<text x="45" y="614" fill="#d7ffd7" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="162" y="612" width="711" height="17" fill="#005f00" />
<text x="36" y="614" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="45" y="612" width="9" height="17" fill="#005f00" />
<rect x="54" y="612" width="117" height="17" fill="#005f00" />
<text x="54" y="614" fill="#d7ffd7" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="171" y="612" width="702" height="17" fill="#005f00" />
<text x="891" y="614" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="631" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="631" fill="#ffffff" textLength="162" lengthAdjust="spacingAndGlyphs">Workspace Settings</text>
<text x="54" y="631" fill="#ffffff" textLength="162" lengthAdjust="spacingAndGlyphs">Workspace Settings</text>
<text x="891" y="631" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="648" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="648" fill="#ffffff" textLength="135" lengthAdjust="spacingAndGlyphs">System Settings</text>
<text x="54" y="648" fill="#ffffff" textLength="135" lengthAdjust="spacingAndGlyphs">System Settings</text>
<text x="891" y="648" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="665" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="665" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

@@ -37,9 +37,9 @@ exports[`SettingsDialog > Initial Rendering > should render settings list with v
│ ▼ │
│ │
│ Apply To │
│ ● User Settings
│ Workspace Settings
│ System Settings
● User Settings │
Workspace Settings │
System Settings │
│ │
│ (Use Enter to select, Ctrl+L to reset, Tab to change focus, Esc to close) │
│ │
@@ -83,9 +83,9 @@ exports[`SettingsDialog > Snapshot Tests > should render 'accessibility settings
│ ▼ │
│ │
│ Apply To │
│ ● User Settings
│ Workspace Settings
│ System Settings
● User Settings │
Workspace Settings │
System Settings │
│ │
│ (Use Enter to select, Ctrl+L to reset, Tab to change focus, Esc to close) │
│ │
@@ -129,9 +129,9 @@ exports[`SettingsDialog > Snapshot Tests > should render 'all boolean settings d
│ ▼ │
│ │
│ Apply To │
│ ● User Settings
│ Workspace Settings
│ System Settings
● User Settings │
Workspace Settings │
System Settings │
│ │
│ (Use Enter to select, Ctrl+L to reset, Tab to change focus, Esc to close) │
│ │
@@ -175,9 +175,9 @@ exports[`SettingsDialog > Snapshot Tests > should render 'default state' correct
│ ▼ │
│ │
│ Apply To │
│ ● User Settings
│ Workspace Settings
│ System Settings
● User Settings │
Workspace Settings │
System Settings │
│ │
│ (Use Enter to select, Ctrl+L to reset, Tab to change focus, Esc to close) │
│ │
@@ -221,9 +221,9 @@ exports[`SettingsDialog > Snapshot Tests > should render 'file filtering setting
│ ▼ │
│ │
│ Apply To │
│ ● User Settings
│ Workspace Settings
│ System Settings
● User Settings │
Workspace Settings │
System Settings │
│ │
│ (Use Enter to select, Ctrl+L to reset, Tab to change focus, Esc to close) │
│ │
@@ -267,9 +267,9 @@ exports[`SettingsDialog > Snapshot Tests > should render 'focused on scope selec
│ ▼ │
│ │
│ > Apply To │
│ ● 1. User Settings
│ 2. Workspace Settings
│ 3. System Settings
● 1. User Settings │
2. Workspace Settings │
3. System Settings │
│ │
│ (Use Enter to select, Ctrl+L to reset, Tab to change focus, Esc to close) │
│ │
@@ -313,9 +313,9 @@ exports[`SettingsDialog > Snapshot Tests > should render 'mixed boolean and numb
│ ▼ │
│ │
│ Apply To │
│ ● User Settings
│ Workspace Settings
│ System Settings
● User Settings │
Workspace Settings │
System Settings │
│ │
│ (Use Enter to select, Ctrl+L to reset, Tab to change focus, Esc to close) │
│ │
@@ -359,9 +359,9 @@ exports[`SettingsDialog > Snapshot Tests > should render 'tools and security set
│ ▼ │
│ │
│ Apply To │
│ ● User Settings
│ Workspace Settings
│ System Settings
● User Settings │
Workspace Settings │
System Settings │
│ │
│ (Use Enter to select, Ctrl+L to reset, Tab to change focus, Esc to close) │
│ │
@@ -405,9 +405,9 @@ exports[`SettingsDialog > Snapshot Tests > should render 'various boolean settin
│ ▼ │
│ │
│ Apply To │
│ ● User Settings
│ Workspace Settings
│ System Settings
● User Settings │
Workspace Settings │
System Settings │
│ │
│ (Use Enter to select, Ctrl+L to reset, Tab to change focus, Esc to close) │
│ │
@@ -5,18 +5,18 @@ exports[`Initial Theme Selection > should default to a dark theme when terminal
│ │
│ > Select Theme Preview │
│ ▲ ┌─────────────────────────────────────────────────┐ │
│ 1. ANSI Dark │ │ │
│ 2. Atom One Dark │ 1 # function │ │
│ 3. Ayu Dark │ 2 def fibonacci(n): │ │
│ ● 4. Default Dark (Matches terminal) │ 3 a, b = 0, 1 │ │
│ 5. Dracula Dark │ 4 for _ in range(n): │ │
│ 6. GitHub Dark │ 5 a, b = b, a + b │ │
│ 7. Holiday Dark │ 6 return a │ │
│ 8. Shades Of Purple Dark │ │ │
│ 9. Solarized Dark │ 1 - print("Hello, " + name) │ │
│ 10. ANSI Light │ 1 + print(f"Hello, {name}!") │ │
│ 11. Ayu Light │ │ │
│ 12. Default Light └─────────────────────────────────────────────────┘ │
1. ANSI Dark │ │ │
2. Atom One Dark │ 1 # function │ │
3. Ayu Dark │ 2 def fibonacci(n): │ │
● 4. Default Dark (Matches terminal) │ 3 a, b = 0, 1 │ │
5. Dracula Dark │ 4 for _ in range(n): │ │
6. GitHub Dark │ 5 a, b = b, a + b │ │
7. Holiday Dark │ 6 return a │ │
8. Shades Of Purple Dark │ │ │
9. Solarized Dark │ 1 - print("Hello, " + name) │ │
10. ANSI Light │ 1 + print(f"Hello, {name}!") │ │
11. Ayu Light │ │ │
12. Default Light └─────────────────────────────────────────────────┘ │
│ ▼ │
│ │
│ (Use Enter to select, Tab to configure scope, Esc to close) │
@@ -30,18 +30,18 @@ exports[`Initial Theme Selection > should default to a light theme when terminal
│ │
│ > Select Theme Preview │
│ ▲ ┌─────────────────────────────────────────────────┐ │
│ 1. ANSI Light │ │ │
│ 2. Ayu Light │ 1 # function │ │
│ ● 3. Default Light │ 2 def fibonacci(n): │ │
│ 4. GitHub Light │ 3 a, b = 0, 1 │ │
│ 5. Google Code Light │ 4 for _ in range(n): │ │
│ 6. Solarized Light │ 5 a, b = b, a + b │ │
│ 7. Xcode Light │ 6 return a │ │
│ 8. ANSI Dark (Incompatible) │ │ │
│ 9. Atom One Dark (Incompatible) │ 1 - print("Hello, " + name) │ │
│ 10. Ayu Dark (Incompatible) │ 1 + print(f"Hello, {name}!") │ │
│ 11. Default Dark (Incompatible) │ │ │
│ 12. Dracula Dark (Incompatible) └─────────────────────────────────────────────────┘ │
1. ANSI Light │ │ │
2. Ayu Light │ 1 # function │ │
● 3. Default Light │ 2 def fibonacci(n): │ │
4. GitHub Light │ 3 a, b = 0, 1 │ │
5. Google Code Light │ 4 for _ in range(n): │ │
6. Solarized Light │ 5 a, b = b, a + b │ │
7. Xcode Light │ 6 return a │ │
8. ANSI Dark (Incompatible) │ │ │
9. Atom One Dark (Incompatible) │ 1 - print("Hello, " + name) │ │
10. Ayu Dark (Incompatible) │ 1 + print(f"Hello, {name}!") │ │
11. Default Dark (Incompatible) │ │ │
12. Dracula Dark (Incompatible) └─────────────────────────────────────────────────┘ │
│ ▼ │
│ │
│ (Use Enter to select, Tab to configure scope, Esc to close) │
@@ -55,18 +55,18 @@ exports[`Initial Theme Selection > should use the theme from settings even if te
│ │
│ > Select Theme Preview │
│ ▲ ┌─────────────────────────────────────────────────┐ │
│ ● 1. ANSI Dark │ │ │
│ 2. Atom One Dark │ 1 # function │ │
│ 3. Ayu Dark │ 2 def fibonacci(n): │ │
│ 4. Default Dark (Matches terminal) │ 3 a, b = 0, 1 │ │
│ 5. Dracula Dark │ 4 for _ in range(n): │ │
│ 6. GitHub Dark │ 5 a, b = b, a + b │ │
│ 7. Holiday Dark │ 6 return a │ │
│ 8. Shades Of Purple Dark │ │ │
│ 9. Solarized Dark │ 1 - print("Hello, " + name) │ │
│ 10. ANSI Light │ 1 + print(f"Hello, {name}!") │ │
│ 11. Ayu Light │ │ │
│ 12. Default Light └─────────────────────────────────────────────────┘ │
● 1. ANSI Dark │ │ │
2. Atom One Dark │ 1 # function │ │
3. Ayu Dark │ 2 def fibonacci(n): │ │
4. Default Dark (Matches terminal) │ 3 a, b = 0, 1 │ │
5. Dracula Dark │ 4 for _ in range(n): │ │
6. GitHub Dark │ 5 a, b = b, a + b │ │
7. Holiday Dark │ 6 return a │ │
8. Shades Of Purple Dark │ │ │
9. Solarized Dark │ 1 - print("Hello, " + name) │ │
10. ANSI Light │ 1 + print(f"Hello, {name}!") │ │
11. Ayu Light │ │ │
12. Default Light └─────────────────────────────────────────────────┘ │
│ ▼ │
│ │
│ (Use Enter to select, Tab to configure scope, Esc to close) │
@@ -79,9 +79,9 @@ exports[`ThemeDialog Snapshots > should render correctly in scope selector mode
"╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
│ │
│ > Apply To │
│ ● 1. User Settings
│ 2. Workspace Settings
│ 3. System Settings
● 1. User Settings │
2. Workspace Settings │
3. System Settings │
│ │
│ (Use Enter to apply scope, Tab to select theme, Esc to close) │
│ │
@@ -94,18 +94,18 @@ exports[`ThemeDialog Snapshots > should render correctly in theme selection mode
│ │
│ > Select Theme Preview │
│ ▲ ┌─────────────────────────────────────────────────┐ │
│ ● 1. ANSI Dark (Matches terminal) │ │ │
│ 2. Atom One Dark │ 1 # function │ │
│ 3. Ayu Dark │ 2 def fibonacci(n): │ │
│ 4. Default Dark │ 3 a, b = 0, 1 │ │
│ 5. Dracula Dark │ 4 for _ in range(n): │ │
│ 6. GitHub Dark │ 5 a, b = b, a + b │ │
│ 7. Holiday Dark │ 6 return a │ │
│ 8. Shades Of Purple Dark │ │ │
│ 9. Solarized Dark │ 1 - print("Hello, " + name) │ │
│ 10. ANSI Light │ 1 + print(f"Hello, {name}!") │ │
│ 11. Ayu Light │ │ │
│ 12. Default Light └─────────────────────────────────────────────────┘ │
● 1. ANSI Dark (Matches terminal) │ │ │
2. Atom One Dark │ 1 # function │ │
3. Ayu Dark │ 2 def fibonacci(n): │ │
4. Default Dark │ 3 a, b = 0, 1 │ │
5. Dracula Dark │ 4 for _ in range(n): │ │
6. GitHub Dark │ 5 a, b = b, a + b │ │
7. Holiday Dark │ 6 return a │ │
8. Shades Of Purple Dark │ │ │
9. Solarized Dark │ 1 - print("Hello, " + name) │ │
10. ANSI Light │ 1 + print(f"Hello, {name}!") │ │
11. Ayu Light │ │ │
12. Default Light └─────────────────────────────────────────────────┘ │
│ ▼ │
│ │
│ (Use Enter to select, Tab to configure scope, Esc to close) │
@@ -119,18 +119,18 @@ exports[`ThemeDialog Snapshots > should render correctly in theme selection mode
│ │
│ > Select Theme Preview │
│ ▲ ┌─────────────────────────────────────────────────┐ │
│ ● 1. ANSI Dark (Matches terminal) │ │ │
│ 2. Atom One Dark │ 1 # function │ │
│ 3. Ayu Dark │ 2 def fibonacci(n): │ │
│ 4. Default Dark │ 3 a, b = 0, 1 │ │
│ 5. Dracula Dark │ 4 for _ in range(n): │ │
│ 6. GitHub Dark │ 5 a, b = b, a + b │ │
│ 7. Holiday Dark │ 6 return a │ │
│ 8. Shades Of Purple Dark │ │ │
│ 9. Solarized Dark │ 1 - print("Hello, " + name) │ │
│ 10. ANSI Light │ 1 + print(f"Hello, {name}!") │ │
│ 11. Ayu Light │ │ │
│ 12. Default Light └─────────────────────────────────────────────────┘ │
● 1. ANSI Dark (Matches terminal) │ │ │
2. Atom One Dark │ 1 # function │ │
3. Ayu Dark │ 2 def fibonacci(n): │ │
4. Default Dark │ 3 a, b = 0, 1 │ │
5. Dracula Dark │ 4 for _ in range(n): │ │
6. GitHub Dark │ 5 a, b = b, a + b │ │
7. Holiday Dark │ 6 return a │ │
8. Shades Of Purple Dark │ │ │
9. Solarized Dark │ 1 - print("Hello, " + name) │ │
10. ANSI Light │ 1 + print(f"Hello, {name}!") │ │
11. Ayu Light │ │ │
12. Default Light └─────────────────────────────────────────────────┘ │
│ ▼ │
│ ╭─────────────────────────────────────────────────╮ │
│ │ DEVELOPER TOOLS (Not visible to users) │ │
@@ -10,10 +10,10 @@ exports[`ToolConfirmationQueue > calculates availableContentHeight based on avai
│ 50 line │
│ Apply this change? │
│ │
│ ● 1. Allow once
│ 2. Allow for this session
│ 3. Modify with external editor
│ 4. No, suggest changes (esc)
● 1. Allow once │
2. Allow for this session │
3. Modify with external editor │
4. No, suggest changes (esc) │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
"
@@ -32,10 +32,10 @@ exports[`ToolConfirmationQueue > does not render expansion hint when constrainHe
│ ╰──────────────────────────────────────────────────────────────────────────╯ │
│ Apply this change? │
│ │
│ ● 1. Allow once
│ 2. Allow for this session
│ 3. Modify with external editor
│ 4. No, suggest changes (esc)
● 1. Allow once │
2. Allow for this session │
3. Modify with external editor │
4. No, suggest changes (esc) │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
"
@@ -52,9 +52,9 @@ exports[`ToolConfirmationQueue > provides more height for ask_user by subtractin
│ Line 5 │
│ Line 6 │
│ │
│ ● 1. Option 1
│ Desc
│ 2. Enter a custom value
● 1. Option 1 │
Desc │
2. Enter a custom value │
│ │
│ Enter to select · ↑/↓ to navigate · Esc to cancel │
╰──────────────────────────────────────────────────────────────────────────────╯
@@ -79,11 +79,11 @@ exports[`ToolConfirmationQueue > renders ExitPlanMode tool confirmation with Suc
│ │
│ Plan content goes here │
│ │
│ ● 1. Yes, automatically accept edits
│ Approves plan and allows tools to run automatically
│ 2. Yes, manually accept edits
│ Approves plan but requires confirmation for each tool
│ 3. Type your feedback...
● 1. Yes, automatically accept edits │
Approves plan and allows tools to run automatically │
2. Yes, manually accept edits │
Approves plan but requires confirmation for each tool │
3. Type your feedback... │
│ │
│ Enter to select · ↑/↓ to navigate · Ctrl+X to edit plan · Esc to cancel │
╰──────────────────────────────────────────────────────────────────────────────╯
@@ -100,10 +100,10 @@ exports[`ToolConfirmationQueue > renders expansion hint when content is long and
│ 50 line │
│ Apply this change? │
│ │
│ ● 1. Allow once
│ 2. Allow for this session
│ 3. Modify with external editor
│ 4. No, suggest changes (esc)
● 1. Allow once │
2. Allow for this session │
3. Modify with external editor │
4. No, suggest changes (esc) │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
Press Ctrl+O to show more lines
@@ -119,9 +119,9 @@ exports[`ToolConfirmationQueue > renders the confirming tool with progress indic
│ ls │
│ Allow execution of: 'ls'? │
│ │
│ ● 1. Allow once
│ 2. Allow for this session
│ 3. No, suggest changes (esc)
● 1. Allow once │
2. Allow for this session │
3. No, suggest changes (esc) │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
"
@@ -7,8 +7,8 @@ Note: Command contains redirection which can be undesirable.
Tip: Toggle auto-edit (Shift+Tab) to allow redirection in the future.
Allow execution of: 'echo, redirection (>)'?
● 1. Allow once
2. Allow for this session
3. No, suggest changes (esc)
● 1. Allow once
2. Allow for this session
3. No, suggest changes (esc)
"
`;
@@ -16,17 +16,18 @@
<text x="0" y="53" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">done</text>
<text x="0" y="70" fill="#ffffff" textLength="243" lengthAdjust="spacingAndGlyphs">Allow execution of: &apos;echo&apos;?</text>
<rect x="0" y="102" width="9" height="17" fill="#001a00" />
<text x="0" y="104" fill="#00cd00" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="9" y="102" width="9" height="17" fill="#001a00" />
<rect x="18" y="102" width="18" height="17" fill="#001a00" />
<text x="18" y="104" fill="#00cd00" textLength="18" lengthAdjust="spacingAndGlyphs">1.</text>
<rect x="36" y="102" width="9" height="17" fill="#001a00" />
<rect x="45" y="102" width="90" height="17" fill="#001a00" />
<text x="45" y="104" fill="#00cd00" textLength="90" lengthAdjust="spacingAndGlyphs">Allow once</text>
<rect x="135" y="102" width="135" height="17" fill="#001a00" />
<text x="18" y="121" fill="#ffffff" textLength="18" lengthAdjust="spacingAndGlyphs">2.</text>
<text x="45" y="121" fill="#ffffff" textLength="198" lengthAdjust="spacingAndGlyphs">Allow for this session</text>
<text x="18" y="138" fill="#ffffff" textLength="18" lengthAdjust="spacingAndGlyphs">3.</text>
<text x="45" y="138" fill="#ffffff" textLength="225" lengthAdjust="spacingAndGlyphs">No, suggest changes (esc)</text>
<text x="9" y="104" fill="#00cd00" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="18" y="102" width="9" height="17" fill="#001a00" />
<rect x="27" y="102" width="18" height="17" fill="#001a00" />
<text x="27" y="104" fill="#00cd00" textLength="18" lengthAdjust="spacingAndGlyphs">1.</text>
<rect x="45" y="102" width="9" height="17" fill="#001a00" />
<rect x="54" y="102" width="90" height="17" fill="#001a00" />
<text x="54" y="104" fill="#00cd00" textLength="90" lengthAdjust="spacingAndGlyphs">Allow once</text>
<rect x="144" y="102" width="756" height="17" fill="#001a00" />
<text x="27" y="121" fill="#ffffff" textLength="18" lengthAdjust="spacingAndGlyphs">2.</text>
<text x="54" y="121" fill="#ffffff" textLength="198" lengthAdjust="spacingAndGlyphs">Allow for this session</text>
<text x="27" y="138" fill="#ffffff" textLength="18" lengthAdjust="spacingAndGlyphs">3.</text>
<text x="54" y="138" fill="#ffffff" textLength="225" lengthAdjust="spacingAndGlyphs">No, suggest changes (esc)</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

@@ -8,9 +8,9 @@ ls -la
whoami
Allow execution of 3 commands?
● 1. Allow once
2. Allow for this session
3. No, suggest changes (esc)
● 1. Allow once
2. Allow for this session
3. No, suggest changes (esc)
"
`;
@@ -21,9 +21,9 @@ URLs to fetch:
- https://raw.githubusercontent.com/google/gemini-react/main/README.md
Do you want to proceed?
● 1. Allow once
2. Allow for this session
3. No, suggest changes (esc)
● 1. Allow once
2. Allow for this session
3. No, suggest changes (esc)
"
`;
@@ -31,9 +31,9 @@ exports[`ToolConfirmationMessage > should not display urls if prompt and url are
"https://example.com
Do you want to proceed?
● 1. Allow once
2. Allow for this session
3. No, suggest changes (esc)
● 1. Allow once
2. Allow for this session
3. No, suggest changes (esc)
"
`;
@@ -44,9 +44,9 @@ for i in 1 2 3; do
done
Allow execution of: 'echo'?
● 1. Allow once
2. Allow for this session
3. No, suggest changes (esc)
● 1. Allow once
2. Allow for this session
3. No, suggest changes (esc)
"
`;
@@ -55,10 +55,10 @@ exports[`ToolConfirmationMessage > should strip BiDi characters from MCP tool an
Tool: testtool
Allow execution of MCP tool "testtool" from server "testserver"?
● 1. Allow once
2. Allow tool for this session
3. Allow all server tools for this session
4. No, suggest changes (esc)
● 1. Allow once
2. Allow tool for this session
3. Allow all server tools for this session
4. No, suggest changes (esc)
"
`;
@@ -70,9 +70,9 @@ exports[`ToolConfirmationMessage > with folder trust > 'for edit confirmations'
╰──────────────────────────────────────────────────────────────────────────────╯
Apply this change?
● 1. Allow once
2. Modify with external editor
3. No, suggest changes (esc)
● 1. Allow once
2. Modify with external editor
3. No, suggest changes (esc)
"
`;
@@ -84,10 +84,10 @@ exports[`ToolConfirmationMessage > with folder trust > 'for edit confirmations'
╰──────────────────────────────────────────────────────────────────────────────╯
Apply this change?
● 1. Allow once
2. Allow for this session
3. Modify with external editor
4. No, suggest changes (esc)
● 1. Allow once
2. Allow for this session
3. Modify with external editor
4. No, suggest changes (esc)
"
`;
@@ -95,8 +95,8 @@ exports[`ToolConfirmationMessage > with folder trust > 'for exec confirmations'
"echo "hello"
Allow execution of: 'echo'?
● 1. Allow once
2. No, suggest changes (esc)
● 1. Allow once
2. No, suggest changes (esc)
"
`;
@@ -104,9 +104,9 @@ exports[`ToolConfirmationMessage > with folder trust > 'for exec confirmations'
"echo "hello"
Allow execution of: 'echo'?
● 1. Allow once
2. Allow for this session
3. No, suggest changes (esc)
● 1. Allow once
2. Allow for this session
3. No, suggest changes (esc)
"
`;
@@ -114,8 +114,8 @@ exports[`ToolConfirmationMessage > with folder trust > 'for info confirmations'
"https://example.com
Do you want to proceed?
● 1. Allow once
2. No, suggest changes (esc)
● 1. Allow once
2. No, suggest changes (esc)
"
`;
@@ -123,9 +123,9 @@ exports[`ToolConfirmationMessage > with folder trust > 'for info confirmations'
"https://example.com
Do you want to proceed?
● 1. Allow once
2. Allow for this session
3. No, suggest changes (esc)
● 1. Allow once
2. Allow for this session
3. No, suggest changes (esc)
"
`;
@@ -134,8 +134,8 @@ exports[`ToolConfirmationMessage > with folder trust > 'for mcp confirmations' >
Tool: test-tool
Allow execution of MCP tool "test-tool" from server "test-server"?
● 1. Allow once
2. No, suggest changes (esc)
● 1. Allow once
2. No, suggest changes (esc)
"
`;
@@ -144,9 +144,9 @@ exports[`ToolConfirmationMessage > with folder trust > 'for mcp confirmations' >
Tool: test-tool
Allow execution of MCP tool "test-tool" from server "test-server"?
● 1. Allow once
2. Allow tool for this session
3. Allow all server tools for this session
4. No, suggest changes (esc)
● 1. Allow once
2. Allow tool for this session
3. Allow all server tools for this session
4. No, suggest changes (esc)
"
`;
@@ -12,22 +12,10 @@ import {
type RenderItemContext,
} from './BaseSelectionList.js';
import { useSelectionList } from '../../hooks/useSelectionList.js';
import { Text, getBoundingBox } from 'ink';
import { Text } from 'ink';
import type { theme } from '../../semantic-colors.js';
import { useTerminalSize } from '../../hooks/useTerminalSize.js';
import { useUIState, type UIState } from '../../contexts/UIStateContext.js';
vi.mock('../../hooks/useSelectionList.js');
vi.mock('../../hooks/useTerminalSize.js');
vi.mock('../../contexts/UIStateContext.js');
vi.mock('ink', async (importOriginal) => {
const actual = await importOriginal<typeof import('ink')>();
return {
...actual,
getBoundingBox: vi.fn(),
};
});
const mockTheme = {
text: { primary: 'COLOR_PRIMARY', secondary: 'COLOR_SECONDARY' },
@@ -69,18 +57,6 @@ describe('BaseSelectionList', () => {
setActiveIndex: vi.fn(),
});
vi.mocked(useTerminalSize).mockReturnValue({
columns: 100,
rows: 40,
});
vi.mocked(getBoundingBox).mockReturnValue({
width: 100,
height: 10,
x: 0,
y: 0,
});
mockRenderItem.mockImplementation(
(
item: { value: string; label: string; disabled?: boolean; key: string },
@@ -106,9 +82,6 @@ describe('BaseSelectionList', () => {
beforeEach(() => {
vi.clearAllMocks();
vi.mocked(useUIState).mockReturnValue({
mainAreaWidth: 100,
} as unknown as UIState);
});
describe('Rendering and Structure', () => {
@@ -119,7 +92,6 @@ describe('BaseSelectionList', () => {
expect(lastFrame()).toContain('Item B');
expect(lastFrame()).toContain('Item C');
// 3 items. Render count might be higher due to useLayoutEffect for offset.
expect(mockRenderItem).toHaveBeenCalledTimes(items.length);
expect(mockRenderItem).toHaveBeenCalledWith(items[0], expect.any(Object));
unmount();
@@ -527,33 +499,6 @@ describe('BaseSelectionList', () => {
unmount();
});
it('should apply full-width highlight and offset when horizontally shifted', async () => {
const horizontalOffset = 10;
const terminalWidth = 100;
vi.mocked(getBoundingBox).mockReturnValue({
width: 80,
height: 10,
x: horizontalOffset,
y: 0,
});
vi.mocked(useTerminalSize).mockReturnValue({
columns: terminalWidth,
rows: 40,
});
const result = await renderComponent({}, 0); // Item A selected
const { lastFrame, unmount, waitUntilReady } = result;
await waitUntilReady();
const output = lastFrame();
expect(output).toContain('Item A');
await expect(result).toMatchSvgSnapshot();
unmount();
});
it('should show arrows and correct items when scrolled to the middle', async () => {
const { lastFrame, unmount } = await renderComponent(
{ items: longList, maxItemsToShow: MAX_ITEMS, showScrollArrows: true },
@@ -5,12 +5,10 @@
*/
import type React from 'react';
import { useEffect, useState, useLayoutEffect, useRef } from 'react';
import { Text, Box, getBoundingBox, type DOMElement } from 'ink';
import { useEffect, useState } from 'react';
import { Text, Box } from 'ink';
import { theme } from '../../semantic-colors.js';
import { useSelectionList } from '../../hooks/useSelectionList.js';
import { useTerminalSize } from '../../hooks/useTerminalSize.js';
import { useUIState } from '../../contexts/UIStateContext.js';
import type { SelectionListItem } from '../../hooks/useSelectionList.js';
@@ -35,6 +33,8 @@ export interface BaseSelectionListProps<
wrapAround?: boolean;
focusKey?: string;
priority?: boolean;
/** Horizontal padding for items when not selected. Defaults to 2. */
horizontalPadding?: number;
renderItem: (item: TItem, context: RenderItemContext) => React.ReactNode;
}
@@ -67,6 +67,7 @@ export function BaseSelectionList<
wrapAround = true,
focusKey,
priority,
horizontalPadding = 1,
renderItem,
}: BaseSelectionListProps<T, TItem>): React.JSX.Element {
const { activeIndex } = useSelectionList({
@@ -82,23 +83,6 @@ export function BaseSelectionList<
});
const [scrollOffset, setScrollOffset] = useState(0);
const containerRef = useRef<DOMElement>(null);
const [horizontalOffset, setHorizontalOffset] = useState(0);
const { columns: terminalWidth } = useTerminalSize();
const uiState = useUIState();
const mainAreaWidth = uiState?.mainAreaWidth;
const effectiveTerminalWidth = mainAreaWidth ?? terminalWidth;
// Measure horizontal offset to allow full-width highlight
useLayoutEffect(() => {
if (containerRef.current) {
const { x } = getBoundingBox(containerRef.current);
// We want to track the "true" offset relative to the viewport.
// Since we apply -breakoutAmount as a margin to the SELECTED item,
// it should not affect the parent container's x coordinate in a standard layout.
setHorizontalOffset(x);
}
}, [terminalWidth, mainAreaWidth]);
// Handle scrolling for long lists
useEffect(() => {
@@ -117,7 +101,7 @@ export function BaseSelectionList<
const numberColumnWidth = String(items.length).length;
return (
<Box flexDirection="column" ref={containerRef}>
<Box flexDirection="column">
{/* Use conditional coloring instead of conditional rendering */}
{showScrollArrows && items.length > maxItemsToShow && (
<Text
@@ -155,20 +139,15 @@ export function BaseSelectionList<
numberColumnWidth,
)}.`;
const breakoutAmount = isSelected
? Math.max(0, horizontalOffset - 2)
: 0;
return (
<Box
key={item.key}
alignItems="flex-start"
backgroundColor={isSelected ? theme.background.focus : undefined}
marginLeft={-breakoutAmount}
paddingLeft={breakoutAmount}
width={
isSelected ? Math.max(1, effectiveTerminalWidth - 4) : '100%'
}
marginX={isSelected ? 0 : horizontalPadding}
paddingX={isSelected ? horizontalPadding : 0}
width="100%"
minWidth="100%"
>
{/* Radio button indicator */}
<Box minWidth={2} flexShrink={0}>
@@ -4,8 +4,8 @@
</style>
<rect width="920" height="71" fill="#000000" />
<g transform="translate(10, 10)">
<text x="0" y="2" fill="#ffffff" textLength="900" lengthAdjust="spacingAndGlyphs">● 1. Item A </text>
<text x="0" y="19" fill="#ffffff" textLength="900" lengthAdjust="spacingAndGlyphs"> 2. Item B </text>
<text x="0" y="36" fill="#ffffff" textLength="900" lengthAdjust="spacingAndGlyphs"> 3. Item C </text>
<text x="0" y="2" fill="#ffffff" textLength="900" lengthAdjust="spacingAndGlyphs"> ● 1. Item A </text>
<text x="0" y="19" fill="#ffffff" textLength="900" lengthAdjust="spacingAndGlyphs"> 2. Item B </text>
<text x="0" y="36" fill="#ffffff" textLength="900" lengthAdjust="spacingAndGlyphs"> 3. Item C </text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 926 B

After

Width:  |  Height:  |  Size: 926 B

@@ -1,47 +1,41 @@
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
exports[`BaseSelectionList > Rendering and Structure > should render the selection indicator (● or space) and layout 1`] = `
"● 1. Item A
2. Item B
3. Item C"
`;
exports[`BaseSelectionList > Scroll Arrows (showScrollArrows) > should apply full-width highlight and offset when horizontally shifted 1`] = `
"● 1. Item A
2. Item B
3. Item C"
" ● 1. Item A
2. Item B
3. Item C"
`;
exports[`BaseSelectionList > Scroll Arrows (showScrollArrows) > should not show arrows when list fits entirely 1`] = `
"● 1. Item A
2. Item B
3. Item C
" ● 1. Item A
2. Item B
3. Item C
"
`;
exports[`BaseSelectionList > Scroll Arrows (showScrollArrows) > should show arrows and correct items when scrolled to the end 1`] = `
"▲
8. Item 8
9. Item 9
● 10. Item 10
8. Item 8
9. Item 9
● 10. Item 10
"
`;
exports[`BaseSelectionList > Scroll Arrows (showScrollArrows) > should show arrows and correct items when scrolled to the middle 1`] = `
"▲
4. Item 4
5. Item 5
● 6. Item 6
4. Item 4
5. Item 5
● 6. Item 6
"
`;
exports[`BaseSelectionList > Scroll Arrows (showScrollArrows) > should show arrows with correct colors when enabled (at the top) 1`] = `
"▲
● 1. Item 1
2. Item 2
3. Item 3
● 1. Item 1
2. Item 2
3. Item 3
"
`;
@@ -0,0 +1,91 @@
<svg xmlns="http://www.w3.org/2000/svg" width="920" height="445" viewBox="0 0 920 445">
<style>
text { font-family: Consolas, "Courier New", monospace; font-size: 14px; dominant-baseline: text-before-edge; white-space: pre; }
</style>
<rect width="920" height="445" fill="#000000" />
<g transform="translate(10, 10)">
<text x="0" y="2" fill="#878787" textLength="900" lengthAdjust="spacingAndGlyphs">╭──────────────────────────────────────────────────────────────────────────────────────────────────╮</text>
<text x="0" y="19" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="19" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="36" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="27" y="36" fill="#ffffff" textLength="144" lengthAdjust="spacingAndGlyphs" font-weight="bold">&gt; Test Settings </text>
<text x="891" y="36" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="53" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="53" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="70" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="70" fill="#ffffff" textLength="135" lengthAdjust="spacingAndGlyphs">Boolean Setting</text>
<text x="333" y="70" fill="#ffffff" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
<text x="891" y="70" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="87" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="87" fill="#afafaf" textLength="261" lengthAdjust="spacingAndGlyphs">A boolean setting for testing</text>
<text x="891" y="87" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="104" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="104" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="121" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="18" y="119" width="9" height="17" fill="#005f00" />
<rect x="27" y="119" width="9" height="17" fill="#005f00" />
<text x="27" y="121" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="119" width="9" height="17" fill="#005f00" />
<rect x="45" y="119" width="126" height="17" fill="#005f00" />
<text x="45" y="121" fill="#d7ffd7" textLength="126" lengthAdjust="spacingAndGlyphs">String Setting</text>
<rect x="171" y="119" width="153" height="17" fill="#005f00" />
<rect x="324" y="119" width="90" height="17" fill="#005f00" />
<text x="324" y="121" fill="#d7ffd7" textLength="90" lengthAdjust="spacingAndGlyphs">test-value</text>
<rect x="414" y="119" width="468" height="17" fill="#005f00" />
<text x="891" y="121" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="138" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="18" y="136" width="27" height="17" fill="#005f00" />
<rect x="45" y="136" width="252" height="17" fill="#005f00" />
<text x="45" y="138" fill="#ffffff" textLength="252" lengthAdjust="spacingAndGlyphs">A string setting for testing</text>
<rect x="297" y="136" width="585" height="17" fill="#005f00" />
<text x="891" y="138" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="155" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="155" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="172" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="172" fill="#ffffff" textLength="126" lengthAdjust="spacingAndGlyphs">Number Setting</text>
<text x="324" y="172" fill="#ffffff" textLength="18" lengthAdjust="spacingAndGlyphs">42</text>
<text x="891" y="172" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="189" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="189" fill="#afafaf" textLength="252" lengthAdjust="spacingAndGlyphs">A number setting for testing</text>
<text x="891" y="189" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="206" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="206" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="223" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="223" fill="#ffffff" textLength="108" lengthAdjust="spacingAndGlyphs">Enum Setting</text>
<text x="315" y="223" fill="#ffffff" textLength="72" lengthAdjust="spacingAndGlyphs">option-a</text>
<text x="891" y="223" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="240" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="240" fill="#afafaf" textLength="243" lengthAdjust="spacingAndGlyphs">An enum setting for testing</text>
<text x="891" y="240" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="257" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="257" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="274" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="274" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="291" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="9" y="291" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Apply To </text>
<text x="891" y="291" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="308" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="306" width="18" height="17" fill="#005f00" />
<rect x="45" y="306" width="9" height="17" fill="#005f00" />
<text x="45" y="308" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="54" y="306" width="9" height="17" fill="#005f00" />
<rect x="63" y="306" width="117" height="17" fill="#005f00" />
<text x="63" y="308" fill="#d7ffd7" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="180" y="306" width="693" height="17" fill="#005f00" />
<text x="891" y="308" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="325" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="63" y="325" fill="#ffffff" textLength="162" lengthAdjust="spacingAndGlyphs">Workspace Settings</text>
<text x="891" y="325" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="342" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="63" y="342" fill="#ffffff" textLength="135" lengthAdjust="spacingAndGlyphs">System Settings</text>
<text x="891" y="342" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="359" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="359" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="376" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="27" y="376" fill="#afafaf" textLength="657" lengthAdjust="spacingAndGlyphs">(Use Enter to select, Ctrl+L to reset, Tab to change focus, Esc to close)</text>
<text x="891" y="376" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="393" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="393" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="410" fill="#878787" textLength="900" lengthAdjust="spacingAndGlyphs">╰──────────────────────────────────────────────────────────────────────────────────────────────────╯</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.8 KiB

@@ -0,0 +1,91 @@
<svg xmlns="http://www.w3.org/2000/svg" width="920" height="445" viewBox="0 0 920 445">
<style>
text { font-family: Consolas, "Courier New", monospace; font-size: 14px; dominant-baseline: text-before-edge; white-space: pre; }
</style>
<rect width="920" height="445" fill="#000000" />
<g transform="translate(10, 10)">
<text x="0" y="2" fill="#878787" textLength="900" lengthAdjust="spacingAndGlyphs">╭──────────────────────────────────────────────────────────────────────────────────────────────────╮</text>
<text x="0" y="19" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="19" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="36" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="27" y="36" fill="#ffffff" textLength="144" lengthAdjust="spacingAndGlyphs" font-weight="bold">&gt; Test Settings </text>
<text x="891" y="36" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="53" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="53" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="70" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="70" fill="#ffffff" textLength="135" lengthAdjust="spacingAndGlyphs">Boolean Setting</text>
<text x="333" y="70" fill="#ffffff" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
<text x="891" y="70" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="87" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="87" fill="#afafaf" textLength="261" lengthAdjust="spacingAndGlyphs">A boolean setting for testing</text>
<text x="891" y="87" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="104" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="104" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="121" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="18" y="119" width="9" height="17" fill="#005f00" />
<rect x="27" y="119" width="9" height="17" fill="#005f00" />
<text x="27" y="121" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="119" width="9" height="17" fill="#005f00" />
<rect x="45" y="119" width="126" height="17" fill="#005f00" />
<text x="45" y="121" fill="#d7ffd7" textLength="126" lengthAdjust="spacingAndGlyphs">String Setting</text>
<rect x="171" y="119" width="153" height="17" fill="#005f00" />
<rect x="324" y="119" width="90" height="17" fill="#005f00" />
<text x="324" y="121" fill="#d7ffd7" textLength="90" lengthAdjust="spacingAndGlyphs">test-value</text>
<rect x="414" y="119" width="468" height="17" fill="#005f00" />
<text x="891" y="121" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="138" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="18" y="136" width="27" height="17" fill="#005f00" />
<rect x="45" y="136" width="252" height="17" fill="#005f00" />
<text x="45" y="138" fill="#ffffff" textLength="252" lengthAdjust="spacingAndGlyphs">A string setting for testing</text>
<rect x="297" y="136" width="585" height="17" fill="#005f00" />
<text x="891" y="138" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="155" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="155" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="172" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="172" fill="#ffffff" textLength="126" lengthAdjust="spacingAndGlyphs">Number Setting</text>
<text x="324" y="172" fill="#ffffff" textLength="18" lengthAdjust="spacingAndGlyphs">42</text>
<text x="891" y="172" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="189" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="189" fill="#afafaf" textLength="252" lengthAdjust="spacingAndGlyphs">A number setting for testing</text>
<text x="891" y="189" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="206" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="206" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="223" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="223" fill="#ffffff" textLength="108" lengthAdjust="spacingAndGlyphs">Enum Setting</text>
<text x="315" y="223" fill="#ffffff" textLength="72" lengthAdjust="spacingAndGlyphs">option-a</text>
<text x="891" y="223" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="240" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="240" fill="#afafaf" textLength="243" lengthAdjust="spacingAndGlyphs">An enum setting for testing</text>
<text x="891" y="240" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="257" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="257" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="274" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="274" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="291" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="9" y="291" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Apply To </text>
<text x="891" y="291" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="308" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="27" y="306" width="9" height="17" fill="#005f00" />
<rect x="36" y="306" width="9" height="17" fill="#005f00" />
<text x="36" y="308" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="45" y="306" width="9" height="17" fill="#005f00" />
<rect x="54" y="306" width="117" height="17" fill="#005f00" />
<text x="54" y="308" fill="#d7ffd7" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="171" y="306" width="702" height="17" fill="#005f00" />
<text x="891" y="308" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="325" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="54" y="325" fill="#ffffff" textLength="162" lengthAdjust="spacingAndGlyphs">Workspace Settings</text>
<text x="891" y="325" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="342" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="54" y="342" fill="#ffffff" textLength="135" lengthAdjust="spacingAndGlyphs">System Settings</text>
<text x="891" y="342" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="359" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="359" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="376" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="27" y="376" fill="#afafaf" textLength="657" lengthAdjust="spacingAndGlyphs">(Use Enter to select, Ctrl+L to reset, Tab to change focus, Esc to close)</text>
<text x="891" y="376" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="393" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="393" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="410" fill="#878787" textLength="900" lengthAdjust="spacingAndGlyphs">╰──────────────────────────────────────────────────────────────────────────────────────────────────╯</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.8 KiB

@@ -65,19 +65,19 @@
<text x="9" y="291" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Apply To </text>
<text x="891" y="291" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="308" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="18" y="306" width="9" height="17" fill="#005f00" />
<rect x="27" y="306" width="9" height="17" fill="#005f00" />
<text x="27" y="308" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="306" width="9" height="17" fill="#005f00" />
<rect x="45" y="306" width="117" height="17" fill="#005f00" />
<text x="45" y="308" fill="#d7ffd7" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="162" y="306" width="720" height="17" fill="#005f00" />
<text x="36" y="308" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="45" y="306" width="9" height="17" fill="#005f00" />
<rect x="54" y="306" width="117" height="17" fill="#005f00" />
<text x="54" y="308" fill="#d7ffd7" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="171" y="306" width="702" height="17" fill="#005f00" />
<text x="891" y="308" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="325" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="325" fill="#ffffff" textLength="162" lengthAdjust="spacingAndGlyphs">Workspace Settings</text>
<text x="54" y="325" fill="#ffffff" textLength="162" lengthAdjust="spacingAndGlyphs">Workspace Settings</text>
<text x="891" y="325" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="342" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="342" fill="#ffffff" textLength="135" lengthAdjust="spacingAndGlyphs">System Settings</text>
<text x="54" y="342" fill="#ffffff" textLength="135" lengthAdjust="spacingAndGlyphs">System Settings</text>
<text x="891" y="342" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="359" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="359" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 8.8 KiB

@@ -65,19 +65,19 @@
<text x="9" y="291" fill="#ffffff" textLength="882" lengthAdjust="spacingAndGlyphs"> Apply To </text>
<text x="891" y="291" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="308" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="18" y="306" width="9" height="17" fill="#005f00" />
<rect x="27" y="306" width="9" height="17" fill="#005f00" />
<text x="27" y="308" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="36" y="306" width="9" height="17" fill="#005f00" />
<rect x="45" y="306" width="117" height="17" fill="#005f00" />
<text x="45" y="308" fill="#d7ffd7" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="162" y="306" width="720" height="17" fill="#005f00" />
<text x="36" y="308" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<rect x="45" y="306" width="9" height="17" fill="#005f00" />
<rect x="54" y="306" width="117" height="17" fill="#005f00" />
<text x="54" y="308" fill="#d7ffd7" textLength="117" lengthAdjust="spacingAndGlyphs">User Settings</text>
<rect x="171" y="306" width="702" height="17" fill="#005f00" />
<text x="891" y="308" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="325" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="325" fill="#ffffff" textLength="162" lengthAdjust="spacingAndGlyphs">Workspace Settings</text>
<text x="54" y="325" fill="#ffffff" textLength="162" lengthAdjust="spacingAndGlyphs">Workspace Settings</text>
<text x="891" y="325" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="342" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="45" y="342" fill="#ffffff" textLength="135" lengthAdjust="spacingAndGlyphs">System Settings</text>
<text x="54" y="342" fill="#ffffff" textLength="135" lengthAdjust="spacingAndGlyphs">System Settings</text>
<text x="891" y="342" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="0" y="359" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>
<text x="891" y="359" fill="#878787" textLength="9" lengthAdjust="spacingAndGlyphs"></text>

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 8.8 KiB

@@ -19,9 +19,37 @@ exports[`BaseSettingsDialog > keyboard navigation > should navigate down with ar
│ │
│ │
│ Apply To │
│ ● User Settings
│ Workspace Settings
│ System Settings
● User Settings │
Workspace Settings │
System Settings │
│ │
│ (Use Enter to select, Ctrl+L to reset, Tab to change focus, Esc to close) │
│ │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯"
`;
exports[`BaseSettingsDialog > keyboard navigation > should navigate down with arrow key 2`] = `
"╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
│ │
│ > Test Settings │
│ │
│ Boolean Setting true │
│ A boolean setting for testing │
│ │
│ ● String Setting test-value │
│ A string setting for testing │
│ │
│ Number Setting 42 │
│ A number setting for testing │
│ │
│ Enum Setting option-a │
│ An enum setting for testing │
│ │
│ │
│ Apply To │
│ ● User Settings │
│ Workspace Settings │
│ System Settings │
│ │
│ (Use Enter to select, Ctrl+L to reset, Tab to change focus, Esc to close) │
│ │
@@ -47,9 +75,9 @@ exports[`BaseSettingsDialog > rendering > should render all items 1`] = `
│ │
│ │
│ Apply To │
│ ● User Settings
│ Workspace Settings
│ System Settings
● User Settings │
Workspace Settings │
System Settings │
│ │
│ (Use Enter to select, Ctrl+L to reset, Tab to change focus, Esc to close) │
│ │
@@ -1,21 +1,21 @@
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
exports[`DescriptiveRadioButtonSelect > should render correctly with custom props 1`] = `
" 1. Foo Title
This is Foo.
● 2. Bar Title
This is Bar.
3. Baz Title
This is Baz.
" 1. Foo Title
This is Foo.
● 2. Bar Title
This is Bar.
3. Baz Title
This is Baz.
"
`;
exports[`DescriptiveRadioButtonSelect > should render correctly with default props 1`] = `
"● Foo Title
This is Foo.
Bar Title
This is Bar.
Baz Title
This is Baz.
" ● Foo Title
This is Foo.
Bar Title
This is Bar.
Baz Title
This is Baz.
"
`;