init claude-code
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
/**
|
||||
* ANSI Control Characters and Escape Sequence Introducers
|
||||
*
|
||||
* Based on ECMA-48 / ANSI X3.64 standards.
|
||||
*/
|
||||
|
||||
/**
|
||||
* C0 (7-bit) control characters
|
||||
*/
|
||||
export const C0 = {
|
||||
NUL: 0x00,
|
||||
SOH: 0x01,
|
||||
STX: 0x02,
|
||||
ETX: 0x03,
|
||||
EOT: 0x04,
|
||||
ENQ: 0x05,
|
||||
ACK: 0x06,
|
||||
BEL: 0x07,
|
||||
BS: 0x08,
|
||||
HT: 0x09,
|
||||
LF: 0x0a,
|
||||
VT: 0x0b,
|
||||
FF: 0x0c,
|
||||
CR: 0x0d,
|
||||
SO: 0x0e,
|
||||
SI: 0x0f,
|
||||
DLE: 0x10,
|
||||
DC1: 0x11,
|
||||
DC2: 0x12,
|
||||
DC3: 0x13,
|
||||
DC4: 0x14,
|
||||
NAK: 0x15,
|
||||
SYN: 0x16,
|
||||
ETB: 0x17,
|
||||
CAN: 0x18,
|
||||
EM: 0x19,
|
||||
SUB: 0x1a,
|
||||
ESC: 0x1b,
|
||||
FS: 0x1c,
|
||||
GS: 0x1d,
|
||||
RS: 0x1e,
|
||||
US: 0x1f,
|
||||
DEL: 0x7f,
|
||||
} as const
|
||||
|
||||
// String constants for output generation
|
||||
export const ESC = '\x1b'
|
||||
export const BEL = '\x07'
|
||||
export const SEP = ';'
|
||||
|
||||
/**
|
||||
* Escape sequence type introducers (byte after ESC)
|
||||
*/
|
||||
export const ESC_TYPE = {
|
||||
CSI: 0x5b, // [ - Control Sequence Introducer
|
||||
OSC: 0x5d, // ] - Operating System Command
|
||||
DCS: 0x50, // P - Device Control String
|
||||
APC: 0x5f, // _ - Application Program Command
|
||||
PM: 0x5e, // ^ - Privacy Message
|
||||
SOS: 0x58, // X - Start of String
|
||||
ST: 0x5c, // \ - String Terminator
|
||||
} as const
|
||||
|
||||
/** Check if a byte is a C0 control character */
|
||||
export function isC0(byte: number): boolean {
|
||||
return byte < 0x20 || byte === 0x7f
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if a byte is an ESC sequence final byte (0-9, :, ;, <, =, >, ?, @ through ~)
|
||||
* ESC sequences have a wider final byte range than CSI
|
||||
*/
|
||||
export function isEscFinal(byte: number): boolean {
|
||||
return byte >= 0x30 && byte <= 0x7e
|
||||
}
|
||||
Reference in New Issue
Block a user