mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-07-19 14:30:52 -07:00
feat(cli): add support for numpad SS3 sequences (#19659)
This commit is contained in:
committed by
GitHub
parent
98f312130c
commit
960ebf5ae3
@@ -758,6 +758,80 @@ describe('KeypressContext', () => {
|
||||
);
|
||||
});
|
||||
|
||||
describe('Numpad support', () => {
|
||||
it.each([
|
||||
{
|
||||
sequence: '\x1bOj',
|
||||
expected: { name: '*', sequence: '*', insertable: true },
|
||||
},
|
||||
{
|
||||
sequence: '\x1bOk',
|
||||
expected: { name: '+', sequence: '+', insertable: true },
|
||||
},
|
||||
{
|
||||
sequence: '\x1bOm',
|
||||
expected: { name: '-', sequence: '-', insertable: true },
|
||||
},
|
||||
{
|
||||
sequence: '\x1bOo',
|
||||
expected: { name: '/', sequence: '/', insertable: true },
|
||||
},
|
||||
{
|
||||
sequence: '\x1bOp',
|
||||
expected: { name: '0', sequence: '0', insertable: true },
|
||||
},
|
||||
{
|
||||
sequence: '\x1bOq',
|
||||
expected: { name: '1', sequence: '1', insertable: true },
|
||||
},
|
||||
{
|
||||
sequence: '\x1bOr',
|
||||
expected: { name: '2', sequence: '2', insertable: true },
|
||||
},
|
||||
{
|
||||
sequence: '\x1bOs',
|
||||
expected: { name: '3', sequence: '3', insertable: true },
|
||||
},
|
||||
{
|
||||
sequence: '\x1bOt',
|
||||
expected: { name: '4', sequence: '4', insertable: true },
|
||||
},
|
||||
{
|
||||
sequence: '\x1bOu',
|
||||
expected: { name: '5', sequence: '5', insertable: true },
|
||||
},
|
||||
{
|
||||
sequence: '\x1bOv',
|
||||
expected: { name: '6', sequence: '6', insertable: true },
|
||||
},
|
||||
{
|
||||
sequence: '\x1bOw',
|
||||
expected: { name: '7', sequence: '7', insertable: true },
|
||||
},
|
||||
{
|
||||
sequence: '\x1bOx',
|
||||
expected: { name: '8', sequence: '8', insertable: true },
|
||||
},
|
||||
{
|
||||
sequence: '\x1bOy',
|
||||
expected: { name: '9', sequence: '9', insertable: true },
|
||||
},
|
||||
{
|
||||
sequence: '\x1bOn',
|
||||
expected: { name: '.', sequence: '.', insertable: true },
|
||||
},
|
||||
])(
|
||||
'should recognize numpad sequence "$sequence" as $expected.name',
|
||||
({ sequence, expected }) => {
|
||||
const { keyHandler } = setupKeypressTest();
|
||||
act(() => stdin.write(sequence));
|
||||
expect(keyHandler).toHaveBeenCalledWith(
|
||||
expect.objectContaining(expected),
|
||||
);
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
describe('Double-tap and batching', () => {
|
||||
it('should emit two delete events for double-tap CSI[3~', async () => {
|
||||
const { keyHandler } = setupKeypressTest();
|
||||
|
||||
Reference in New Issue
Block a user