| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- package ansi
- // This file define uses multiple sequences to set (SM), reset (RM), and request
- // (DECRQM) different ANSI and DEC modes.
- //
- // See: https://vt100.net/docs/vt510-rm/SM.html
- // See: https://vt100.net/docs/vt510-rm/RM.html
- // See: https://vt100.net/docs/vt510-rm/DECRQM.html
- //
- // The terminal then responds to the request with a Report Mode function
- // (DECRPM) in the format:
- //
- // ANSI format:
- //
- // CSI Pa ; Ps ; $ y
- //
- // DEC format:
- //
- // CSI ? Pa ; Ps $ y
- //
- // Where Pa is the mode number, and Ps is the mode value.
- // See: https://vt100.net/docs/vt510-rm/DECRPM.html
- // Application Cursor Keys (DECCKM) is a mode that determines whether the
- // cursor keys send ANSI cursor sequences or application sequences.
- //
- // See: https://vt100.net/docs/vt510-rm/DECCKM.html
- const (
- EnableCursorKeys = "\x1b[?1h"
- DisableCursorKeys = "\x1b[?1l"
- RequestCursorKeys = "\x1b[?1$p"
- )
- // Text Cursor Enable Mode (DECTCEM) is a mode that shows/hides the cursor.
- //
- // See: https://vt100.net/docs/vt510-rm/DECTCEM.html
- const (
- ShowCursor = "\x1b[?25h"
- HideCursor = "\x1b[?25l"
- RequestCursorVisibility = "\x1b[?25$p"
- )
- // VT Mouse Tracking is a mode that determines whether the mouse reports on
- // button press and release.
- //
- // See: https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-Mouse-Tracking
- const (
- EnableMouse = "\x1b[?1000h"
- DisableMouse = "\x1b[?1000l"
- RequestMouse = "\x1b[?1000$p"
- )
- // VT Hilite Mouse Tracking is a mode that determines whether the mouse reports on
- // button presses, releases, and highlighted cells.
- //
- // See: https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-Mouse-Tracking
- const (
- EnableMouseHilite = "\x1b[?1001h"
- DisableMouseHilite = "\x1b[?1001l"
- RequestMouseHilite = "\x1b[?1001$p"
- )
- // Cell Motion Mouse Tracking is a mode that determines whether the mouse
- // reports on button press, release, and motion events.
- //
- // See: https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-Mouse-Tracking
- const (
- EnableMouseCellMotion = "\x1b[?1002h"
- DisableMouseCellMotion = "\x1b[?1002l"
- RequestMouseCellMotion = "\x1b[?1002$p"
- )
- // All Mouse Tracking is a mode that determines whether the mouse reports on
- // button press, release, motion, and highlight events.
- //
- // See: https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-Mouse-Tracking
- const (
- EnableMouseAllMotion = "\x1b[?1003h"
- DisableMouseAllMotion = "\x1b[?1003l"
- RequestMouseAllMotion = "\x1b[?1003$p"
- )
- // SGR Mouse Extension is a mode that determines whether the mouse reports events
- // formatted with SGR parameters.
- //
- // See: https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-Mouse-Tracking
- const (
- EnableMouseSgrExt = "\x1b[?1006h"
- DisableMouseSgrExt = "\x1b[?1006l"
- RequestMouseSgrExt = "\x1b[?1006$p"
- )
- // Alternate Screen Buffer is a mode that determines whether the alternate screen
- // buffer is active.
- //
- // See: https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-The-Alternate-Screen-Buffer
- const (
- EnableAltScreenBuffer = "\x1b[?1049h"
- DisableAltScreenBuffer = "\x1b[?1049l"
- RequestAltScreenBuffer = "\x1b[?1049$p"
- )
- // Bracketed Paste Mode is a mode that determines whether pasted text is
- // bracketed with escape sequences.
- //
- // See: https://cirw.in/blog/bracketed-paste
- // See: https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-Bracketed-Paste-Mode
- const (
- EnableBracketedPaste = "\x1b[?2004h"
- DisableBracketedPaste = "\x1b[?2004l"
- RequestBracketedPaste = "\x1b[?2004$p"
- )
- // Synchronized Output Mode is a mode that determines whether output is
- // synchronized with the terminal.
- //
- // See: https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036
- const (
- EnableSyncdOutput = "\x1b[?2026h"
- DisableSyncdOutput = "\x1b[?2026l"
- RequestSyncdOutput = "\x1b[?2026$p"
- )
- // Win32Input is a mode that determines whether input is processed by the
- // Win32 console and Conpty.
- //
- // See: https://github.com/microsoft/terminal/blob/main/doc/specs/%234999%20-%20Improved%20keyboard%20handling%20in%20Conpty.md
- const (
- EnableWin32Input = "\x1b[?9001h"
- DisableWin32Input = "\x1b[?9001l"
- RequestWin32Input = "\x1b[?9001$p"
- )
|