mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-05-13 05:12:55 -07:00
Update setting search UX (#14451)
This commit is contained in:
@@ -40,6 +40,12 @@ import {
|
|||||||
const mockToggleVimEnabled = vi.fn();
|
const mockToggleVimEnabled = vi.fn();
|
||||||
const mockSetVimMode = vi.fn();
|
const mockSetVimMode = vi.fn();
|
||||||
|
|
||||||
|
vi.mock('../contexts/UIStateContext.js', () => ({
|
||||||
|
useUIState: () => ({
|
||||||
|
mainAreaWidth: 100, // Fixed width for consistent snapshots
|
||||||
|
}),
|
||||||
|
}));
|
||||||
|
|
||||||
enum TerminalKeys {
|
enum TerminalKeys {
|
||||||
ENTER = '\u000D',
|
ENTER = '\u000D',
|
||||||
TAB = '\t',
|
TAB = '\t',
|
||||||
@@ -1107,7 +1113,7 @@ describe('SettingsDialog', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe('Search Functionality', () => {
|
describe('Search Functionality', () => {
|
||||||
it('should enter search mode when "/" is pressed', async () => {
|
it('should display text entered in search', async () => {
|
||||||
const settings = createMockSettings();
|
const settings = createMockSettings();
|
||||||
const onSelect = vi.fn();
|
const onSelect = vi.fn();
|
||||||
|
|
||||||
@@ -1117,7 +1123,7 @@ describe('SettingsDialog', () => {
|
|||||||
await waitFor(() => {
|
await waitFor(() => {
|
||||||
expect(lastFrame()).not.toContain('> Search:');
|
expect(lastFrame()).not.toContain('> Search:');
|
||||||
});
|
});
|
||||||
expect(lastFrame()).toContain('(press / to search)');
|
expect(lastFrame()).toContain('Search to filter');
|
||||||
|
|
||||||
// Press '/' to enter search mode
|
// Press '/' to enter search mode
|
||||||
act(() => {
|
act(() => {
|
||||||
@@ -1125,8 +1131,8 @@ describe('SettingsDialog', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
await waitFor(() => {
|
await waitFor(() => {
|
||||||
expect(lastFrame()).toContain('> Search:');
|
expect(lastFrame()).toContain('/');
|
||||||
expect(lastFrame()).not.toContain('(press / to search)');
|
expect(lastFrame()).not.toContain('Search to filter');
|
||||||
});
|
});
|
||||||
|
|
||||||
unmount();
|
unmount();
|
||||||
@@ -1138,45 +1144,29 @@ describe('SettingsDialog', () => {
|
|||||||
|
|
||||||
const { lastFrame, stdin, unmount } = renderDialog(settings, onSelect);
|
const { lastFrame, stdin, unmount } = renderDialog(settings, onSelect);
|
||||||
|
|
||||||
// Enter search mode
|
|
||||||
act(() => {
|
|
||||||
stdin.write('/');
|
|
||||||
});
|
|
||||||
await waitFor(() => {
|
|
||||||
expect(lastFrame()).toContain('> Search:');
|
|
||||||
});
|
|
||||||
|
|
||||||
// Type "vim"
|
|
||||||
act(() => {
|
act(() => {
|
||||||
stdin.write('yolo');
|
stdin.write('yolo');
|
||||||
});
|
});
|
||||||
|
|
||||||
await waitFor(() => {
|
await waitFor(() => {
|
||||||
expect(lastFrame()).toContain('> Search: yolo');
|
expect(lastFrame()).toContain('yolo');
|
||||||
expect(lastFrame()).toContain('Disable YOLO Mode'); // Should be filtered to show Vim Mode
|
expect(lastFrame()).toContain('Disable YOLO Mode');
|
||||||
});
|
});
|
||||||
|
|
||||||
unmount();
|
unmount();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should exit search mode when Escape is pressed', async () => {
|
it('should exit search settings when Escape is pressed', async () => {
|
||||||
const settings = createMockSettings();
|
const settings = createMockSettings();
|
||||||
const onSelect = vi.fn();
|
const onSelect = vi.fn();
|
||||||
|
|
||||||
const { lastFrame, stdin, unmount } = renderDialog(settings, onSelect);
|
const { lastFrame, stdin, unmount } = renderDialog(settings, onSelect);
|
||||||
|
|
||||||
act(() => {
|
|
||||||
stdin.write('/');
|
|
||||||
});
|
|
||||||
await waitFor(() => {
|
|
||||||
expect(lastFrame()).toContain('> Search:');
|
|
||||||
});
|
|
||||||
|
|
||||||
act(() => {
|
act(() => {
|
||||||
stdin.write('vim');
|
stdin.write('vim');
|
||||||
});
|
});
|
||||||
await waitFor(() => {
|
await waitFor(() => {
|
||||||
expect(lastFrame()).toContain('> Search: vim');
|
expect(lastFrame()).toContain('vim');
|
||||||
});
|
});
|
||||||
|
|
||||||
// Press Escape
|
// Press Escape
|
||||||
@@ -1185,10 +1175,9 @@ describe('SettingsDialog', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
await waitFor(() => {
|
await waitFor(() => {
|
||||||
expect(lastFrame()).not.toContain('> Search:');
|
// onSelect is called with (settingName, scope).
|
||||||
expect(lastFrame()).toContain('(press / to search)');
|
// undefined settingName means "close dialog"
|
||||||
expect(lastFrame()).toContain('Vim Mode'); // All settings should be visible again
|
expect(onSelect).toHaveBeenCalledWith(undefined, expect.anything());
|
||||||
expect(lastFrame()).toContain('Disable Auto Update'); // All settings should be visible again
|
|
||||||
});
|
});
|
||||||
|
|
||||||
unmount();
|
unmount();
|
||||||
@@ -1200,18 +1189,11 @@ describe('SettingsDialog', () => {
|
|||||||
|
|
||||||
const { lastFrame, stdin, unmount } = renderDialog(settings, onSelect);
|
const { lastFrame, stdin, unmount } = renderDialog(settings, onSelect);
|
||||||
|
|
||||||
act(() => {
|
|
||||||
stdin.write('/');
|
|
||||||
});
|
|
||||||
await waitFor(() => {
|
|
||||||
expect(lastFrame()).toContain('> Search:');
|
|
||||||
});
|
|
||||||
|
|
||||||
act(() => {
|
act(() => {
|
||||||
stdin.write('vimm');
|
stdin.write('vimm');
|
||||||
});
|
});
|
||||||
await waitFor(() => {
|
await waitFor(() => {
|
||||||
expect(lastFrame()).toContain('> Search: vimm');
|
expect(lastFrame()).toContain('vimm');
|
||||||
});
|
});
|
||||||
|
|
||||||
// Press backspace
|
// Press backspace
|
||||||
@@ -1220,7 +1202,7 @@ describe('SettingsDialog', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
await waitFor(() => {
|
await waitFor(() => {
|
||||||
expect(lastFrame()).toContain('> Search: vim');
|
expect(lastFrame()).toContain('vim');
|
||||||
expect(lastFrame()).toContain('Vim Mode');
|
expect(lastFrame()).toContain('Vim Mode');
|
||||||
expect(lastFrame()).not.toContain(
|
expect(lastFrame()).not.toContain(
|
||||||
'Codebase Investigator Max Num Turns',
|
'Codebase Investigator Max Num Turns',
|
||||||
@@ -1230,63 +1212,20 @@ describe('SettingsDialog', () => {
|
|||||||
unmount();
|
unmount();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should clear search query and show all settings when exiting search mode', async () => {
|
it('should display nothing when search yields no results', async () => {
|
||||||
const settings = createMockSettings();
|
const settings = createMockSettings();
|
||||||
const onSelect = vi.fn();
|
const onSelect = vi.fn();
|
||||||
|
|
||||||
const { lastFrame, stdin, unmount } = renderDialog(settings, onSelect);
|
const { lastFrame, stdin, unmount } = renderDialog(settings, onSelect);
|
||||||
|
|
||||||
act(() => {
|
|
||||||
stdin.write('/');
|
|
||||||
});
|
|
||||||
await waitFor(() => {
|
|
||||||
expect(lastFrame()).toContain('> Search:');
|
|
||||||
});
|
|
||||||
|
|
||||||
act(() => {
|
|
||||||
stdin.write('test');
|
|
||||||
});
|
|
||||||
await waitFor(() => {
|
|
||||||
expect(lastFrame()).toContain('> Search: test');
|
|
||||||
});
|
|
||||||
|
|
||||||
// Press Escape
|
|
||||||
act(() => {
|
|
||||||
stdin.write(TerminalKeys.ESCAPE);
|
|
||||||
});
|
|
||||||
|
|
||||||
await waitFor(() => {
|
|
||||||
expect(lastFrame()).not.toContain('> Search:');
|
|
||||||
expect(lastFrame()).toContain('(press / to search)');
|
|
||||||
expect(lastFrame()).toContain('Vim Mode');
|
|
||||||
expect(lastFrame()).toContain('Disable Auto Update');
|
|
||||||
});
|
|
||||||
|
|
||||||
unmount();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should display "No matches found." when search yields no results', async () => {
|
|
||||||
const settings = createMockSettings();
|
|
||||||
const onSelect = vi.fn();
|
|
||||||
|
|
||||||
const { lastFrame, stdin, unmount } = renderDialog(settings, onSelect);
|
|
||||||
|
|
||||||
// Enter search mode
|
|
||||||
act(() => {
|
|
||||||
stdin.write('/');
|
|
||||||
});
|
|
||||||
await waitFor(() => {
|
|
||||||
expect(lastFrame()).toContain('> Search:');
|
|
||||||
});
|
|
||||||
|
|
||||||
// Type a search query that won't match any settings
|
// Type a search query that won't match any settings
|
||||||
act(() => {
|
act(() => {
|
||||||
stdin.write('nonexistentsetting');
|
stdin.write('nonexistentsetting');
|
||||||
});
|
});
|
||||||
|
|
||||||
await waitFor(() => {
|
await waitFor(() => {
|
||||||
expect(lastFrame()).toContain('> Search: nonexistentsetting');
|
expect(lastFrame()).toContain('nonexistentsetting');
|
||||||
expect(lastFrame()).toContain('No matches found.');
|
expect(lastFrame()).toContain('');
|
||||||
expect(lastFrame()).not.toContain('Vim Mode'); // Should not contain any settings
|
expect(lastFrame()).not.toContain('Vim Mode'); // Should not contain any settings
|
||||||
expect(lastFrame()).not.toContain('Disable Auto Update'); // Should not contain any settings
|
expect(lastFrame()).not.toContain('Disable Auto Update'); // Should not contain any settings
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -45,6 +45,9 @@ import {
|
|||||||
import { debugLogger } from '@google/gemini-cli-core';
|
import { debugLogger } from '@google/gemini-cli-core';
|
||||||
import { keyMatchers, Command } from '../keyMatchers.js';
|
import { keyMatchers, Command } from '../keyMatchers.js';
|
||||||
import type { Config } from '@google/gemini-cli-core';
|
import type { Config } from '@google/gemini-cli-core';
|
||||||
|
import { useUIState } from '../contexts/UIStateContext.js';
|
||||||
|
import { useTextBuffer } from './shared/text-buffer.js';
|
||||||
|
import { TextInput } from './shared/TextInput.js';
|
||||||
|
|
||||||
interface FzfResult {
|
interface FzfResult {
|
||||||
item: string;
|
item: string;
|
||||||
@@ -585,10 +588,6 @@ export function SettingsDialog({
|
|||||||
setSearchQuery((prev) => prev + key.sequence);
|
setSearchQuery((prev) => prev + key.sequence);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else if (!editingKey && key.sequence === '/') {
|
|
||||||
setIsSearching(true);
|
|
||||||
setSearchQuery('');
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (name === 'tab' && showScopeSelection) {
|
if (name === 'tab' && showScopeSelection) {
|
||||||
@@ -856,6 +855,21 @@ export function SettingsDialog({
|
|||||||
{ isActive: true },
|
{ isActive: true },
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const { mainAreaWidth } = useUIState();
|
||||||
|
const viewportWidth = mainAreaWidth - 8;
|
||||||
|
|
||||||
|
const buffer = useTextBuffer({
|
||||||
|
initialText: '',
|
||||||
|
initialCursorOffset: 0,
|
||||||
|
viewport: {
|
||||||
|
width: viewportWidth,
|
||||||
|
height: 1,
|
||||||
|
},
|
||||||
|
isValidPath: () => false,
|
||||||
|
singleLine: true,
|
||||||
|
onChange: (text) => setSearchQuery(text),
|
||||||
|
});
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Box
|
<Box
|
||||||
borderStyle="round"
|
borderStyle="round"
|
||||||
@@ -866,25 +880,45 @@ export function SettingsDialog({
|
|||||||
height="100%"
|
height="100%"
|
||||||
>
|
>
|
||||||
<Box flexDirection="column" flexGrow={1}>
|
<Box flexDirection="column" flexGrow={1}>
|
||||||
{isSearching || searchQuery ? (
|
<Box marginX={1}>
|
||||||
<Text bold color={theme.text.accent} wrap="truncate">
|
<Text
|
||||||
{isSearching ? '> ' : ' '}Search: {searchQuery}
|
bold={focusSection === 'settings' && !editingKey}
|
||||||
{isSearching ? '_' : ''}
|
wrap="truncate"
|
||||||
</Text>
|
>
|
||||||
) : (
|
|
||||||
<Text bold={focusSection === 'settings'} wrap="truncate">
|
|
||||||
{focusSection === 'settings' ? '> ' : ' '}Settings{' '}
|
{focusSection === 'settings' ? '> ' : ' '}Settings{' '}
|
||||||
<Text color={theme.text.secondary}>(press / to search)</Text>
|
|
||||||
</Text>
|
</Text>
|
||||||
)}
|
</Box>
|
||||||
|
<Box
|
||||||
|
borderStyle="round"
|
||||||
|
borderColor={
|
||||||
|
editingKey
|
||||||
|
? theme.border.default
|
||||||
|
: focusSection === 'settings'
|
||||||
|
? theme.border.focused
|
||||||
|
: theme.border.default
|
||||||
|
}
|
||||||
|
paddingX={1}
|
||||||
|
height={3}
|
||||||
|
marginTop={1}
|
||||||
|
>
|
||||||
|
<TextInput
|
||||||
|
focus={focusSection === 'settings' && !editingKey}
|
||||||
|
buffer={buffer}
|
||||||
|
placeholder="Search to filter"
|
||||||
|
/>
|
||||||
|
</Box>
|
||||||
<Box height={1} />
|
<Box height={1} />
|
||||||
{isSearching && visibleItems.length === 0 ? (
|
{isSearching && visibleItems.length === 0 ? (
|
||||||
<Box height={1} flexDirection="column">
|
<Box marginX={1} height={1} flexDirection="column">
|
||||||
<Text color={theme.text.secondary}>No matches found.</Text>
|
<Text color={theme.text.secondary}>No matches found.</Text>
|
||||||
</Box>
|
</Box>
|
||||||
) : (
|
) : (
|
||||||
<>
|
<>
|
||||||
{showScrollUp && <Text color={theme.text.secondary}>▲</Text>}
|
{showScrollUp && (
|
||||||
|
<Box marginX={1}>
|
||||||
|
<Text color={theme.text.secondary}>▲</Text>
|
||||||
|
</Box>
|
||||||
|
)}
|
||||||
{visibleItems.map((item, idx) => {
|
{visibleItems.map((item, idx) => {
|
||||||
const isActive =
|
const isActive =
|
||||||
focusSection === 'settings' &&
|
focusSection === 'settings' &&
|
||||||
@@ -969,7 +1003,7 @@ export function SettingsDialog({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<React.Fragment key={item.value}>
|
<React.Fragment key={item.value}>
|
||||||
<Box flexDirection="row" alignItems="center">
|
<Box marginX={1} flexDirection="row" alignItems="center">
|
||||||
<Box minWidth={2} flexShrink={0}>
|
<Box minWidth={2} flexShrink={0}>
|
||||||
<Text
|
<Text
|
||||||
color={
|
color={
|
||||||
@@ -1011,7 +1045,11 @@ export function SettingsDialog({
|
|||||||
</React.Fragment>
|
</React.Fragment>
|
||||||
);
|
);
|
||||||
})}
|
})}
|
||||||
{showScrollDown && <Text color={theme.text.secondary}>▼</Text>}
|
{showScrollDown && (
|
||||||
|
<Box marginX={1}>
|
||||||
|
<Text color={theme.text.secondary}>▼</Text>
|
||||||
|
</Box>
|
||||||
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
@@ -1019,7 +1057,7 @@ export function SettingsDialog({
|
|||||||
|
|
||||||
{/* Scope Selection - conditionally visible based on height constraints */}
|
{/* Scope Selection - conditionally visible based on height constraints */}
|
||||||
{showScopeSelection && (
|
{showScopeSelection && (
|
||||||
<Box marginTop={1} flexDirection="column">
|
<Box marginX={1} flexDirection="column">
|
||||||
<Text bold={focusSection === 'scope'} wrap="truncate">
|
<Text bold={focusSection === 'scope'} wrap="truncate">
|
||||||
{focusSection === 'scope' ? '> ' : ' '}Apply To
|
{focusSection === 'scope' ? '> ' : ' '}Apply To
|
||||||
</Text>
|
</Text>
|
||||||
@@ -1037,15 +1075,19 @@ export function SettingsDialog({
|
|||||||
)}
|
)}
|
||||||
|
|
||||||
<Box height={1} />
|
<Box height={1} />
|
||||||
<Text color={theme.text.secondary}>
|
<Box marginX={1}>
|
||||||
(Use Enter to select
|
<Text color={theme.text.secondary}>
|
||||||
{showScopeSelection ? ', Tab to change focus' : ''}, Esc to close)
|
(Use Enter to select
|
||||||
</Text>
|
{showScopeSelection ? ', Tab to change focus' : ''}, Esc to close)
|
||||||
{showRestartPrompt && (
|
|
||||||
<Text color={theme.status.warning}>
|
|
||||||
To see changes, Gemini CLI must be restarted. Press r to exit and
|
|
||||||
apply changes now.
|
|
||||||
</Text>
|
</Text>
|
||||||
|
</Box>
|
||||||
|
{showRestartPrompt && (
|
||||||
|
<Box marginX={1}>
|
||||||
|
<Text color={theme.status.warning}>
|
||||||
|
To see changes, Gemini CLI must be restarted. Press r to exit and
|
||||||
|
apply changes now.
|
||||||
|
</Text>
|
||||||
|
</Box>
|
||||||
)}
|
)}
|
||||||
</Box>
|
</Box>
|
||||||
</Box>
|
</Box>
|
||||||
|
|||||||
@@ -3,34 +3,37 @@
|
|||||||
exports[`SettingsDialog > Initial Rendering > should render settings list with visual indicators 1`] = `
|
exports[`SettingsDialog > Initial Rendering > should render settings list with visual indicators 1`] = `
|
||||||
"╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
|
"╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
|
||||||
│ │
|
│ │
|
||||||
│ > Settings (press / to search) │
|
│ > Settings │
|
||||||
│ │
|
│ │
|
||||||
│ ▲ │
|
│ ╭──────────────────────────────────────────────────────────────────────────────────────────────╮ │
|
||||||
│ ● Preview Features (e.g., models) false │
|
│ │ Search to filter │ │
|
||||||
|
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
|
||||||
│ │
|
│ │
|
||||||
│ Vim Mode false │
|
│ ▲ │
|
||||||
|
│ ● Preview Features (e.g., models) false │
|
||||||
│ │
|
│ │
|
||||||
│ Disable Auto Update false │
|
│ Vim Mode false │
|
||||||
│ │
|
│ │
|
||||||
│ Enable Prompt Completion false │
|
│ Disable Auto Update false │
|
||||||
│ │
|
│ │
|
||||||
│ Debug Keystroke Logging false │
|
│ Enable Prompt Completion false │
|
||||||
│ │
|
│ │
|
||||||
│ Enable Session Cleanup false │
|
│ Debug Keystroke Logging false │
|
||||||
│ │
|
│ │
|
||||||
│ Output Format Text │
|
│ Enable Session Cleanup false │
|
||||||
│ │
|
│ │
|
||||||
│ Hide Window Title false │
|
│ Output Format Text │
|
||||||
│ │
|
│ │
|
||||||
│ ▼ │
|
│ Hide Window Title false │
|
||||||
│ │
|
│ │
|
||||||
|
│ ▼ │
|
||||||
│ │
|
│ │
|
||||||
│ Apply To │
|
│ Apply To │
|
||||||
│ ● User Settings │
|
│ ● User Settings │
|
||||||
│ Workspace Settings │
|
│ Workspace Settings │
|
||||||
│ System Settings │
|
│ System Settings │
|
||||||
│ │
|
│ │
|
||||||
│ (Use Enter to select, Tab to change focus, Esc to close) │
|
│ (Use Enter to select, Tab to change focus, Esc to close) │
|
||||||
│ │
|
│ │
|
||||||
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯"
|
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯"
|
||||||
`;
|
`;
|
||||||
@@ -38,34 +41,37 @@ exports[`SettingsDialog > Initial Rendering > should render settings list with v
|
|||||||
exports[`SettingsDialog > Snapshot Tests > should render 'accessibility settings enabled' correctly 1`] = `
|
exports[`SettingsDialog > Snapshot Tests > should render 'accessibility settings enabled' correctly 1`] = `
|
||||||
"╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
|
"╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
|
||||||
│ │
|
│ │
|
||||||
│ > Settings (press / to search) │
|
│ > Settings │
|
||||||
│ │
|
│ │
|
||||||
│ ▲ │
|
│ ╭──────────────────────────────────────────────────────────────────────────────────────────────╮ │
|
||||||
│ ● Preview Features (e.g., models) false │
|
│ │ Search to filter │ │
|
||||||
|
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
|
||||||
│ │
|
│ │
|
||||||
│ Vim Mode true* │
|
│ ▲ │
|
||||||
|
│ ● Preview Features (e.g., models) false │
|
||||||
│ │
|
│ │
|
||||||
│ Disable Auto Update false │
|
│ Vim Mode true* │
|
||||||
│ │
|
│ │
|
||||||
│ Enable Prompt Completion false │
|
│ Disable Auto Update false │
|
||||||
│ │
|
│ │
|
||||||
│ Debug Keystroke Logging false │
|
│ Enable Prompt Completion false │
|
||||||
│ │
|
│ │
|
||||||
│ Enable Session Cleanup false │
|
│ Debug Keystroke Logging false │
|
||||||
│ │
|
│ │
|
||||||
│ Output Format Text │
|
│ Enable Session Cleanup false │
|
||||||
│ │
|
│ │
|
||||||
│ Hide Window Title false │
|
│ Output Format Text │
|
||||||
│ │
|
│ │
|
||||||
│ ▼ │
|
│ Hide Window Title false │
|
||||||
│ │
|
│ │
|
||||||
|
│ ▼ │
|
||||||
│ │
|
│ │
|
||||||
│ Apply To │
|
│ Apply To │
|
||||||
│ ● User Settings │
|
│ ● User Settings │
|
||||||
│ Workspace Settings │
|
│ Workspace Settings │
|
||||||
│ System Settings │
|
│ System Settings │
|
||||||
│ │
|
│ │
|
||||||
│ (Use Enter to select, Tab to change focus, Esc to close) │
|
│ (Use Enter to select, Tab to change focus, Esc to close) │
|
||||||
│ │
|
│ │
|
||||||
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯"
|
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯"
|
||||||
`;
|
`;
|
||||||
@@ -73,34 +79,37 @@ exports[`SettingsDialog > Snapshot Tests > should render 'accessibility settings
|
|||||||
exports[`SettingsDialog > Snapshot Tests > should render 'all boolean settings disabled' correctly 1`] = `
|
exports[`SettingsDialog > Snapshot Tests > should render 'all boolean settings disabled' correctly 1`] = `
|
||||||
"╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
|
"╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
|
||||||
│ │
|
│ │
|
||||||
│ > Settings (press / to search) │
|
│ > Settings │
|
||||||
│ │
|
│ │
|
||||||
│ ▲ │
|
│ ╭──────────────────────────────────────────────────────────────────────────────────────────────╮ │
|
||||||
│ ● Preview Features (e.g., models) false │
|
│ │ Search to filter │ │
|
||||||
|
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
|
||||||
│ │
|
│ │
|
||||||
│ Vim Mode false* │
|
│ ▲ │
|
||||||
|
│ ● Preview Features (e.g., models) false │
|
||||||
│ │
|
│ │
|
||||||
│ Disable Auto Update false* │
|
│ Vim Mode false* │
|
||||||
│ │
|
│ │
|
||||||
│ Enable Prompt Completion false* │
|
│ Disable Auto Update false* │
|
||||||
│ │
|
│ │
|
||||||
│ Debug Keystroke Logging false* │
|
│ Enable Prompt Completion false* │
|
||||||
│ │
|
│ │
|
||||||
│ Enable Session Cleanup false │
|
│ Debug Keystroke Logging false* │
|
||||||
│ │
|
│ │
|
||||||
│ Output Format Text │
|
│ Enable Session Cleanup false │
|
||||||
│ │
|
│ │
|
||||||
│ Hide Window Title false* │
|
│ Output Format Text │
|
||||||
│ │
|
│ │
|
||||||
│ ▼ │
|
│ Hide Window Title false* │
|
||||||
│ │
|
│ │
|
||||||
|
│ ▼ │
|
||||||
│ │
|
│ │
|
||||||
│ Apply To │
|
│ Apply To │
|
||||||
│ ● User Settings │
|
│ ● User Settings │
|
||||||
│ Workspace Settings │
|
│ Workspace Settings │
|
||||||
│ System Settings │
|
│ System Settings │
|
||||||
│ │
|
│ │
|
||||||
│ (Use Enter to select, Tab to change focus, Esc to close) │
|
│ (Use Enter to select, Tab to change focus, Esc to close) │
|
||||||
│ │
|
│ │
|
||||||
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯"
|
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯"
|
||||||
`;
|
`;
|
||||||
@@ -108,34 +117,37 @@ exports[`SettingsDialog > Snapshot Tests > should render 'all boolean settings d
|
|||||||
exports[`SettingsDialog > Snapshot Tests > should render 'default state' correctly 1`] = `
|
exports[`SettingsDialog > Snapshot Tests > should render 'default state' correctly 1`] = `
|
||||||
"╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
|
"╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
|
||||||
│ │
|
│ │
|
||||||
│ > Settings (press / to search) │
|
│ > Settings │
|
||||||
│ │
|
│ │
|
||||||
│ ▲ │
|
│ ╭──────────────────────────────────────────────────────────────────────────────────────────────╮ │
|
||||||
│ ● Preview Features (e.g., models) false │
|
│ │ Search to filter │ │
|
||||||
|
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
|
||||||
│ │
|
│ │
|
||||||
│ Vim Mode false │
|
│ ▲ │
|
||||||
|
│ ● Preview Features (e.g., models) false │
|
||||||
│ │
|
│ │
|
||||||
│ Disable Auto Update false │
|
│ Vim Mode false │
|
||||||
│ │
|
│ │
|
||||||
│ Enable Prompt Completion false │
|
│ Disable Auto Update false │
|
||||||
│ │
|
│ │
|
||||||
│ Debug Keystroke Logging false │
|
│ Enable Prompt Completion false │
|
||||||
│ │
|
│ │
|
||||||
│ Enable Session Cleanup false │
|
│ Debug Keystroke Logging false │
|
||||||
│ │
|
│ │
|
||||||
│ Output Format Text │
|
│ Enable Session Cleanup false │
|
||||||
│ │
|
│ │
|
||||||
│ Hide Window Title false │
|
│ Output Format Text │
|
||||||
│ │
|
│ │
|
||||||
│ ▼ │
|
│ Hide Window Title false │
|
||||||
│ │
|
│ │
|
||||||
|
│ ▼ │
|
||||||
│ │
|
│ │
|
||||||
│ Apply To │
|
│ Apply To │
|
||||||
│ ● User Settings │
|
│ ● User Settings │
|
||||||
│ Workspace Settings │
|
│ Workspace Settings │
|
||||||
│ System Settings │
|
│ System Settings │
|
||||||
│ │
|
│ │
|
||||||
│ (Use Enter to select, Tab to change focus, Esc to close) │
|
│ (Use Enter to select, Tab to change focus, Esc to close) │
|
||||||
│ │
|
│ │
|
||||||
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯"
|
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯"
|
||||||
`;
|
`;
|
||||||
@@ -143,34 +155,37 @@ exports[`SettingsDialog > Snapshot Tests > should render 'default state' correct
|
|||||||
exports[`SettingsDialog > Snapshot Tests > should render 'file filtering settings configured' correctly 1`] = `
|
exports[`SettingsDialog > Snapshot Tests > should render 'file filtering settings configured' correctly 1`] = `
|
||||||
"╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
|
"╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
|
||||||
│ │
|
│ │
|
||||||
│ > Settings (press / to search) │
|
│ > Settings │
|
||||||
│ │
|
│ │
|
||||||
│ ▲ │
|
│ ╭──────────────────────────────────────────────────────────────────────────────────────────────╮ │
|
||||||
│ ● Preview Features (e.g., models) false │
|
│ │ Search to filter │ │
|
||||||
|
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
|
||||||
│ │
|
│ │
|
||||||
│ Vim Mode false │
|
│ ▲ │
|
||||||
|
│ ● Preview Features (e.g., models) false │
|
||||||
│ │
|
│ │
|
||||||
│ Disable Auto Update false │
|
│ Vim Mode false │
|
||||||
│ │
|
│ │
|
||||||
│ Enable Prompt Completion false │
|
│ Disable Auto Update false │
|
||||||
│ │
|
│ │
|
||||||
│ Debug Keystroke Logging false │
|
│ Enable Prompt Completion false │
|
||||||
│ │
|
│ │
|
||||||
│ Enable Session Cleanup false │
|
│ Debug Keystroke Logging false │
|
||||||
│ │
|
│ │
|
||||||
│ Output Format Text │
|
│ Enable Session Cleanup false │
|
||||||
│ │
|
│ │
|
||||||
│ Hide Window Title false │
|
│ Output Format Text │
|
||||||
│ │
|
│ │
|
||||||
│ ▼ │
|
│ Hide Window Title false │
|
||||||
│ │
|
│ │
|
||||||
|
│ ▼ │
|
||||||
│ │
|
│ │
|
||||||
│ Apply To │
|
│ Apply To │
|
||||||
│ ● User Settings │
|
│ ● User Settings │
|
||||||
│ Workspace Settings │
|
│ Workspace Settings │
|
||||||
│ System Settings │
|
│ System Settings │
|
||||||
│ │
|
│ │
|
||||||
│ (Use Enter to select, Tab to change focus, Esc to close) │
|
│ (Use Enter to select, Tab to change focus, Esc to close) │
|
||||||
│ │
|
│ │
|
||||||
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯"
|
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯"
|
||||||
`;
|
`;
|
||||||
@@ -178,34 +193,37 @@ exports[`SettingsDialog > Snapshot Tests > should render 'file filtering setting
|
|||||||
exports[`SettingsDialog > Snapshot Tests > should render 'focused on scope selector' correctly 1`] = `
|
exports[`SettingsDialog > Snapshot Tests > should render 'focused on scope selector' correctly 1`] = `
|
||||||
"╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
|
"╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
|
||||||
│ │
|
│ │
|
||||||
│ Settings (press / to search) │
|
│ Settings │
|
||||||
│ │
|
│ │
|
||||||
│ ▲ │
|
│ ╭──────────────────────────────────────────────────────────────────────────────────────────────╮ │
|
||||||
│ Preview Features (e.g., models) false │
|
│ │ Search to filter │ │
|
||||||
|
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
|
||||||
│ │
|
│ │
|
||||||
│ Vim Mode false │
|
│ ▲ │
|
||||||
|
│ Preview Features (e.g., models) false │
|
||||||
│ │
|
│ │
|
||||||
│ Disable Auto Update false │
|
│ Vim Mode false │
|
||||||
│ │
|
│ │
|
||||||
│ Enable Prompt Completion false │
|
│ Disable Auto Update false │
|
||||||
│ │
|
│ │
|
||||||
│ Debug Keystroke Logging false │
|
│ Enable Prompt Completion false │
|
||||||
│ │
|
│ │
|
||||||
│ Enable Session Cleanup false │
|
│ Debug Keystroke Logging false │
|
||||||
│ │
|
│ │
|
||||||
│ Output Format Text │
|
│ Enable Session Cleanup false │
|
||||||
│ │
|
│ │
|
||||||
│ Hide Window Title false │
|
│ Output Format Text │
|
||||||
│ │
|
│ │
|
||||||
│ ▼ │
|
│ Hide Window Title false │
|
||||||
│ │
|
│ │
|
||||||
|
│ ▼ │
|
||||||
│ │
|
│ │
|
||||||
│ > Apply To │
|
│ > Apply To │
|
||||||
│ ● 1. User Settings │
|
│ ● 1. User Settings │
|
||||||
│ 2. Workspace Settings │
|
│ 2. Workspace Settings │
|
||||||
│ 3. System Settings │
|
│ 3. System Settings │
|
||||||
│ │
|
│ │
|
||||||
│ (Use Enter to select, Tab to change focus, Esc to close) │
|
│ (Use Enter to select, Tab to change focus, Esc to close) │
|
||||||
│ │
|
│ │
|
||||||
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯"
|
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯"
|
||||||
`;
|
`;
|
||||||
@@ -213,34 +231,37 @@ exports[`SettingsDialog > Snapshot Tests > should render 'focused on scope selec
|
|||||||
exports[`SettingsDialog > Snapshot Tests > should render 'mixed boolean and number settings' correctly 1`] = `
|
exports[`SettingsDialog > Snapshot Tests > should render 'mixed boolean and number settings' correctly 1`] = `
|
||||||
"╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
|
"╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
|
||||||
│ │
|
│ │
|
||||||
│ > Settings (press / to search) │
|
│ > Settings │
|
||||||
│ │
|
│ │
|
||||||
│ ▲ │
|
│ ╭──────────────────────────────────────────────────────────────────────────────────────────────╮ │
|
||||||
│ ● Preview Features (e.g., models) false │
|
│ │ Search to filter │ │
|
||||||
|
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
|
||||||
│ │
|
│ │
|
||||||
│ Vim Mode false* │
|
│ ▲ │
|
||||||
|
│ ● Preview Features (e.g., models) false │
|
||||||
│ │
|
│ │
|
||||||
│ Disable Auto Update true* │
|
│ Vim Mode false* │
|
||||||
│ │
|
│ │
|
||||||
│ Enable Prompt Completion false │
|
│ Disable Auto Update true* │
|
||||||
│ │
|
│ │
|
||||||
│ Debug Keystroke Logging false │
|
│ Enable Prompt Completion false │
|
||||||
│ │
|
│ │
|
||||||
│ Enable Session Cleanup false │
|
│ Debug Keystroke Logging false │
|
||||||
│ │
|
│ │
|
||||||
│ Output Format Text │
|
│ Enable Session Cleanup false │
|
||||||
│ │
|
│ │
|
||||||
│ Hide Window Title false* │
|
│ Output Format Text │
|
||||||
│ │
|
│ │
|
||||||
│ ▼ │
|
│ Hide Window Title false* │
|
||||||
│ │
|
│ │
|
||||||
|
│ ▼ │
|
||||||
│ │
|
│ │
|
||||||
│ Apply To │
|
│ Apply To │
|
||||||
│ ● User Settings │
|
│ ● User Settings │
|
||||||
│ Workspace Settings │
|
│ Workspace Settings │
|
||||||
│ System Settings │
|
│ System Settings │
|
||||||
│ │
|
│ │
|
||||||
│ (Use Enter to select, Tab to change focus, Esc to close) │
|
│ (Use Enter to select, Tab to change focus, Esc to close) │
|
||||||
│ │
|
│ │
|
||||||
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯"
|
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯"
|
||||||
`;
|
`;
|
||||||
@@ -248,34 +269,37 @@ exports[`SettingsDialog > Snapshot Tests > should render 'mixed boolean and numb
|
|||||||
exports[`SettingsDialog > Snapshot Tests > should render 'tools and security settings' correctly 1`] = `
|
exports[`SettingsDialog > Snapshot Tests > should render 'tools and security settings' correctly 1`] = `
|
||||||
"╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
|
"╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
|
||||||
│ │
|
│ │
|
||||||
│ > Settings (press / to search) │
|
│ > Settings │
|
||||||
│ │
|
│ │
|
||||||
│ ▲ │
|
│ ╭──────────────────────────────────────────────────────────────────────────────────────────────╮ │
|
||||||
│ ● Preview Features (e.g., models) false │
|
│ │ Search to filter │ │
|
||||||
|
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
|
||||||
│ │
|
│ │
|
||||||
│ Vim Mode false │
|
│ ▲ │
|
||||||
|
│ ● Preview Features (e.g., models) false │
|
||||||
│ │
|
│ │
|
||||||
│ Disable Auto Update false │
|
│ Vim Mode false │
|
||||||
│ │
|
│ │
|
||||||
│ Enable Prompt Completion false │
|
│ Disable Auto Update false │
|
||||||
│ │
|
│ │
|
||||||
│ Debug Keystroke Logging false │
|
│ Enable Prompt Completion false │
|
||||||
│ │
|
│ │
|
||||||
│ Enable Session Cleanup false │
|
│ Debug Keystroke Logging false │
|
||||||
│ │
|
│ │
|
||||||
│ Output Format Text │
|
│ Enable Session Cleanup false │
|
||||||
│ │
|
│ │
|
||||||
│ Hide Window Title false │
|
│ Output Format Text │
|
||||||
│ │
|
│ │
|
||||||
│ ▼ │
|
│ Hide Window Title false │
|
||||||
│ │
|
│ │
|
||||||
|
│ ▼ │
|
||||||
│ │
|
│ │
|
||||||
│ Apply To │
|
│ Apply To │
|
||||||
│ ● User Settings │
|
│ ● User Settings │
|
||||||
│ Workspace Settings │
|
│ Workspace Settings │
|
||||||
│ System Settings │
|
│ System Settings │
|
||||||
│ │
|
│ │
|
||||||
│ (Use Enter to select, Tab to change focus, Esc to close) │
|
│ (Use Enter to select, Tab to change focus, Esc to close) │
|
||||||
│ │
|
│ │
|
||||||
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯"
|
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯"
|
||||||
`;
|
`;
|
||||||
@@ -283,34 +307,37 @@ exports[`SettingsDialog > Snapshot Tests > should render 'tools and security set
|
|||||||
exports[`SettingsDialog > Snapshot Tests > should render 'various boolean settings enabled' correctly 1`] = `
|
exports[`SettingsDialog > Snapshot Tests > should render 'various boolean settings enabled' correctly 1`] = `
|
||||||
"╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
|
"╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
|
||||||
│ │
|
│ │
|
||||||
│ > Settings (press / to search) │
|
│ > Settings │
|
||||||
│ │
|
│ │
|
||||||
│ ▲ │
|
│ ╭──────────────────────────────────────────────────────────────────────────────────────────────╮ │
|
||||||
│ ● Preview Features (e.g., models) false │
|
│ │ Search to filter │ │
|
||||||
|
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
|
||||||
│ │
|
│ │
|
||||||
│ Vim Mode true* │
|
│ ▲ │
|
||||||
|
│ ● Preview Features (e.g., models) false │
|
||||||
│ │
|
│ │
|
||||||
│ Disable Auto Update true* │
|
│ Vim Mode true* │
|
||||||
│ │
|
│ │
|
||||||
│ Enable Prompt Completion true* │
|
│ Disable Auto Update true* │
|
||||||
│ │
|
│ │
|
||||||
│ Debug Keystroke Logging true* │
|
│ Enable Prompt Completion true* │
|
||||||
│ │
|
│ │
|
||||||
│ Enable Session Cleanup false │
|
│ Debug Keystroke Logging true* │
|
||||||
│ │
|
│ │
|
||||||
│ Output Format Text │
|
│ Enable Session Cleanup false │
|
||||||
│ │
|
│ │
|
||||||
│ Hide Window Title true* │
|
│ Output Format Text │
|
||||||
│ │
|
│ │
|
||||||
│ ▼ │
|
│ Hide Window Title true* │
|
||||||
│ │
|
│ │
|
||||||
|
│ ▼ │
|
||||||
│ │
|
│ │
|
||||||
│ Apply To │
|
│ Apply To │
|
||||||
│ ● User Settings │
|
│ ● User Settings │
|
||||||
│ Workspace Settings │
|
│ Workspace Settings │
|
||||||
│ System Settings │
|
│ System Settings │
|
||||||
│ │
|
│ │
|
||||||
│ (Use Enter to select, Tab to change focus, Esc to close) │
|
│ (Use Enter to select, Tab to change focus, Esc to close) │
|
||||||
│ │
|
│ │
|
||||||
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯"
|
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯"
|
||||||
`;
|
`;
|
||||||
|
|||||||
Reference in New Issue
Block a user