diff --git a/src/browser/CoreBrowserTerminal.ts b/src/browser/CoreBrowserTerminal.ts index 869a545a..57208160 100644 --- a/src/browser/CoreBrowserTerminal.ts +++ b/src/browser/CoreBrowserTerminal.ts @@ -48,7 +48,7 @@ import * as Browser from 'common/Platform'; import { ColorRequestType, CoreMouseAction, CoreMouseButton, CoreMouseEventType, IColorEvent, ITerminalOptions, KeyboardResultType, SpecialColorIndex } from 'common/Types'; import { DEFAULT_ATTR_DATA } from 'common/buffer/BufferLine'; import { IBuffer } from 'common/buffer/Types'; -import { C0, C1_ESCAPED } from 'common/data/EscapeSequences'; +import { C0, C1ESCAPED } from 'common/data/EscapeSequences'; import { toRgbString } from 'common/input/XParseColor'; import { DecorationService } from 'common/services/DecorationService'; import { IDecorationService } from 'common/services/Services'; @@ -235,7 +235,7 @@ export class CoreBrowserTerminal extends CoreTerminal implements ITerminal { const colorRgb = color.toColorRGB(acc === 'ansi' ? this._themeService.colors.ansi[req.index] : this._themeService.colors[acc]); - this.coreService.triggerDataEvent(`${C0.ESC}]${ident};${toRgbString(colorRgb)}${C1_ESCAPED.ST}`); + this.coreService.triggerDataEvent(`${C0.ESC}]${ident};${toRgbString(colorRgb)}${C1ESCAPED.ST}`); break; case ColorRequestType.SET: if (acc === 'ansi') { diff --git a/src/common/data/EscapeSequences.ts b/src/common/data/EscapeSequences.ts index 0e034620..fe6cf329 100644 --- a/src/common/data/EscapeSequences.ts +++ b/src/common/data/EscapeSequences.ts @@ -7,147 +7,148 @@ * C0 control codes * See = https://en.wikipedia.org/wiki/C0_and_C1_control_codes */ -export namespace C0 { +export const enum C0 { /** Null (Caret = ^@, C = \0) */ - export const NUL = '\x00'; + NUL = '\x00', /** Start of Heading (Caret = ^A) */ - export const SOH = '\x01'; + SOH = '\x01', /** Start of Text (Caret = ^B) */ - export const STX = '\x02'; + STX = '\x02', /** End of Text (Caret = ^C) */ - export const ETX = '\x03'; + ETX = '\x03', /** End of Transmission (Caret = ^D) */ - export const EOT = '\x04'; + EOT = '\x04', /** Enquiry (Caret = ^E) */ - export const ENQ = '\x05'; + ENQ = '\x05', /** Acknowledge (Caret = ^F) */ - export const ACK = '\x06'; + ACK = '\x06', /** Bell (Caret = ^G, C = \a) */ - export const BEL = '\x07'; + BEL = '\x07', /** Backspace (Caret = ^H, C = \b) */ - export const BS = '\x08'; + BS = '\x08', /** Character Tabulation, Horizontal Tabulation (Caret = ^I, C = \t) */ - export const HT = '\x09'; + HT = '\x09', /** Line Feed (Caret = ^J, C = \n) */ - export const LF = '\x0a'; + LF = '\x0a', /** Line Tabulation, Vertical Tabulation (Caret = ^K, C = \v) */ - export const VT = '\x0b'; + VT = '\x0b', /** Form Feed (Caret = ^L, C = \f) */ - export const FF = '\x0c'; + FF = '\x0c', /** Carriage Return (Caret = ^M, C = \r) */ - export const CR = '\x0d'; + CR = '\x0d', /** Shift Out (Caret = ^N) */ - export const SO = '\x0e'; + SO = '\x0e', /** Shift In (Caret = ^O) */ - export const SI = '\x0f'; + SI = '\x0f', /** Data Link Escape (Caret = ^P) */ - export const DLE = '\x10'; + DLE = '\x10', /** Device Control One (XON) (Caret = ^Q) */ - export const DC1 = '\x11'; + DC1 = '\x11', /** Device Control Two (Caret = ^R) */ - export const DC2 = '\x12'; + DC2 = '\x12', /** Device Control Three (XOFF) (Caret = ^S) */ - export const DC3 = '\x13'; + DC3 = '\x13', /** Device Control Four (Caret = ^T) */ - export const DC4 = '\x14'; + DC4 = '\x14', /** Negative Acknowledge (Caret = ^U) */ - export const NAK = '\x15'; + NAK = '\x15', /** Synchronous Idle (Caret = ^V) */ - export const SYN = '\x16'; + SYN = '\x16', /** End of Transmission Block (Caret = ^W) */ - export const ETB = '\x17'; + ETB = '\x17', /** Cancel (Caret = ^X) */ - export const CAN = '\x18'; + CAN = '\x18', /** End of Medium (Caret = ^Y) */ - export const EM = '\x19'; + EM = '\x19', /** Substitute (Caret = ^Z) */ - export const SUB = '\x1a'; + SUB = '\x1a', /** Escape (Caret = ^[, C = \e) */ - export const ESC = '\x1b'; + ESC = '\x1b', /** File Separator (Caret = ^\) */ - export const FS = '\x1c'; + FS = '\x1c', /** Group Separator (Caret = ^]) */ - export const GS = '\x1d'; + GS = '\x1d', /** Record Separator (Caret = ^^) */ - export const RS = '\x1e'; + RS = '\x1e', /** Unit Separator (Caret = ^_) */ - export const US = '\x1f'; + US = '\x1f', /** Space */ - export const SP = '\x20'; + SP = '\x20', /** Delete (Caret = ^?) */ - export const DEL = '\x7f'; + DEL = '\x7f' } /** * C1 control codes * See = https://en.wikipedia.org/wiki/C0_and_C1_control_codes */ -export namespace C1 { +export const enum C1 { /** padding character */ - export const PAD = '\x80'; + PAD = '\x80', /** High Octet Preset */ - export const HOP = '\x81'; + HOP = '\x81', /** Break Permitted Here */ - export const BPH = '\x82'; + BPH = '\x82', /** No Break Here */ - export const NBH = '\x83'; + NBH = '\x83', /** Index */ - export const IND = '\x84'; + IND = '\x84', /** Next Line */ - export const NEL = '\x85'; + NEL = '\x85', /** Start of Selected Area */ - export const SSA = '\x86'; + SSA = '\x86', /** End of Selected Area */ - export const ESA = '\x87'; + ESA = '\x87', /** Horizontal Tabulation Set */ - export const HTS = '\x88'; + HTS = '\x88', /** Horizontal Tabulation With Justification */ - export const HTJ = '\x89'; + HTJ = '\x89', /** Vertical Tabulation Set */ - export const VTS = '\x8a'; + VTS = '\x8a', /** Partial Line Down */ - export const PLD = '\x8b'; + PLD = '\x8b', /** Partial Line Up */ - export const PLU = '\x8c'; + PLU = '\x8c', /** Reverse Index */ - export const RI = '\x8d'; + RI = '\x8d', /** Single-Shift 2 */ - export const SS2 = '\x8e'; + SS2 = '\x8e', /** Single-Shift 3 */ - export const SS3 = '\x8f'; + SS3 = '\x8f', /** Device Control String */ - export const DCS = '\x90'; + DCS = '\x90', /** Private Use 1 */ - export const PU1 = '\x91'; + PU1 = '\x91', /** Private Use 2 */ - export const PU2 = '\x92'; + PU2 = '\x92', /** Set Transmit State */ - export const STS = '\x93'; + STS = '\x93', /** Destructive backspace, intended to eliminate ambiguity about meaning of BS. */ - export const CCH = '\x94'; + CCH = '\x94', /** Message Waiting */ - export const MW = '\x95'; + MW = '\x95', /** Start of Protected Area */ - export const SPA = '\x96'; + SPA = '\x96', /** End of Protected Area */ - export const EPA = '\x97'; + EPA = '\x97', /** Start of String */ - export const SOS = '\x98'; + SOS = '\x98', /** Single Graphic Character Introducer */ - export const SGCI = '\x99'; + SGCI = '\x99', /** Single Character Introducer */ - export const SCI = '\x9a'; + SCI = '\x9a', /** Control Sequence Introducer */ - export const CSI = '\x9b'; + CSI = '\x9b', /** String Terminator */ - export const ST = '\x9c'; + ST = '\x9c', /** Operating System Command */ - export const OSC = '\x9d'; + OSC = '\x9d', /** Privacy Message */ - export const PM = '\x9e'; + PM = '\x9e', /** Application Program Command */ - export const APC = '\x9f'; + APC = '\x9f' } -export namespace C1_ESCAPED { - export const ST = `${C0.ESC}\\`; + +export const enum C1ESCAPED { + ST = '\x1b\\' }