@xterm/xterm 6.1.0-beta.2 → 6.1.0-beta.200
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 +60 -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 +36 -24
- package/src/browser/AccessibilityManager.ts +6 -3
- 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 +4 -2
- 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 +205 -41
- 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 +579 -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 -16
- package/src/browser/services/SelectionService.ts +16 -8
- 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 +29 -21
- package/src/common/Event.ts +118 -0
- package/src/common/InputHandler.ts +256 -36
- 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 +36 -16
- package/src/common/Version.ts +9 -0
- package/src/common/buffer/Buffer.ts +22 -16
- package/src/common/buffer/BufferLine.ts +4 -5
- package/src/common/buffer/BufferSet.ts +7 -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/Charsets.ts +1 -1
- package/src/common/data/EscapeSequences.ts +71 -70
- package/src/common/input/Keyboard.ts +14 -7
- package/src/common/input/KittyKeyboard.ts +519 -0
- package/src/common/input/Win32InputMode.ts +297 -0
- package/src/common/input/WriteBuffer.ts +34 -2
- package/src/common/input/XParseColor.ts +2 -2
- package/src/common/parser/ApcParser.ts +245 -0
- package/src/common/parser/Constants.ts +22 -4
- package/src/common/parser/DcsParser.ts +5 -5
- package/src/common/parser/EscapeSequenceParser.ts +155 -43
- package/src/common/parser/OscParser.ts +5 -5
- package/src/common/parser/Types.ts +34 -1
- 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 +8 -5
- 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 -7
- package/src/common/services/Services.ts +47 -44
- package/src/common/services/UnicodeService.ts +1 -1
- package/typings/xterm.d.ts +320 -45
- 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
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xterm/xterm",
|
|
3
3
|
"description": "Full xterm terminal, in your browser",
|
|
4
|
-
"version": "6.1.0-beta.
|
|
4
|
+
"version": "6.1.0-beta.200",
|
|
5
5
|
"main": "lib/xterm.js",
|
|
6
6
|
"module": "lib/xterm.mjs",
|
|
7
7
|
"style": "css/xterm.css",
|
|
@@ -27,29 +27,37 @@
|
|
|
27
27
|
"xterm"
|
|
28
28
|
],
|
|
29
29
|
"scripts": {
|
|
30
|
-
"
|
|
30
|
+
"presetup": "npm run build",
|
|
31
|
+
"setup": "npm run esbuild",
|
|
32
|
+
"postsetup": "npm run esbuild-demo-server",
|
|
31
33
|
"start": "node demo/start",
|
|
34
|
+
"dev": "concurrently -k -p [{name}] -n tsc,esbuild,esbuild-demo-client,esbuild-demo-server,server -c blue,yellow,cyan,green,magenta \"npm:tsc-watch\" \"npm:esbuild-watch\" \"npm:esbuild-demo-client-watch\" \"npm:esbuild-demo-server-watch\" \"npm:start\"",
|
|
32
35
|
"build": "npm run tsc",
|
|
33
36
|
"watch": "npm run tsc-watch",
|
|
34
|
-
"tsc": "
|
|
35
|
-
"tsc-watch": "
|
|
37
|
+
"tsc": "tsgo -b ./tsconfig.all.json",
|
|
38
|
+
"tsc-watch": "tsgo -b -w ./tsconfig.all.json --preserveWatchOutput",
|
|
36
39
|
"esbuild": "node bin/esbuild_all.mjs",
|
|
37
40
|
"esbuild-watch": "node bin/esbuild_all.mjs --watch",
|
|
38
41
|
"esbuild-package": "node bin/esbuild_all.mjs --prod",
|
|
39
42
|
"esbuild-package-watch": "node bin/esbuild_all.mjs --prod --watch",
|
|
40
43
|
"esbuild-package-headless-only": "node bin/esbuild.mjs --prod --headless",
|
|
41
|
-
"esbuild-demo": "node bin/esbuild.mjs --demo-client",
|
|
42
|
-
"esbuild-demo-watch": "node bin/esbuild.mjs --demo-client --watch",
|
|
44
|
+
"esbuild-demo-client": "node bin/esbuild.mjs --demo-client",
|
|
45
|
+
"esbuild-demo-client-watch": "node bin/esbuild.mjs --demo-client --watch",
|
|
46
|
+
"esbuild-demo-server": "node bin/esbuild.mjs --demo-server",
|
|
47
|
+
"esbuild-demo-server-watch": "node bin/esbuild.mjs --demo-server --watch",
|
|
43
48
|
"test": "npm run test-unit",
|
|
44
49
|
"posttest": "npm run lint",
|
|
45
|
-
"lint": "eslint
|
|
46
|
-
"lint-
|
|
47
|
-
"lint-
|
|
50
|
+
"lint": "eslint --max-warnings 0 src/ addons/ demo/ test/",
|
|
51
|
+
"lint-changes": "node ./bin/lint_changes.js",
|
|
52
|
+
"lint-changes-fix": "node ./bin/lint_changes.js --fix",
|
|
53
|
+
"lint-fix": "eslint --fix src/ addons/ demo/ test/",
|
|
54
|
+
"lint-api": "eslint --config eslint.config.typings.mjs --max-warnings 0 typings/",
|
|
48
55
|
"test-unit": "node ./bin/test_unit.js",
|
|
56
|
+
"test-unit-slow-tests": "npm run test-unit | grep \"ms)\"",
|
|
49
57
|
"test-unit-coverage": "node ./bin/test_unit.js --coverage",
|
|
50
58
|
"test-unit-dev": "cross-env NODE_PATH='./out' mocha",
|
|
51
59
|
"test-integration": "node ./bin/test_integration.js --workers=75%",
|
|
52
|
-
"test-integration-chromium": "node ./bin/test_integration.js --workers=75% \"--project=
|
|
60
|
+
"test-integration-chromium": "node ./bin/test_integration.js --workers=75% \"--project=Chromium\"",
|
|
53
61
|
"test-integration-firefox": "node ./bin/test_integration.js --workers=75% \"--project=FirefoxStable\"",
|
|
54
62
|
"test-integration-webkit": "node ./bin/test_integration.js --workers=75% \"--project=WebKit\"",
|
|
55
63
|
"test-integration-debug": "node ./bin/test_integration.js --workers=1 --headed --timeout=30000",
|
|
@@ -64,48 +72,52 @@
|
|
|
64
72
|
"prepackage-headless": "npm run esbuild-package-headless-only",
|
|
65
73
|
"package-headless": "webpack --config ./webpack.config.headless.js",
|
|
66
74
|
"postpackage-headless": "node ./bin/package_headless.js",
|
|
67
|
-
"prepublishOnly": "npm run package"
|
|
75
|
+
"prepublishOnly": "npm run package",
|
|
76
|
+
"agent:setup-repo": "node bin/agent/setup-repo.mjs"
|
|
68
77
|
},
|
|
69
78
|
"devDependencies": {
|
|
70
79
|
"@lunapaint/png-codec": "^0.2.0",
|
|
71
|
-
"@playwright/test": "^1.
|
|
72
|
-
"@stylistic/eslint-plugin": "^
|
|
80
|
+
"@playwright/test": "^1.57.0",
|
|
81
|
+
"@stylistic/eslint-plugin": "^4.4.1",
|
|
73
82
|
"@types/chai": "^4.2.22",
|
|
74
83
|
"@types/debug": "^4.1.7",
|
|
75
84
|
"@types/deep-equal": "^1.0.1",
|
|
76
85
|
"@types/express": "4",
|
|
77
86
|
"@types/express-ws": "^3.0.1",
|
|
78
|
-
"@types/jsdom": "^
|
|
87
|
+
"@types/jsdom": "^27.0.0",
|
|
79
88
|
"@types/mocha": "^9.0.0",
|
|
80
|
-
"@types/node": "^
|
|
89
|
+
"@types/node": "^22.19.3",
|
|
81
90
|
"@types/trusted-types": "^1.0.6",
|
|
82
91
|
"@types/utf8": "^3.0.0",
|
|
83
92
|
"@types/webpack": "^5.28.0",
|
|
84
93
|
"@types/ws": "^8.2.0",
|
|
85
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
86
|
-
"@typescript-eslint/parser": "^
|
|
94
|
+
"@typescript-eslint/eslint-plugin": "^8.50.1",
|
|
95
|
+
"@typescript-eslint/parser": "^8.50.1",
|
|
96
|
+
"@typescript/native-preview": "^7.0.0-dev.20260213.1",
|
|
87
97
|
"chai": "^4.3.4",
|
|
98
|
+
"concurrently": "^9.1.2",
|
|
88
99
|
"cross-env": "^7.0.3",
|
|
89
100
|
"deep-equal": "^2.0.5",
|
|
90
101
|
"esbuild": "~0.25.2",
|
|
91
|
-
"eslint": "^
|
|
92
|
-
"eslint-plugin-jsdoc": "^
|
|
102
|
+
"eslint": "^9.39.2",
|
|
103
|
+
"eslint-plugin-jsdoc": "^50.8.0",
|
|
93
104
|
"express": "^4.19.2",
|
|
94
105
|
"express-ws": "^5.0.2",
|
|
95
|
-
"jsdom": "^
|
|
106
|
+
"jsdom": "^27.3.0",
|
|
96
107
|
"mocha": "^10.1.0",
|
|
97
108
|
"mustache": "^4.2.0",
|
|
98
|
-
"node-pty": "1.
|
|
99
|
-
"nyc": "^
|
|
109
|
+
"node-pty": "^1.2.0-beta.9",
|
|
110
|
+
"nyc": "^17.1.0",
|
|
100
111
|
"source-map-loader": "^3.0.0",
|
|
101
112
|
"source-map-support": "^0.5.20",
|
|
102
113
|
"ts-loader": "^9.3.1",
|
|
103
|
-
"typescript": "5.
|
|
114
|
+
"typescript": "^5.9.3",
|
|
115
|
+
"typescript-eslint": "^8.50.1",
|
|
104
116
|
"utf8": "^3.0.0",
|
|
105
117
|
"webpack": "^5.61.0",
|
|
106
118
|
"webpack-cli": "^4.9.1",
|
|
107
119
|
"ws": "^8.2.3",
|
|
108
120
|
"xterm-benchmark": "^0.3.1"
|
|
109
121
|
},
|
|
110
|
-
"commit": "
|
|
122
|
+
"commit": "32553b413592d236a386b905e8331444df1f0364"
|
|
111
123
|
}
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
import * as Strings from 'browser/LocalizableStrings';
|
|
7
7
|
import { ITerminal, IRenderDebouncer } from 'browser/Types';
|
|
8
8
|
import { TimeBasedDebouncer } from 'browser/TimeBasedDebouncer';
|
|
9
|
-
import { Disposable, toDisposable } from '
|
|
9
|
+
import { Disposable, toDisposable } from 'common/Lifecycle';
|
|
10
10
|
import { ICoreBrowserService, IRenderService } from 'browser/services/Services';
|
|
11
11
|
import { IBuffer } from 'common/buffer/Types';
|
|
12
12
|
import { IInstantiationService } from 'common/services/Services';
|
|
13
|
-
import { addDisposableListener } from '
|
|
13
|
+
import { addDisposableListener } from 'browser/Dom';
|
|
14
14
|
|
|
15
15
|
const MAX_ROWS_TO_READ = 20;
|
|
16
16
|
|
|
@@ -151,7 +151,7 @@ export class AccessibilityManager extends Disposable {
|
|
|
151
151
|
if (char === '\n') {
|
|
152
152
|
this._liveRegionLineCount++;
|
|
153
153
|
if (this._liveRegionLineCount === MAX_ROWS_TO_READ + 1) {
|
|
154
|
-
this._liveRegion.textContent
|
|
154
|
+
this._liveRegion.textContent = Strings.tooMuchOutput.get();
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
157
|
}
|
|
@@ -203,6 +203,9 @@ export class AccessibilityManager extends Disposable {
|
|
|
203
203
|
if (this._charsToAnnounce.length === 0) {
|
|
204
204
|
return;
|
|
205
205
|
}
|
|
206
|
+
if (this._liveRegion.textContent === Strings.tooMuchOutput.get()) {
|
|
207
|
+
this._clearLiveRegion();
|
|
208
|
+
}
|
|
206
209
|
this._liveRegion.textContent += this._charsToAnnounce;
|
|
207
210
|
this._charsToAnnounce = '';
|
|
208
211
|
}
|
package/src/browser/Clipboard.ts
CHANGED
|
@@ -19,10 +19,13 @@ export function prepareTextForTerminal(text: string): string {
|
|
|
19
19
|
* @param text The pasted text to bracket
|
|
20
20
|
*/
|
|
21
21
|
export function bracketTextForPaste(text: string, bracketedPasteMode: boolean): string {
|
|
22
|
-
if (bracketedPasteMode) {
|
|
23
|
-
return
|
|
22
|
+
if (!bracketedPasteMode) {
|
|
23
|
+
return text;
|
|
24
24
|
}
|
|
25
|
-
|
|
25
|
+
// Sanitize pasted text to prevent injected escape sequences (e.g. exiting bracketed paste)
|
|
26
|
+
// by replacing ESC (\x1b) with its visible representation U+241B (␛).
|
|
27
|
+
const sanitizedText = text.replace(/\x1b/g, '\u241b');
|
|
28
|
+
return `\x1b[200~${sanitizedText}\x1b[201~`;
|
|
26
29
|
}
|
|
27
30
|
|
|
28
31
|
/**
|