diff --git a/packages/cli/src/ui/components/shared/text-buffer.test.ts b/packages/cli/src/ui/components/shared/text-buffer.test.ts index 85555a14cf..9e56856aca 100644 --- a/packages/cli/src/ui/components/shared/text-buffer.test.ts +++ b/packages/cli/src/ui/components/shared/text-buffer.test.ts @@ -953,6 +953,40 @@ describe('useTextBuffer', () => { 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', () => { const { result } = renderHook(() => useTextBuffer({ diff --git a/packages/cli/src/ui/components/shared/text-buffer.ts b/packages/cli/src/ui/components/shared/text-buffer.ts index 33548238f6..861017ce03 100644 --- a/packages/cli/src/ui/components/shared/text-buffer.ts +++ b/packages/cli/src/ui/components/shared/text-buffer.ts @@ -1933,7 +1933,7 @@ export function useTextBuffer({ 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') redo(); - else if (input && !key.ctrl && !key.meta) { + else if (input && !key.ctrl && !key.meta && key.name !== 'tab') { insert(input, { paste: key.paste }); } },