@xterm/xterm 6.1.0-beta.16 → 6.1.0-beta.161

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/README.md +27 -28
  2. package/css/xterm.css +29 -22
  3. package/lib/xterm.js +1 -1
  4. package/lib/xterm.js.map +1 -1
  5. package/lib/xterm.mjs +8 -34
  6. package/lib/xterm.mjs.map +4 -4
  7. package/package.json +28 -17
  8. package/src/browser/AccessibilityManager.ts +6 -3
  9. package/src/browser/CoreBrowserTerminal.ts +142 -62
  10. package/src/browser/Dom.ts +178 -0
  11. package/src/browser/Linkifier.ts +3 -3
  12. package/src/browser/OscLinkProvider.ts +3 -1
  13. package/src/browser/RenderDebouncer.ts +2 -2
  14. package/src/browser/TimeBasedDebouncer.ts +2 -2
  15. package/src/browser/Types.ts +12 -11
  16. package/src/browser/Viewport.ts +40 -17
  17. package/src/browser/decorations/BufferDecorationRenderer.ts +1 -1
  18. package/src/browser/decorations/OverviewRulerRenderer.ts +15 -16
  19. package/src/browser/input/CompositionHelper.ts +10 -1
  20. package/src/browser/public/Terminal.ts +24 -27
  21. package/src/browser/renderer/dom/DomRenderer.ts +128 -8
  22. package/src/browser/renderer/dom/DomRendererRowFactory.ts +19 -13
  23. package/src/browser/renderer/dom/WidthCache.ts +54 -52
  24. package/src/browser/renderer/shared/Constants.ts +7 -0
  25. package/src/browser/renderer/shared/TextBlinkStateManager.ts +97 -0
  26. package/src/browser/renderer/shared/Types.ts +8 -2
  27. package/src/browser/scrollable/abstractScrollbar.ts +300 -0
  28. package/src/browser/scrollable/fastDomNode.ts +126 -0
  29. package/src/browser/scrollable/globalPointerMoveMonitor.ts +90 -0
  30. package/src/browser/scrollable/horizontalScrollbar.ts +85 -0
  31. package/src/browser/scrollable/mouseEvent.ts +292 -0
  32. package/src/browser/scrollable/scrollable.ts +486 -0
  33. package/src/browser/scrollable/scrollableElement.ts +579 -0
  34. package/src/browser/scrollable/scrollableElementOptions.ts +161 -0
  35. package/src/browser/scrollable/scrollbarArrow.ts +110 -0
  36. package/src/browser/scrollable/scrollbarState.ts +246 -0
  37. package/src/browser/scrollable/scrollbarVisibilityController.ts +113 -0
  38. package/src/browser/scrollable/touch.ts +481 -0
  39. package/src/browser/scrollable/verticalScrollbar.ts +143 -0
  40. package/src/browser/scrollable/widget.ts +23 -0
  41. package/src/browser/services/CharSizeService.ts +2 -2
  42. package/src/browser/services/CoreBrowserService.ts +4 -4
  43. package/src/browser/services/KeyboardService.ts +67 -0
  44. package/src/browser/services/LinkProviderService.ts +1 -1
  45. package/src/browser/services/MouseService.ts +2 -1
  46. package/src/browser/services/RenderService.ts +22 -15
  47. package/src/browser/services/SelectionService.ts +12 -4
  48. package/src/browser/services/Services.ts +24 -15
  49. package/src/browser/services/ThemeService.ts +2 -2
  50. package/src/common/Async.ts +105 -0
  51. package/src/common/CircularList.ts +2 -2
  52. package/src/common/Color.ts +8 -0
  53. package/src/common/CoreTerminal.ts +21 -11
  54. package/src/common/Event.ts +118 -0
  55. package/src/common/InputHandler.ts +244 -24
  56. package/src/common/Lifecycle.ts +113 -0
  57. package/src/common/Platform.ts +13 -3
  58. package/src/common/SortedList.ts +7 -3
  59. package/src/common/TaskQueue.ts +9 -3
  60. package/src/common/Types.ts +27 -7
  61. package/src/common/Version.ts +9 -0
  62. package/src/common/buffer/Buffer.ts +20 -14
  63. package/src/common/buffer/BufferLine.ts +4 -5
  64. package/src/common/buffer/BufferSet.ts +7 -6
  65. package/src/common/buffer/CellData.ts +57 -0
  66. package/src/common/buffer/Marker.ts +2 -2
  67. package/src/common/buffer/Types.ts +6 -2
  68. package/src/common/data/EscapeSequences.ts +71 -70
  69. package/src/common/input/Keyboard.ts +7 -6
  70. package/src/common/input/KittyKeyboard.ts +491 -0
  71. package/src/common/input/Win32InputMode.ts +297 -0
  72. package/src/common/input/WriteBuffer.ts +34 -2
  73. package/src/common/input/XParseColor.ts +2 -2
  74. package/src/common/parser/ApcParser.ts +245 -0
  75. package/src/common/parser/Constants.ts +22 -4
  76. package/src/common/parser/DcsParser.ts +5 -5
  77. package/src/common/parser/EscapeSequenceParser.ts +75 -22
  78. package/src/common/parser/OscParser.ts +5 -5
  79. package/src/common/parser/Types.ts +34 -1
  80. package/src/common/public/BufferLineApiView.ts +2 -2
  81. package/src/common/public/BufferNamespaceApi.ts +2 -2
  82. package/src/common/public/ParserApi.ts +3 -0
  83. package/src/common/services/BufferService.ts +8 -5
  84. package/src/common/services/CharsetService.ts +4 -0
  85. package/src/common/services/CoreMouseService.ts +2 -2
  86. package/src/common/services/CoreService.ts +18 -4
  87. package/src/common/services/DecorationService.ts +24 -8
  88. package/src/common/services/LogService.ts +1 -31
  89. package/src/common/services/OptionsService.ts +13 -4
  90. package/src/common/services/Services.ts +39 -16
  91. package/src/common/services/UnicodeService.ts +1 -1
  92. package/typings/xterm.d.ts +319 -35
  93. package/src/common/TypedArrayUtils.ts +0 -17
  94. package/src/vs/base/browser/browser.ts +0 -141
  95. package/src/vs/base/browser/canIUse.ts +0 -49
  96. package/src/vs/base/browser/dom.ts +0 -2369
  97. package/src/vs/base/browser/fastDomNode.ts +0 -316
  98. package/src/vs/base/browser/globalPointerMoveMonitor.ts +0 -112
  99. package/src/vs/base/browser/iframe.ts +0 -135
  100. package/src/vs/base/browser/keyboardEvent.ts +0 -213
  101. package/src/vs/base/browser/mouseEvent.ts +0 -229
  102. package/src/vs/base/browser/touch.ts +0 -372
  103. package/src/vs/base/browser/ui/scrollbar/abstractScrollbar.ts +0 -303
  104. package/src/vs/base/browser/ui/scrollbar/horizontalScrollbar.ts +0 -114
  105. package/src/vs/base/browser/ui/scrollbar/scrollableElement.ts +0 -720
  106. package/src/vs/base/browser/ui/scrollbar/scrollableElementOptions.ts +0 -165
  107. package/src/vs/base/browser/ui/scrollbar/scrollbarArrow.ts +0 -114
  108. package/src/vs/base/browser/ui/scrollbar/scrollbarState.ts +0 -243
  109. package/src/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.ts +0 -118
  110. package/src/vs/base/browser/ui/scrollbar/verticalScrollbar.ts +0 -116
  111. package/src/vs/base/browser/ui/widget.ts +0 -57
  112. package/src/vs/base/browser/window.ts +0 -14
  113. package/src/vs/base/common/arrays.ts +0 -887
  114. package/src/vs/base/common/arraysFind.ts +0 -202
  115. package/src/vs/base/common/assert.ts +0 -71
  116. package/src/vs/base/common/async.ts +0 -1992
  117. package/src/vs/base/common/cancellation.ts +0 -148
  118. package/src/vs/base/common/charCode.ts +0 -450
  119. package/src/vs/base/common/collections.ts +0 -140
  120. package/src/vs/base/common/decorators.ts +0 -130
  121. package/src/vs/base/common/equals.ts +0 -146
  122. package/src/vs/base/common/errors.ts +0 -303
  123. package/src/vs/base/common/event.ts +0 -1778
  124. package/src/vs/base/common/functional.ts +0 -32
  125. package/src/vs/base/common/hash.ts +0 -316
  126. package/src/vs/base/common/iterator.ts +0 -159
  127. package/src/vs/base/common/keyCodes.ts +0 -526
  128. package/src/vs/base/common/keybindings.ts +0 -284
  129. package/src/vs/base/common/lazy.ts +0 -47
  130. package/src/vs/base/common/lifecycle.ts +0 -801
  131. package/src/vs/base/common/linkedList.ts +0 -142
  132. package/src/vs/base/common/map.ts +0 -202
  133. package/src/vs/base/common/numbers.ts +0 -98
  134. package/src/vs/base/common/observable.ts +0 -76
  135. package/src/vs/base/common/observableInternal/api.ts +0 -31
  136. package/src/vs/base/common/observableInternal/autorun.ts +0 -281
  137. package/src/vs/base/common/observableInternal/base.ts +0 -489
  138. package/src/vs/base/common/observableInternal/debugName.ts +0 -145
  139. package/src/vs/base/common/observableInternal/derived.ts +0 -428
  140. package/src/vs/base/common/observableInternal/lazyObservableValue.ts +0 -146
  141. package/src/vs/base/common/observableInternal/logging.ts +0 -328
  142. package/src/vs/base/common/observableInternal/promise.ts +0 -209
  143. package/src/vs/base/common/observableInternal/utils.ts +0 -610
  144. package/src/vs/base/common/platform.ts +0 -281
  145. package/src/vs/base/common/scrollable.ts +0 -522
  146. package/src/vs/base/common/sequence.ts +0 -34
  147. package/src/vs/base/common/stopwatch.ts +0 -43
  148. package/src/vs/base/common/strings.ts +0 -557
  149. package/src/vs/base/common/symbols.ts +0 -9
  150. package/src/vs/base/common/uint.ts +0 -59
  151. package/src/vs/patches/nls.ts +0 -90
  152. package/src/vs/typings/base-common.d.ts +0 -20
  153. package/src/vs/typings/require.d.ts +0 -42
  154. package/src/vs/typings/vscode-globals-nls.d.ts +0 -36
  155. package/src/vs/typings/vscode-globals-product.d.ts +0 -33
@@ -7,147 +7,148 @@
7
7
  * C0 control codes
8
8
  * See = https://en.wikipedia.org/wiki/C0_and_C1_control_codes
9
9
  */
10
- export namespace C0 {
10
+ export const enum C0 {
11
11
  /** Null (Caret = ^@, C = \0) */
12
- export const NUL = '\x00';
12
+ NUL = '\x00',
13
13
  /** Start of Heading (Caret = ^A) */
14
- export const SOH = '\x01';
14
+ SOH = '\x01',
15
15
  /** Start of Text (Caret = ^B) */
16
- export const STX = '\x02';
16
+ STX = '\x02',
17
17
  /** End of Text (Caret = ^C) */
18
- export const ETX = '\x03';
18
+ ETX = '\x03',
19
19
  /** End of Transmission (Caret = ^D) */
20
- export const EOT = '\x04';
20
+ EOT = '\x04',
21
21
  /** Enquiry (Caret = ^E) */
22
- export const ENQ = '\x05';
22
+ ENQ = '\x05',
23
23
  /** Acknowledge (Caret = ^F) */
24
- export const ACK = '\x06';
24
+ ACK = '\x06',
25
25
  /** Bell (Caret = ^G, C = \a) */
26
- export const BEL = '\x07';
26
+ BEL = '\x07',
27
27
  /** Backspace (Caret = ^H, C = \b) */
28
- export const BS = '\x08';
28
+ BS = '\x08',
29
29
  /** Character Tabulation, Horizontal Tabulation (Caret = ^I, C = \t) */
30
- export const HT = '\x09';
30
+ HT = '\x09',
31
31
  /** Line Feed (Caret = ^J, C = \n) */
32
- export const LF = '\x0a';
32
+ LF = '\x0a',
33
33
  /** Line Tabulation, Vertical Tabulation (Caret = ^K, C = \v) */
34
- export const VT = '\x0b';
34
+ VT = '\x0b',
35
35
  /** Form Feed (Caret = ^L, C = \f) */
36
- export const FF = '\x0c';
36
+ FF = '\x0c',
37
37
  /** Carriage Return (Caret = ^M, C = \r) */
38
- export const CR = '\x0d';
38
+ CR = '\x0d',
39
39
  /** Shift Out (Caret = ^N) */
40
- export const SO = '\x0e';
40
+ SO = '\x0e',
41
41
  /** Shift In (Caret = ^O) */
42
- export const SI = '\x0f';
42
+ SI = '\x0f',
43
43
  /** Data Link Escape (Caret = ^P) */
44
- export const DLE = '\x10';
44
+ DLE = '\x10',
45
45
  /** Device Control One (XON) (Caret = ^Q) */
46
- export const DC1 = '\x11';
46
+ DC1 = '\x11',
47
47
  /** Device Control Two (Caret = ^R) */
48
- export const DC2 = '\x12';
48
+ DC2 = '\x12',
49
49
  /** Device Control Three (XOFF) (Caret = ^S) */
50
- export const DC3 = '\x13';
50
+ DC3 = '\x13',
51
51
  /** Device Control Four (Caret = ^T) */
52
- export const DC4 = '\x14';
52
+ DC4 = '\x14',
53
53
  /** Negative Acknowledge (Caret = ^U) */
54
- export const NAK = '\x15';
54
+ NAK = '\x15',
55
55
  /** Synchronous Idle (Caret = ^V) */
56
- export const SYN = '\x16';
56
+ SYN = '\x16',
57
57
  /** End of Transmission Block (Caret = ^W) */
58
- export const ETB = '\x17';
58
+ ETB = '\x17',
59
59
  /** Cancel (Caret = ^X) */
60
- export const CAN = '\x18';
60
+ CAN = '\x18',
61
61
  /** End of Medium (Caret = ^Y) */
62
- export const EM = '\x19';
62
+ EM = '\x19',
63
63
  /** Substitute (Caret = ^Z) */
64
- export const SUB = '\x1a';
64
+ SUB = '\x1a',
65
65
  /** Escape (Caret = ^[, C = \e) */
66
- export const ESC = '\x1b';
66
+ ESC = '\x1b',
67
67
  /** File Separator (Caret = ^\) */
68
- export const FS = '\x1c';
68
+ FS = '\x1c',
69
69
  /** Group Separator (Caret = ^]) */
70
- export const GS = '\x1d';
70
+ GS = '\x1d',
71
71
  /** Record Separator (Caret = ^^) */
72
- export const RS = '\x1e';
72
+ RS = '\x1e',
73
73
  /** Unit Separator (Caret = ^_) */
74
- export const US = '\x1f';
74
+ US = '\x1f',
75
75
  /** Space */
76
- export const SP = '\x20';
76
+ SP = '\x20',
77
77
  /** Delete (Caret = ^?) */
78
- export const DEL = '\x7f';
78
+ DEL = '\x7f'
79
79
  }
80
80
 
81
81
  /**
82
82
  * C1 control codes
83
83
  * See = https://en.wikipedia.org/wiki/C0_and_C1_control_codes
84
84
  */
85
- export namespace C1 {
85
+ export const enum C1 {
86
86
  /** padding character */
87
- export const PAD = '\x80';
87
+ PAD = '\x80',
88
88
  /** High Octet Preset */
89
- export const HOP = '\x81';
89
+ HOP = '\x81',
90
90
  /** Break Permitted Here */
91
- export const BPH = '\x82';
91
+ BPH = '\x82',
92
92
  /** No Break Here */
93
- export const NBH = '\x83';
93
+ NBH = '\x83',
94
94
  /** Index */
95
- export const IND = '\x84';
95
+ IND = '\x84',
96
96
  /** Next Line */
97
- export const NEL = '\x85';
97
+ NEL = '\x85',
98
98
  /** Start of Selected Area */
99
- export const SSA = '\x86';
99
+ SSA = '\x86',
100
100
  /** End of Selected Area */
101
- export const ESA = '\x87';
101
+ ESA = '\x87',
102
102
  /** Horizontal Tabulation Set */
103
- export const HTS = '\x88';
103
+ HTS = '\x88',
104
104
  /** Horizontal Tabulation With Justification */
105
- export const HTJ = '\x89';
105
+ HTJ = '\x89',
106
106
  /** Vertical Tabulation Set */
107
- export const VTS = '\x8a';
107
+ VTS = '\x8a',
108
108
  /** Partial Line Down */
109
- export const PLD = '\x8b';
109
+ PLD = '\x8b',
110
110
  /** Partial Line Up */
111
- export const PLU = '\x8c';
111
+ PLU = '\x8c',
112
112
  /** Reverse Index */
113
- export const RI = '\x8d';
113
+ RI = '\x8d',
114
114
  /** Single-Shift 2 */
115
- export const SS2 = '\x8e';
115
+ SS2 = '\x8e',
116
116
  /** Single-Shift 3 */
117
- export const SS3 = '\x8f';
117
+ SS3 = '\x8f',
118
118
  /** Device Control String */
119
- export const DCS = '\x90';
119
+ DCS = '\x90',
120
120
  /** Private Use 1 */
121
- export const PU1 = '\x91';
121
+ PU1 = '\x91',
122
122
  /** Private Use 2 */
123
- export const PU2 = '\x92';
123
+ PU2 = '\x92',
124
124
  /** Set Transmit State */
125
- export const STS = '\x93';
125
+ STS = '\x93',
126
126
  /** Destructive backspace, intended to eliminate ambiguity about meaning of BS. */
127
- export const CCH = '\x94';
127
+ CCH = '\x94',
128
128
  /** Message Waiting */
129
- export const MW = '\x95';
129
+ MW = '\x95',
130
130
  /** Start of Protected Area */
131
- export const SPA = '\x96';
131
+ SPA = '\x96',
132
132
  /** End of Protected Area */
133
- export const EPA = '\x97';
133
+ EPA = '\x97',
134
134
  /** Start of String */
135
- export const SOS = '\x98';
135
+ SOS = '\x98',
136
136
  /** Single Graphic Character Introducer */
137
- export const SGCI = '\x99';
137
+ SGCI = '\x99',
138
138
  /** Single Character Introducer */
139
- export const SCI = '\x9a';
139
+ SCI = '\x9a',
140
140
  /** Control Sequence Introducer */
141
- export const CSI = '\x9b';
141
+ CSI = '\x9b',
142
142
  /** String Terminator */
143
- export const ST = '\x9c';
143
+ ST = '\x9c',
144
144
  /** Operating System Command */
145
- export const OSC = '\x9d';
145
+ OSC = '\x9d',
146
146
  /** Privacy Message */
147
- export const PM = '\x9e';
147
+ PM = '\x9e',
148
148
  /** Application Program Command */
149
- export const APC = '\x9f';
149
+ APC = '\x9f'
150
150
  }
151
- export namespace C1_ESCAPED {
152
- export const ST = `${C0.ESC}\\`;
151
+
152
+ export const enum C1ESCAPED {
153
+ ST = '\x1b\\'
153
154
  }
@@ -315,6 +315,8 @@ export function evaluateKeyboardEvent(
315
315
  result.key = String.fromCharCode(ev.keyCode - 51 + 27);
316
316
  } else if (ev.keyCode === 56) {
317
317
  result.key = C0.DEL;
318
+ } else if (ev.key === '/') {
319
+ result.key = C0.US; // https://github.com/xtermjs/xterm.js/issues/5457
318
320
  } else if (ev.keyCode === 219) {
319
321
  result.key = C0.ESC;
320
322
  } else if (ev.keyCode === 220) {
@@ -358,12 +360,11 @@ export function evaluateKeyboardEvent(
358
360
  // Include only keys that that result in a _single_ character; don't include num lock,
359
361
  // volume up, etc.
360
362
  result.key = ev.key;
361
- } else if (ev.key && ev.ctrlKey) {
362
- if (ev.key === '_') { // ^_
363
- result.key = C0.US;
364
- }
365
- if (ev.key === '@') { // ^ + shift + 2 = ^ + @
366
- result.key = C0.NUL;
363
+ } else if (ev.key && ev.ctrlKey && ev.shiftKey) {
364
+ switch (ev.code) {
365
+ case 'Minus': result.key = C0.US; break; // ^_ (Ctrl+Shift+-_
366
+ case 'Digit2': result.key = C0.NUL; break; // ^@ (Ctrl+Shift+2)
367
+ case 'Digit6': result.key = C0.RS; break; // ^^ (Ctrl+Shift+6)
367
368
  }
368
369
  }
369
370
  break;