@xterm/xterm 5.6.0-beta.7 → 5.6.0-beta.71
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 +6 -3
- package/css/xterm.css +71 -4
- package/lib/xterm.js +1 -1
- package/lib/xterm.js.map +1 -1
- package/lib/xterm.mjs +53 -0
- package/lib/xterm.mjs.map +7 -0
- package/package.json +43 -33
- package/src/browser/AccessibilityManager.ts +53 -25
- package/src/browser/{Terminal.ts → CoreBrowserTerminal.ts} +135 -146
- package/src/browser/Linkifier.ts +26 -14
- package/src/browser/LocalizableStrings.ts +15 -4
- package/src/browser/{Types.d.ts → Types.ts} +67 -15
- package/src/browser/Viewport.ts +143 -370
- package/src/browser/decorations/BufferDecorationRenderer.ts +14 -9
- package/src/browser/decorations/OverviewRulerRenderer.ts +40 -44
- package/src/browser/public/Terminal.ts +25 -19
- package/src/browser/renderer/dom/DomRenderer.ts +14 -16
- package/src/browser/renderer/shared/CharAtlasUtils.ts +4 -0
- package/src/browser/renderer/shared/CustomGlyphs.ts +6 -0
- package/src/browser/renderer/shared/DevicePixelObserver.ts +1 -2
- package/src/browser/renderer/shared/TextureAtlas.ts +3 -3
- package/src/browser/renderer/shared/{Types.d.ts → Types.ts} +4 -4
- package/src/browser/services/CharSizeService.ts +6 -6
- package/src/browser/services/CoreBrowserService.ts +15 -15
- package/src/browser/services/LinkProviderService.ts +2 -2
- package/src/browser/services/RenderService.ts +20 -20
- package/src/browser/services/SelectionService.ts +8 -8
- package/src/browser/services/Services.ts +13 -13
- package/src/browser/services/ThemeService.ts +18 -57
- package/src/browser/shared/Constants.ts +8 -0
- package/src/common/CircularList.ts +5 -5
- package/src/common/CoreTerminal.ts +35 -41
- package/src/common/InputHandler.ts +34 -28
- package/src/common/{Types.d.ts → Types.ts} +11 -17
- package/src/common/buffer/Buffer.ts +15 -7
- package/src/common/buffer/BufferReflow.ts +9 -6
- package/src/common/buffer/BufferSet.ts +5 -5
- package/src/common/buffer/Marker.ts +4 -4
- package/src/common/buffer/{Types.d.ts → Types.ts} +2 -2
- package/src/common/input/WriteBuffer.ts +3 -3
- package/src/common/parser/EscapeSequenceParser.ts +4 -4
- package/src/common/public/BufferNamespaceApi.ts +3 -3
- package/src/common/services/BufferService.ts +7 -7
- package/src/common/services/CoreMouseService.ts +5 -3
- package/src/common/services/CoreService.ts +6 -6
- package/src/common/services/DecorationService.ts +8 -9
- package/src/common/services/LogService.ts +2 -2
- package/src/common/services/OptionsService.ts +6 -5
- package/src/common/services/Services.ts +25 -17
- package/src/common/services/UnicodeService.ts +2 -2
- package/src/vs/base/browser/browser.ts +141 -0
- package/src/vs/base/browser/canIUse.ts +49 -0
- package/src/vs/base/browser/dom.ts +2369 -0
- package/src/vs/base/browser/fastDomNode.ts +316 -0
- package/src/vs/base/browser/globalPointerMoveMonitor.ts +112 -0
- package/src/vs/base/browser/iframe.ts +135 -0
- package/src/vs/base/browser/keyboardEvent.ts +213 -0
- package/src/vs/base/browser/mouseEvent.ts +229 -0
- package/src/vs/base/browser/touch.ts +372 -0
- package/src/vs/base/browser/ui/scrollbar/abstractScrollbar.ts +303 -0
- package/src/vs/base/browser/ui/scrollbar/horizontalScrollbar.ts +114 -0
- package/src/vs/base/browser/ui/scrollbar/scrollableElement.ts +720 -0
- package/src/vs/base/browser/ui/scrollbar/scrollableElementOptions.ts +165 -0
- package/src/vs/base/browser/ui/scrollbar/scrollbarArrow.ts +114 -0
- package/src/vs/base/browser/ui/scrollbar/scrollbarState.ts +243 -0
- package/src/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.ts +118 -0
- package/src/vs/base/browser/ui/scrollbar/verticalScrollbar.ts +116 -0
- package/src/vs/base/browser/ui/widget.ts +57 -0
- package/src/vs/base/browser/window.ts +14 -0
- package/src/vs/base/common/arrays.ts +887 -0
- package/src/vs/base/common/arraysFind.ts +202 -0
- package/src/vs/base/common/assert.ts +71 -0
- package/src/vs/base/common/async.ts +1992 -0
- package/src/vs/base/common/cancellation.ts +148 -0
- package/src/vs/base/common/charCode.ts +450 -0
- package/src/vs/base/common/collections.ts +140 -0
- package/src/vs/base/common/decorators.ts +130 -0
- package/src/vs/base/common/equals.ts +146 -0
- package/src/vs/base/common/errors.ts +303 -0
- package/src/vs/base/common/event.ts +1778 -0
- package/src/vs/base/common/functional.ts +32 -0
- package/src/vs/base/common/hash.ts +316 -0
- package/src/vs/base/common/iterator.ts +159 -0
- package/src/vs/base/common/keyCodes.ts +526 -0
- package/src/vs/base/common/keybindings.ts +284 -0
- package/src/vs/base/common/lazy.ts +47 -0
- package/src/vs/base/common/lifecycle.ts +801 -0
- package/src/vs/base/common/linkedList.ts +142 -0
- package/src/vs/base/common/map.ts +202 -0
- package/src/vs/base/common/numbers.ts +98 -0
- package/src/vs/base/common/observable.ts +76 -0
- package/src/vs/base/common/observableInternal/api.ts +31 -0
- package/src/vs/base/common/observableInternal/autorun.ts +281 -0
- package/src/vs/base/common/observableInternal/base.ts +489 -0
- package/src/vs/base/common/observableInternal/debugName.ts +145 -0
- package/src/vs/base/common/observableInternal/derived.ts +428 -0
- package/src/vs/base/common/observableInternal/lazyObservableValue.ts +146 -0
- package/src/vs/base/common/observableInternal/logging.ts +328 -0
- package/src/vs/base/common/observableInternal/promise.ts +209 -0
- package/src/vs/base/common/observableInternal/utils.ts +610 -0
- package/src/vs/base/common/platform.ts +281 -0
- package/src/vs/base/common/scrollable.ts +522 -0
- package/src/vs/base/common/sequence.ts +34 -0
- package/src/vs/base/common/stopwatch.ts +43 -0
- package/src/vs/base/common/strings.ts +557 -0
- package/src/vs/base/common/symbols.ts +9 -0
- package/src/vs/base/common/uint.ts +59 -0
- package/src/vs/patches/nls.ts +90 -0
- package/src/vs/typings/base-common.d.ts +20 -0
- package/src/vs/typings/require.d.ts +42 -0
- package/src/vs/typings/thenable.d.ts +12 -0
- package/src/vs/typings/vscode-globals-nls.d.ts +36 -0
- package/src/vs/typings/vscode-globals-product.d.ts +33 -0
- package/typings/xterm.d.ts +66 -15
- package/src/browser/Lifecycle.ts +0 -33
- package/src/common/EventEmitter.ts +0 -78
- package/src/common/Lifecycle.ts +0 -108
- /package/src/browser/selection/{Types.d.ts → Types.ts} +0 -0
- /package/src/common/parser/{Types.d.ts → Types.ts} +0 -0
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# [](https://xtermjs.org)
|
|
1
|
+
# [](https://xtermjs.org)
|
|
2
2
|
|
|
3
3
|
Xterm.js is a front-end component written in TypeScript that lets applications bring fully-featured terminals to their users in the browser. It's used by popular projects such as VS Code, Hyper and Theia.
|
|
4
4
|
|
|
@@ -77,7 +77,7 @@ terminal.loadAddon(new WebLinksAddon());
|
|
|
77
77
|
The xterm.js team maintains the following addons, but anyone can build them:
|
|
78
78
|
|
|
79
79
|
- [`@xterm/addon-attach`](https://github.com/xtermjs/xterm.js/tree/master/addons/addon-attach): Attaches to a server running a process via a websocket
|
|
80
|
-
- [`@xterm/addon-
|
|
80
|
+
- [`@xterm/addon-clipboard`](https://github.com/xtermjs/xterm.js/tree/master/addons/addon-clipboard): Access the browser's clipboard
|
|
81
81
|
- [`@xterm/addon-fit`](https://github.com/xtermjs/xterm.js/tree/master/addons/addon-fit): Fits the terminal to the containing element
|
|
82
82
|
- [`@xterm/addon-image`](https://github.com/xtermjs/xterm.js/tree/master/addons/addon-image): Adds image support
|
|
83
83
|
- [`@xterm/addon-search`](https://github.com/xtermjs/xterm.js/tree/master/addons/addon-search): Adds search functionality
|
|
@@ -128,7 +128,6 @@ Xterm.js is used in several world-class applications to provide great terminal e
|
|
|
128
128
|
- [**SourceLair**](https://www.sourcelair.com/): In-browser IDE that provides its users with fully-featured Linux terminals based on xterm.js.
|
|
129
129
|
- [**Microsoft Visual Studio Code**](http://code.visualstudio.com/): Modern, versatile, and powerful open source code editor that provides an integrated terminal based on xterm.js.
|
|
130
130
|
- [**ttyd**](https://github.com/tsl0922/ttyd): A command-line tool for sharing terminal over the web, with fully-featured terminal emulation based on xterm.js.
|
|
131
|
-
- [**Katacoda**](https://www.katacoda.com/): Katacoda is an Interactive Learning Platform for software developers, covering the latest Cloud Native technologies.
|
|
132
131
|
- [**Eclipse Che**](http://www.eclipse.org/che): Developer workspace server, cloud IDE, and Eclipse next-generation IDE.
|
|
133
132
|
- [**Codenvy**](http://www.codenvy.com): Cloud workspaces for development teams.
|
|
134
133
|
- [**CoderPad**](https://coderpad.io): Online interviewing platform for programmers. Run code in many programming languages, with results displayed by xterm.js.
|
|
@@ -223,6 +222,10 @@ Xterm.js is used in several world-class applications to provide great terminal e
|
|
|
223
222
|
- [**Helix Editor Playground**](https://github.com/tomgroenwoldt/helix-editor-playground): Online playground for the terminal based helix editor.
|
|
224
223
|
- [**Coder**](https://github.com/coder/coder): Self-Hosted Remote Development Environments
|
|
225
224
|
- [**Wave Terminal**](https://waveterm.dev): An open-source, ai-native, terminal built for seamless workflows.
|
|
225
|
+
- [**eva**](https://github.com/info24/eva): Eva is a web application for SSH remote login, developed in Go.
|
|
226
|
+
- [**OpenSFTP**](https://opensftp.com): Super beautiful SSH and SFTP integrated workspace client.
|
|
227
|
+
- [**balena**](https://www.balena.io/): Balena is a full-stack solution for developing, deploying, updating, and troubleshooting IoT Edge devices. We use xterm.js to manage & debug devices on [balenaCloud](https://www.balena.io/cloud).
|
|
228
|
+
- [**Filet Cloud**](https://github.com/fuglaro/filet-cloud): The lean and powerful personal cloud ⛅.
|
|
226
229
|
- [And much more...](https://github.com/xtermjs/xterm.js/network/dependents?package_id=UGFja2FnZS0xNjYzMjc4OQ%3D%3D)
|
|
227
230
|
|
|
228
231
|
Do you use xterm.js in your application as well? Please [open a Pull Request](https://github.com/sourcelair/xterm.js/pulls) to include it here. We would love to have it on our list. Note: Please add any new contributions to the end of the list only.
|
package/css/xterm.css
CHANGED
|
@@ -112,10 +112,6 @@
|
|
|
112
112
|
top: 0;
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
-
.xterm .xterm-scroll-area {
|
|
116
|
-
visibility: hidden;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
115
|
.xterm-char-measure-element {
|
|
120
116
|
display: inline-block;
|
|
121
117
|
visibility: hidden;
|
|
@@ -157,10 +153,16 @@
|
|
|
157
153
|
}
|
|
158
154
|
|
|
159
155
|
.xterm .xterm-accessibility-tree {
|
|
156
|
+
font-family: monospace;
|
|
160
157
|
user-select: text;
|
|
161
158
|
white-space: pre;
|
|
162
159
|
}
|
|
163
160
|
|
|
161
|
+
.xterm .xterm-accessibility-tree > div {
|
|
162
|
+
transform-origin: left;
|
|
163
|
+
width: fit-content;
|
|
164
|
+
}
|
|
165
|
+
|
|
164
166
|
.xterm .live-region {
|
|
165
167
|
position: absolute;
|
|
166
168
|
left: -9999px;
|
|
@@ -216,3 +218,68 @@
|
|
|
216
218
|
z-index: 2;
|
|
217
219
|
position: relative;
|
|
218
220
|
}
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
/* Derived from vs/base/browser/ui/scrollbar/media/scrollbar.css */
|
|
225
|
+
|
|
226
|
+
/* xterm.js customization: Override xterm's cursor style */
|
|
227
|
+
.xterm .xterm-scrollable-element > .scrollbar {
|
|
228
|
+
cursor: default;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
/* Arrows */
|
|
232
|
+
.xterm .xterm-scrollable-element > .scrollbar > .scra {
|
|
233
|
+
cursor: pointer;
|
|
234
|
+
font-size: 11px !important;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
.xterm .xterm-scrollable-element > .visible {
|
|
238
|
+
opacity: 1;
|
|
239
|
+
|
|
240
|
+
/* Background rule added for IE9 - to allow clicks on dom node */
|
|
241
|
+
background:rgba(0,0,0,0);
|
|
242
|
+
|
|
243
|
+
transition: opacity 100ms linear;
|
|
244
|
+
/* In front of peek view */
|
|
245
|
+
z-index: 11;
|
|
246
|
+
}
|
|
247
|
+
.xterm .xterm-scrollable-element > .invisible {
|
|
248
|
+
opacity: 0;
|
|
249
|
+
pointer-events: none;
|
|
250
|
+
}
|
|
251
|
+
.xterm .xterm-scrollable-element > .invisible.fade {
|
|
252
|
+
transition: opacity 800ms linear;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
/* Scrollable Content Inset Shadow */
|
|
256
|
+
.xterm .xterm-scrollable-element > .shadow {
|
|
257
|
+
position: absolute;
|
|
258
|
+
display: none;
|
|
259
|
+
}
|
|
260
|
+
.xterm .xterm-scrollable-element > .shadow.top {
|
|
261
|
+
display: block;
|
|
262
|
+
top: 0;
|
|
263
|
+
left: 3px;
|
|
264
|
+
height: 3px;
|
|
265
|
+
width: 100%;
|
|
266
|
+
box-shadow: var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset;
|
|
267
|
+
}
|
|
268
|
+
.xterm .xterm-scrollable-element > .shadow.left {
|
|
269
|
+
display: block;
|
|
270
|
+
top: 3px;
|
|
271
|
+
left: 0;
|
|
272
|
+
height: 100%;
|
|
273
|
+
width: 3px;
|
|
274
|
+
box-shadow: var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset;
|
|
275
|
+
}
|
|
276
|
+
.xterm .xterm-scrollable-element > .shadow.top-left-corner {
|
|
277
|
+
display: block;
|
|
278
|
+
top: 0;
|
|
279
|
+
left: 0;
|
|
280
|
+
height: 3px;
|
|
281
|
+
width: 3px;
|
|
282
|
+
}
|
|
283
|
+
.xterm .xterm-scrollable-element > .shadow.top.left {
|
|
284
|
+
box-shadow: var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset;
|
|
285
|
+
}
|