mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-05-12 21:03:05 -07:00
Fix regression in handling shift+tab resulting in u in the input prompt. (#11634)
This commit is contained in:
@@ -953,6 +953,40 @@ describe('useTextBuffer', () => {
|
|||||||
expect(getBufferState(result).lines).toEqual(['', '']);
|
expect(getBufferState(result).lines).toEqual(['', '']);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should do nothing for a tab key press', () => {
|
||||||
|
const { result } = renderHook(() =>
|
||||||
|
useTextBuffer({ viewport, isValidPath: () => false }),
|
||||||
|
);
|
||||||
|
act(() =>
|
||||||
|
result.current.handleInput({
|
||||||
|
name: 'tab',
|
||||||
|
ctrl: false,
|
||||||
|
meta: false,
|
||||||
|
shift: false,
|
||||||
|
paste: false,
|
||||||
|
sequence: '\t',
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
expect(getBufferState(result).text).toBe('');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should do nothing for a shift tab key press', () => {
|
||||||
|
const { result } = renderHook(() =>
|
||||||
|
useTextBuffer({ viewport, isValidPath: () => false }),
|
||||||
|
);
|
||||||
|
act(() =>
|
||||||
|
result.current.handleInput({
|
||||||
|
name: 'tab',
|
||||||
|
ctrl: false,
|
||||||
|
meta: false,
|
||||||
|
shift: true,
|
||||||
|
paste: false,
|
||||||
|
sequence: '\u001b[9;2u',
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
expect(getBufferState(result).text).toBe('');
|
||||||
|
});
|
||||||
|
|
||||||
it('should handle "Backspace" key', () => {
|
it('should handle "Backspace" key', () => {
|
||||||
const { result } = renderHook(() =>
|
const { result } = renderHook(() =>
|
||||||
useTextBuffer({
|
useTextBuffer({
|
||||||
|
|||||||
@@ -1933,7 +1933,7 @@ export function useTextBuffer({
|
|||||||
else if (key.name === 'delete' || (key.ctrl && key.name === 'd')) del();
|
else if (key.name === 'delete' || (key.ctrl && key.name === 'd')) del();
|
||||||
else if (key.ctrl && !key.shift && key.name === 'z') undo();
|
else if (key.ctrl && !key.shift && key.name === 'z') undo();
|
||||||
else if (key.ctrl && key.shift && key.name === 'z') redo();
|
else if (key.ctrl && key.shift && key.name === 'z') redo();
|
||||||
else if (input && !key.ctrl && !key.meta) {
|
else if (input && !key.ctrl && !key.meta && key.name !== 'tab') {
|
||||||
insert(input, { paste: key.paste });
|
insert(input, { paste: key.paste });
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user