mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-05-03 02:11:48 +00:00
fix(tui): recover fragmented SGR mouse reports
This commit is contained in:
parent
bbbce92651
commit
71b685aee0
4 changed files with 136 additions and 17 deletions
|
|
@ -3,11 +3,19 @@ import { describe, expect, it, vi } from 'vitest'
|
|||
import { resetTerminalModes, TERMINAL_MODE_RESET } from '../lib/terminalModes.js'
|
||||
|
||||
describe('terminal mode reset', () => {
|
||||
it('includes the sticky input modes Hermes enables', () => {
|
||||
it('includes common sticky input modes', () => {
|
||||
expect(TERMINAL_MODE_RESET).toContain("\x1b[0'z")
|
||||
expect(TERMINAL_MODE_RESET).toContain("\x1b[0'{")
|
||||
expect(TERMINAL_MODE_RESET).toContain('\x1b[?2029l')
|
||||
expect(TERMINAL_MODE_RESET).toContain('\x1b[?1016l')
|
||||
expect(TERMINAL_MODE_RESET).toContain('\x1b[?1015l')
|
||||
expect(TERMINAL_MODE_RESET).toContain('\x1b[?1006l')
|
||||
expect(TERMINAL_MODE_RESET).toContain('\x1b[?1005l')
|
||||
expect(TERMINAL_MODE_RESET).toContain('\x1b[?1003l')
|
||||
expect(TERMINAL_MODE_RESET).toContain('\x1b[?1002l')
|
||||
expect(TERMINAL_MODE_RESET).toContain('\x1b[?1001l')
|
||||
expect(TERMINAL_MODE_RESET).toContain('\x1b[?1000l')
|
||||
expect(TERMINAL_MODE_RESET).toContain('\x1b[?9l')
|
||||
expect(TERMINAL_MODE_RESET).toContain('\x1b[?1004l')
|
||||
expect(TERMINAL_MODE_RESET).toContain('\x1b[?2004l')
|
||||
expect(TERMINAL_MODE_RESET).toContain('\x1b[?1049l')
|
||||
|
|
|
|||
|
|
@ -1,10 +1,18 @@
|
|||
import { writeSync } from 'node:fs'
|
||||
|
||||
export const TERMINAL_MODE_RESET =
|
||||
"\x1b[0'z" + // DEC locator reporting
|
||||
"\x1b[0'{" + // selectable locator events
|
||||
'\x1b[?2029l' + // passive mouse
|
||||
'\x1b[?1016l' + // SGR-pixels mouse
|
||||
'\x1b[?1015l' + // urxvt decimal mouse
|
||||
'\x1b[?1006l' + // SGR mouse
|
||||
'\x1b[?1005l' + // UTF-8 extended mouse
|
||||
'\x1b[?1003l' + // any-motion mouse
|
||||
'\x1b[?1002l' + // button-motion mouse
|
||||
'\x1b[?1001l' + // highlight mouse
|
||||
'\x1b[?1000l' + // click mouse
|
||||
'\x1b[?9l' + // X10 mouse
|
||||
'\x1b[?1004l' + // focus events
|
||||
'\x1b[?2004l' + // bracketed paste
|
||||
'\x1b[?1049l' + // alternate screen
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue