@xterm/xterm 6.1.0-beta.22 → 6.1.0-beta.220
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.
- package/README.md +62 -38
- package/css/xterm.css +29 -22
- package/lib/xterm.js +1 -1
- package/lib/xterm.js.map +1 -1
- package/lib/xterm.mjs +8 -34
- package/lib/xterm.mjs.map +4 -4
- package/package.json +25 -22
- package/src/browser/AccessibilityManager.ts +11 -6
- package/src/browser/Clipboard.ts +6 -3
- package/src/browser/CoreBrowserTerminal.ts +147 -318
- package/src/browser/Dom.ts +178 -0
- package/src/browser/Linkifier.ts +11 -11
- package/src/browser/OscLinkProvider.ts +3 -1
- package/src/browser/RenderDebouncer.ts +2 -2
- package/src/browser/TimeBasedDebouncer.ts +2 -2
- package/src/browser/Types.ts +12 -11
- package/src/browser/Viewport.ts +55 -20
- package/src/browser/decorations/BufferDecorationRenderer.ts +1 -1
- package/src/browser/decorations/OverviewRulerRenderer.ts +33 -17
- package/src/browser/input/CompositionHelper.ts +44 -8
- package/src/browser/public/Terminal.ts +25 -28
- package/src/browser/renderer/dom/DomRenderer.ts +242 -76
- package/src/browser/renderer/dom/DomRendererRowFactory.ts +19 -13
- package/src/browser/renderer/dom/WidthCache.ts +54 -52
- package/src/browser/renderer/shared/Constants.ts +7 -0
- package/src/browser/renderer/shared/TextBlinkStateManager.ts +97 -0
- package/src/browser/renderer/shared/Types.ts +8 -2
- package/src/browser/scrollable/abstractScrollbar.ts +300 -0
- package/src/browser/scrollable/fastDomNode.ts +126 -0
- package/src/browser/scrollable/globalPointerMoveMonitor.ts +90 -0
- package/src/browser/scrollable/horizontalScrollbar.ts +85 -0
- package/src/browser/scrollable/mouseEvent.ts +292 -0
- package/src/browser/scrollable/scrollable.ts +486 -0
- package/src/browser/scrollable/scrollableElement.ts +581 -0
- package/src/browser/scrollable/scrollableElementOptions.ts +161 -0
- package/src/browser/scrollable/scrollbarArrow.ts +110 -0
- package/src/browser/scrollable/scrollbarState.ts +246 -0
- package/src/browser/scrollable/scrollbarVisibilityController.ts +113 -0
- package/src/browser/scrollable/touch.ts +485 -0
- package/src/browser/scrollable/verticalScrollbar.ts +143 -0
- package/src/browser/scrollable/widget.ts +23 -0
- package/src/browser/services/CharSizeService.ts +2 -2
- package/src/browser/services/CoreBrowserService.ts +7 -5
- package/src/browser/services/KeyboardService.ts +67 -0
- package/src/browser/services/LinkProviderService.ts +1 -1
- package/src/browser/services/MouseCoordsService.ts +47 -0
- package/src/browser/services/MouseService.ts +518 -25
- package/src/browser/services/RenderService.ts +22 -15
- package/src/browser/services/SelectionService.ts +42 -35
- package/src/browser/services/Services.ts +40 -17
- package/src/browser/services/ThemeService.ts +2 -2
- package/src/common/Async.ts +105 -0
- package/src/common/CircularList.ts +2 -2
- package/src/common/Color.ts +8 -0
- package/src/common/CoreTerminal.ts +31 -21
- package/src/common/Event.ts +118 -0
- package/src/common/InputHandler.ts +283 -81
- package/src/common/Lifecycle.ts +113 -0
- package/src/common/Platform.ts +13 -3
- package/src/common/SortedList.ts +7 -3
- package/src/common/TaskQueue.ts +14 -5
- package/src/common/Types.ts +35 -15
- package/src/common/Version.ts +9 -0
- package/src/common/buffer/Buffer.ts +34 -19
- package/src/common/buffer/BufferLine.ts +133 -65
- package/src/common/buffer/BufferLineStringCache.ts +69 -0
- package/src/common/buffer/BufferSet.ts +11 -6
- package/src/common/buffer/CellData.ts +57 -0
- package/src/common/buffer/Marker.ts +2 -2
- package/src/common/buffer/Types.ts +6 -2
- package/src/common/data/EscapeSequences.ts +71 -70
- package/src/common/input/Keyboard.ts +14 -7
- package/src/common/input/KittyKeyboard.ts +526 -0
- package/src/common/input/Win32InputMode.ts +297 -0
- package/src/common/input/WriteBuffer.ts +64 -32
- package/src/common/input/XParseColor.ts +2 -2
- package/src/common/parser/ApcParser.ts +197 -0
- package/src/common/parser/Constants.ts +14 -4
- package/src/common/parser/DcsParser.ts +5 -5
- package/src/common/parser/EscapeSequenceParser.ts +205 -63
- package/src/common/parser/OscParser.ts +5 -5
- package/src/common/parser/Params.ts +27 -8
- package/src/common/parser/Types.ts +36 -2
- package/src/common/public/BufferLineApiView.ts +2 -2
- package/src/common/public/BufferNamespaceApi.ts +2 -2
- package/src/common/public/ParserApi.ts +3 -0
- package/src/common/services/BufferService.ts +14 -9
- package/src/common/services/CharsetService.ts +4 -0
- package/src/common/services/CoreService.ts +18 -4
- package/src/common/services/DecorationService.ts +24 -8
- package/src/common/services/LogService.ts +1 -31
- package/src/common/services/{CoreMouseService.ts → MouseStateService.ts} +21 -132
- package/src/common/services/OptionsService.ts +13 -4
- package/src/common/services/ServiceRegistry.ts +9 -7
- package/src/common/services/Services.ts +47 -40
- package/src/common/services/UnicodeService.ts +1 -1
- package/typings/xterm.d.ts +318 -34
- package/src/common/TypedArrayUtils.ts +0 -17
- package/src/vs/base/browser/browser.ts +0 -141
- package/src/vs/base/browser/canIUse.ts +0 -49
- package/src/vs/base/browser/dom.ts +0 -2369
- package/src/vs/base/browser/fastDomNode.ts +0 -316
- package/src/vs/base/browser/globalPointerMoveMonitor.ts +0 -112
- package/src/vs/base/browser/iframe.ts +0 -135
- package/src/vs/base/browser/keyboardEvent.ts +0 -213
- package/src/vs/base/browser/mouseEvent.ts +0 -229
- package/src/vs/base/browser/touch.ts +0 -372
- package/src/vs/base/browser/ui/scrollbar/abstractScrollbar.ts +0 -303
- package/src/vs/base/browser/ui/scrollbar/horizontalScrollbar.ts +0 -114
- package/src/vs/base/browser/ui/scrollbar/scrollableElement.ts +0 -720
- package/src/vs/base/browser/ui/scrollbar/scrollableElementOptions.ts +0 -165
- package/src/vs/base/browser/ui/scrollbar/scrollbarArrow.ts +0 -114
- package/src/vs/base/browser/ui/scrollbar/scrollbarState.ts +0 -243
- package/src/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.ts +0 -118
- package/src/vs/base/browser/ui/scrollbar/verticalScrollbar.ts +0 -116
- package/src/vs/base/browser/ui/widget.ts +0 -57
- package/src/vs/base/browser/window.ts +0 -14
- package/src/vs/base/common/arrays.ts +0 -887
- package/src/vs/base/common/arraysFind.ts +0 -202
- package/src/vs/base/common/assert.ts +0 -71
- package/src/vs/base/common/async.ts +0 -1992
- package/src/vs/base/common/cancellation.ts +0 -148
- package/src/vs/base/common/charCode.ts +0 -450
- package/src/vs/base/common/collections.ts +0 -140
- package/src/vs/base/common/decorators.ts +0 -130
- package/src/vs/base/common/equals.ts +0 -146
- package/src/vs/base/common/errors.ts +0 -303
- package/src/vs/base/common/event.ts +0 -1778
- package/src/vs/base/common/functional.ts +0 -32
- package/src/vs/base/common/hash.ts +0 -316
- package/src/vs/base/common/iterator.ts +0 -159
- package/src/vs/base/common/keyCodes.ts +0 -526
- package/src/vs/base/common/keybindings.ts +0 -284
- package/src/vs/base/common/lazy.ts +0 -47
- package/src/vs/base/common/lifecycle.ts +0 -801
- package/src/vs/base/common/linkedList.ts +0 -142
- package/src/vs/base/common/map.ts +0 -202
- package/src/vs/base/common/numbers.ts +0 -98
- package/src/vs/base/common/observable.ts +0 -76
- package/src/vs/base/common/observableInternal/api.ts +0 -31
- package/src/vs/base/common/observableInternal/autorun.ts +0 -281
- package/src/vs/base/common/observableInternal/base.ts +0 -489
- package/src/vs/base/common/observableInternal/debugName.ts +0 -145
- package/src/vs/base/common/observableInternal/derived.ts +0 -428
- package/src/vs/base/common/observableInternal/lazyObservableValue.ts +0 -146
- package/src/vs/base/common/observableInternal/logging.ts +0 -328
- package/src/vs/base/common/observableInternal/promise.ts +0 -209
- package/src/vs/base/common/observableInternal/utils.ts +0 -610
- package/src/vs/base/common/platform.ts +0 -281
- package/src/vs/base/common/scrollable.ts +0 -522
- package/src/vs/base/common/sequence.ts +0 -34
- package/src/vs/base/common/stopwatch.ts +0 -43
- package/src/vs/base/common/strings.ts +0 -557
- package/src/vs/base/common/symbols.ts +0 -9
- package/src/vs/base/common/uint.ts +0 -59
- package/src/vs/patches/nls.ts +0 -90
- package/src/vs/typings/base-common.d.ts +0 -20
- package/src/vs/typings/require.d.ts +0 -42
- package/src/vs/typings/vscode-globals-nls.d.ts +0 -36
- package/src/vs/typings/vscode-globals-product.d.ts +0 -33
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
* @license MIT
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { IDecoration, IDecorationOptions, ILinkHandler, ILogger, IWindowsPty,
|
|
7
|
-
import { CoreMouseEncoding, CoreMouseEventType, CursorInactiveStyle, CursorStyle, IAttributeData, ICharset, IColor, ICoreMouseEvent, ICoreMouseProtocol, IDecPrivateModes, IDisposable, IModes, IOscLinkData, IWindowOptions } from 'common/Types';
|
|
6
|
+
import type { IDecoration, IDecorationOptions, ILinkHandler, ILogger, IWindowsPty, IOverviewRulerOptions } from '@xterm/xterm';
|
|
7
|
+
import { CoreMouseEncoding, CoreMouseEventType, CursorInactiveStyle, CursorStyle, IAttributeData, ICharset, IColor, ICoreMouseEvent, ICoreMouseProtocol, IDecPrivateModes, IDisposable, IKittyKeyboardState, IModes, IOscLinkData, IWindowOptions } from 'common/Types';
|
|
8
8
|
import { IBuffer, IBufferSet } from 'common/buffer/Types';
|
|
9
9
|
import { createDecorator } from 'common/services/ServiceRegistry';
|
|
10
|
-
import type { Emitter,
|
|
10
|
+
import type { Emitter, IEvent } from 'common/Event';
|
|
11
11
|
|
|
12
12
|
export const IBufferService = createDecorator<IBufferService>('BufferService');
|
|
13
13
|
export interface IBufferService {
|
|
@@ -18,8 +18,8 @@ export interface IBufferService {
|
|
|
18
18
|
readonly buffer: IBuffer;
|
|
19
19
|
readonly buffers: IBufferSet;
|
|
20
20
|
isUserScrolling: boolean;
|
|
21
|
-
onResize:
|
|
22
|
-
onScroll:
|
|
21
|
+
onResize: IEvent<IBufferResizeEvent>;
|
|
22
|
+
onScroll: IEvent<number>;
|
|
23
23
|
scroll(eraseAttr: IAttributeData, isWrapped?: boolean): void;
|
|
24
24
|
scrollLines(disp: number, suppressScrollEvent?: boolean): void;
|
|
25
25
|
resize(cols: number, rows: number): void;
|
|
@@ -33,8 +33,8 @@ export interface IBufferResizeEvent {
|
|
|
33
33
|
rowsChanged: boolean;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
export const
|
|
37
|
-
export interface
|
|
36
|
+
export const IMouseStateService = createDecorator<IMouseStateService>('MouseStateService');
|
|
37
|
+
export interface IMouseStateService {
|
|
38
38
|
serviceBrand: undefined;
|
|
39
39
|
|
|
40
40
|
activeProtocol: string;
|
|
@@ -43,33 +43,17 @@ export interface ICoreMouseService {
|
|
|
43
43
|
addProtocol(name: string, protocol: ICoreMouseProtocol): void;
|
|
44
44
|
addEncoding(name: string, encoding: CoreMouseEncoding): void;
|
|
45
45
|
reset(): void;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
* Triggers a mouse event to be sent.
|
|
49
|
-
*
|
|
50
|
-
* Returns true if the event passed all protocol restrictions and a report
|
|
51
|
-
* was sent, otherwise false. The return value may be used to decide whether
|
|
52
|
-
* the default event action in the bowser component should be omitted.
|
|
53
|
-
*
|
|
54
|
-
* Note: The method will change values of the given event object
|
|
55
|
-
* to fullfill protocol and encoding restrictions.
|
|
56
|
-
*/
|
|
57
|
-
triggerMouseEvent(event: ICoreMouseEvent): boolean;
|
|
46
|
+
setCustomWheelEventHandler(customWheelEventHandler: ((event: WheelEvent) => boolean) | undefined): void;
|
|
47
|
+
allowCustomWheelEvent(ev: WheelEvent): boolean;
|
|
58
48
|
|
|
59
49
|
/**
|
|
60
50
|
* Event to announce changes in mouse tracking.
|
|
61
51
|
*/
|
|
62
|
-
onProtocolChange:
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
explainEvents(events: CoreMouseEventType): { [event: string]: boolean };
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Process wheel event taking partial scroll into account.
|
|
71
|
-
*/
|
|
72
|
-
consumeWheelEvent(ev: WheelEvent, cellHeight?: number, dpr?: number): number;
|
|
52
|
+
onProtocolChange: IEvent<CoreMouseEventType>;
|
|
53
|
+
restrictMouseEvent(event: ICoreMouseEvent): boolean;
|
|
54
|
+
encodeMouseEvent(event: ICoreMouseEvent): string;
|
|
55
|
+
readonly isDefaultEncoding: boolean;
|
|
56
|
+
readonly isPixelEncoding: boolean;
|
|
73
57
|
}
|
|
74
58
|
|
|
75
59
|
export const ICoreService = createDecorator<ICoreService>('CoreService');
|
|
@@ -85,11 +69,12 @@ export interface ICoreService {
|
|
|
85
69
|
|
|
86
70
|
readonly modes: IModes;
|
|
87
71
|
readonly decPrivateModes: IDecPrivateModes;
|
|
72
|
+
readonly kittyKeyboard: IKittyKeyboardState;
|
|
88
73
|
|
|
89
|
-
readonly onData:
|
|
90
|
-
readonly onUserInput:
|
|
91
|
-
readonly onBinary:
|
|
92
|
-
readonly onRequestScrollToBottom:
|
|
74
|
+
readonly onData: IEvent<string>;
|
|
75
|
+
readonly onUserInput: IEvent<void>;
|
|
76
|
+
readonly onBinary: IEvent<string>;
|
|
77
|
+
readonly onRequestScrollToBottom: IEvent<void>;
|
|
93
78
|
|
|
94
79
|
reset(): void;
|
|
95
80
|
|
|
@@ -116,6 +101,7 @@ export interface ICharsetService {
|
|
|
116
101
|
|
|
117
102
|
charset: ICharset | undefined;
|
|
118
103
|
readonly glevel: number;
|
|
104
|
+
readonly charsets: (ICharset | undefined)[];
|
|
119
105
|
|
|
120
106
|
reset(): void;
|
|
121
107
|
|
|
@@ -199,7 +185,7 @@ export interface IOptionsService {
|
|
|
199
185
|
/**
|
|
200
186
|
* Adds an event listener for when any option changes.
|
|
201
187
|
*/
|
|
202
|
-
readonly onOptionChange:
|
|
188
|
+
readonly onOptionChange: IEvent<keyof ITerminalOptions>;
|
|
203
189
|
|
|
204
190
|
/**
|
|
205
191
|
* Adds an event listener for when a specific option changes, this is a convenience method that is
|
|
@@ -227,6 +213,7 @@ export interface ITerminalOptions {
|
|
|
227
213
|
cols?: number;
|
|
228
214
|
convertEol?: boolean;
|
|
229
215
|
cursorBlink?: boolean;
|
|
216
|
+
blinkIntervalDuration?: number;
|
|
230
217
|
cursorStyle?: CursorStyle;
|
|
231
218
|
cursorWidth?: number;
|
|
232
219
|
cursorInactiveStyle?: CursorInactiveStyle;
|
|
@@ -251,6 +238,7 @@ export interface ITerminalOptions {
|
|
|
251
238
|
rescaleOverlappingGlyphs?: boolean;
|
|
252
239
|
rightClickSelectsWord?: boolean;
|
|
253
240
|
rows?: number;
|
|
241
|
+
showCursorImmediately?: boolean;
|
|
254
242
|
screenReaderMode?: boolean;
|
|
255
243
|
scrollback?: number;
|
|
256
244
|
scrollOnUserInput?: boolean;
|
|
@@ -261,11 +249,12 @@ export interface ITerminalOptions {
|
|
|
261
249
|
windowsPty?: IWindowsPty;
|
|
262
250
|
windowOptions?: IWindowOptions;
|
|
263
251
|
wordSeparator?: string;
|
|
264
|
-
|
|
252
|
+
quirks?: ITerminalQuirks;
|
|
253
|
+
scrollbar?: IScrollbarOptions;
|
|
265
254
|
scrollOnEraseInDisplay?: boolean;
|
|
255
|
+
vtExtensions?: IVtExtensions;
|
|
266
256
|
|
|
267
257
|
[key: string]: any;
|
|
268
|
-
cancelEvents: boolean;
|
|
269
258
|
termName: string;
|
|
270
259
|
}
|
|
271
260
|
|
|
@@ -300,6 +289,24 @@ export interface ITheme {
|
|
|
300
289
|
extendedAnsi?: string[];
|
|
301
290
|
}
|
|
302
291
|
|
|
292
|
+
export interface ITerminalQuirks {
|
|
293
|
+
allowSetCursorBlink?: boolean;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
export interface IScrollbarOptions {
|
|
297
|
+
showScrollbar?: boolean;
|
|
298
|
+
showArrows?: boolean;
|
|
299
|
+
width?: number;
|
|
300
|
+
overviewRuler?: IOverviewRulerOptions;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
export interface IVtExtensions {
|
|
304
|
+
kittyKeyboard?: boolean;
|
|
305
|
+
kittySgrBoldFaintControl?: boolean;
|
|
306
|
+
win32InputMode?: boolean;
|
|
307
|
+
colorSchemeQuery?: boolean;
|
|
308
|
+
}
|
|
309
|
+
|
|
303
310
|
export const IOscLinkService = createDecorator<IOscLinkService>('OscLinkService');
|
|
304
311
|
export interface IOscLinkService {
|
|
305
312
|
serviceBrand: undefined;
|
|
@@ -349,7 +356,7 @@ export interface IUnicodeService {
|
|
|
349
356
|
/** Currently active version. */
|
|
350
357
|
activeVersion: string;
|
|
351
358
|
/** Event triggered, when activate version changed. */
|
|
352
|
-
readonly onChange:
|
|
359
|
+
readonly onChange: IEvent<string>;
|
|
353
360
|
|
|
354
361
|
/**
|
|
355
362
|
* Unicode version dependent
|
|
@@ -374,8 +381,8 @@ export const IDecorationService = createDecorator<IDecorationService>('Decoratio
|
|
|
374
381
|
export interface IDecorationService extends IDisposable {
|
|
375
382
|
serviceBrand: undefined;
|
|
376
383
|
readonly decorations: IterableIterator<IInternalDecoration>;
|
|
377
|
-
readonly onDecorationRegistered:
|
|
378
|
-
readonly onDecorationRemoved:
|
|
384
|
+
readonly onDecorationRegistered: IEvent<IInternalDecoration>;
|
|
385
|
+
readonly onDecorationRemoved: IEvent<IInternalDecoration>;
|
|
379
386
|
registerDecoration(decorationOptions: IDecorationOptions): IDecoration | undefined;
|
|
380
387
|
reset(): void;
|
|
381
388
|
/**
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
import { UnicodeV6 } from 'common/input/UnicodeV6';
|
|
7
7
|
import { IUnicodeService, IUnicodeVersionProvider, UnicodeCharProperties, UnicodeCharWidth } from 'common/services/Services';
|
|
8
|
-
import { Emitter } from '
|
|
8
|
+
import { Emitter } from 'common/Event';
|
|
9
9
|
|
|
10
10
|
export class UnicodeService implements IUnicodeService {
|
|
11
11
|
public serviceBrand: any;
|