@xterm/xterm 5.6.0-beta.43 → 5.6.0-beta.44

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 (82) hide show
  1. package/css/xterm.css +65 -4
  2. package/lib/xterm.js +1 -1
  3. package/lib/xterm.js.map +1 -1
  4. package/lib/xterm.mjs +34 -7
  5. package/lib/xterm.mjs.map +4 -4
  6. package/package.json +2 -2
  7. package/src/browser/CoreBrowserTerminal.ts +53 -68
  8. package/src/browser/Types.ts +4 -1
  9. package/src/browser/Viewport.ts +142 -370
  10. package/src/browser/decorations/OverviewRulerRenderer.ts +25 -35
  11. package/src/browser/renderer/shared/CharAtlasUtils.ts +4 -0
  12. package/src/browser/services/ThemeService.ts +10 -1
  13. package/src/browser/shared/Constants.ts +8 -0
  14. package/src/common/CoreTerminal.ts +7 -13
  15. package/src/common/Types.ts +0 -6
  16. package/src/common/services/BufferService.ts +2 -2
  17. package/src/common/services/CoreMouseService.ts +2 -0
  18. package/src/common/services/Services.ts +10 -3
  19. package/src/vs/base/browser/browser.ts +141 -0
  20. package/src/vs/base/browser/canIUse.ts +49 -0
  21. package/src/vs/base/browser/dom.ts +2369 -0
  22. package/src/vs/base/browser/fastDomNode.ts +316 -0
  23. package/src/vs/base/browser/globalPointerMoveMonitor.ts +112 -0
  24. package/src/vs/base/browser/iframe.ts +135 -0
  25. package/src/vs/base/browser/keyboardEvent.ts +213 -0
  26. package/src/vs/base/browser/mouseEvent.ts +229 -0
  27. package/src/vs/base/browser/touch.ts +372 -0
  28. package/src/vs/base/browser/ui/scrollbar/abstractScrollbar.ts +303 -0
  29. package/src/vs/base/browser/ui/scrollbar/horizontalScrollbar.ts +114 -0
  30. package/src/vs/base/browser/ui/scrollbar/scrollableElement.ts +718 -0
  31. package/src/vs/base/browser/ui/scrollbar/scrollableElementOptions.ts +165 -0
  32. package/src/vs/base/browser/ui/scrollbar/scrollbarArrow.ts +114 -0
  33. package/src/vs/base/browser/ui/scrollbar/scrollbarState.ts +243 -0
  34. package/src/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.ts +118 -0
  35. package/src/vs/base/browser/ui/scrollbar/verticalScrollbar.ts +116 -0
  36. package/src/vs/base/browser/ui/widget.ts +57 -0
  37. package/src/vs/base/browser/window.ts +14 -0
  38. package/src/vs/base/common/arrays.ts +887 -0
  39. package/src/vs/base/common/arraysFind.ts +202 -0
  40. package/src/vs/base/common/assert.ts +71 -0
  41. package/src/vs/base/common/async.ts +1992 -0
  42. package/src/vs/base/common/cancellation.ts +148 -0
  43. package/src/vs/base/common/charCode.ts +450 -0
  44. package/src/vs/base/common/collections.ts +140 -0
  45. package/src/vs/base/common/decorators.ts +130 -0
  46. package/src/vs/base/common/equals.ts +146 -0
  47. package/src/vs/base/common/errors.ts +303 -0
  48. package/src/vs/base/common/event.ts +1762 -0
  49. package/src/vs/base/common/functional.ts +32 -0
  50. package/src/vs/base/common/hash.ts +316 -0
  51. package/src/vs/base/common/iterator.ts +159 -0
  52. package/src/vs/base/common/keyCodes.ts +526 -0
  53. package/src/vs/base/common/keybindings.ts +284 -0
  54. package/src/vs/base/common/lazy.ts +47 -0
  55. package/src/vs/base/common/lifecycle.ts +801 -0
  56. package/src/vs/base/common/linkedList.ts +142 -0
  57. package/src/vs/base/common/map.ts +202 -0
  58. package/src/vs/base/common/numbers.ts +98 -0
  59. package/src/vs/base/common/observable.ts +76 -0
  60. package/src/vs/base/common/observableInternal/api.ts +31 -0
  61. package/src/vs/base/common/observableInternal/autorun.ts +281 -0
  62. package/src/vs/base/common/observableInternal/base.ts +489 -0
  63. package/src/vs/base/common/observableInternal/debugName.ts +145 -0
  64. package/src/vs/base/common/observableInternal/derived.ts +428 -0
  65. package/src/vs/base/common/observableInternal/lazyObservableValue.ts +146 -0
  66. package/src/vs/base/common/observableInternal/logging.ts +328 -0
  67. package/src/vs/base/common/observableInternal/promise.ts +209 -0
  68. package/src/vs/base/common/observableInternal/utils.ts +610 -0
  69. package/src/vs/base/common/platform.ts +281 -0
  70. package/src/vs/base/common/scrollable.ts +522 -0
  71. package/src/vs/base/common/sequence.ts +34 -0
  72. package/src/vs/base/common/stopwatch.ts +43 -0
  73. package/src/vs/base/common/strings.ts +557 -0
  74. package/src/vs/base/common/symbols.ts +9 -0
  75. package/src/vs/base/common/uint.ts +59 -0
  76. package/src/vs/patches/nls.ts +90 -0
  77. package/src/vs/typings/base-common.d.ts +20 -0
  78. package/src/vs/typings/require.d.ts +42 -0
  79. package/src/vs/typings/thenable.d.ts +12 -0
  80. package/src/vs/typings/vscode-globals-nls.d.ts +36 -0
  81. package/src/vs/typings/vscode-globals-product.d.ts +33 -0
  82. package/typings/xterm.d.ts +25 -1
@@ -0,0 +1,114 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
6
+ import { AbstractScrollbar, ISimplifiedPointerEvent, ScrollbarHost } from 'vs/base/browser/ui/scrollbar/abstractScrollbar';
7
+ import { ScrollableElementResolvedOptions } from 'vs/base/browser/ui/scrollbar/scrollableElementOptions';
8
+ import { ScrollbarState } from 'vs/base/browser/ui/scrollbar/scrollbarState';
9
+ import { INewScrollPosition, Scrollable, ScrollbarVisibility, ScrollEvent } from 'vs/base/common/scrollable';
10
+
11
+
12
+
13
+
14
+ export class HorizontalScrollbar extends AbstractScrollbar {
15
+
16
+ constructor(scrollable: Scrollable, options: ScrollableElementResolvedOptions, host: ScrollbarHost) {
17
+ const scrollDimensions = scrollable.getScrollDimensions();
18
+ const scrollPosition = scrollable.getCurrentScrollPosition();
19
+ super({
20
+ lazyRender: options.lazyRender,
21
+ host: host,
22
+ scrollbarState: new ScrollbarState(
23
+ (options.horizontalHasArrows ? options.arrowSize : 0),
24
+ (options.horizontal === ScrollbarVisibility.Hidden ? 0 : options.horizontalScrollbarSize),
25
+ (options.vertical === ScrollbarVisibility.Hidden ? 0 : options.verticalScrollbarSize),
26
+ scrollDimensions.width,
27
+ scrollDimensions.scrollWidth,
28
+ scrollPosition.scrollLeft
29
+ ),
30
+ visibility: options.horizontal,
31
+ extraScrollbarClassName: 'horizontal',
32
+ scrollable: scrollable,
33
+ scrollByPage: options.scrollByPage
34
+ });
35
+
36
+ if (options.horizontalHasArrows) {
37
+ throw new Error('horizontalHasArrows is not supported in xterm.js');
38
+ // const arrowDelta = (options.arrowSize - ARROW_IMG_SIZE) / 2;
39
+ // const scrollbarDelta = (options.horizontalScrollbarSize - ARROW_IMG_SIZE) / 2;
40
+
41
+ // this._createArrow({
42
+ // className: 'scra',
43
+ // icon: Codicon.scrollbarButtonLeft,
44
+ // top: scrollbarDelta,
45
+ // left: arrowDelta,
46
+ // bottom: undefined,
47
+ // right: undefined,
48
+ // bgWidth: options.arrowSize,
49
+ // bgHeight: options.horizontalScrollbarSize,
50
+ // onActivate: () => this._host.onMouseWheel(new StandardWheelEvent(null, 1, 0)),
51
+ // });
52
+
53
+ // this._createArrow({
54
+ // className: 'scra',
55
+ // icon: Codicon.scrollbarButtonRight,
56
+ // top: scrollbarDelta,
57
+ // left: undefined,
58
+ // bottom: undefined,
59
+ // right: arrowDelta,
60
+ // bgWidth: options.arrowSize,
61
+ // bgHeight: options.horizontalScrollbarSize,
62
+ // onActivate: () => this._host.onMouseWheel(new StandardWheelEvent(null, -1, 0)),
63
+ // });
64
+ }
65
+
66
+ this._createSlider(Math.floor((options.horizontalScrollbarSize - options.horizontalSliderSize) / 2), 0, undefined, options.horizontalSliderSize);
67
+ }
68
+
69
+ protected _updateSlider(sliderSize: number, sliderPosition: number): void {
70
+ this.slider.setWidth(sliderSize);
71
+ this.slider.setLeft(sliderPosition);
72
+ }
73
+
74
+ protected _renderDomNode(largeSize: number, smallSize: number): void {
75
+ this.domNode.setWidth(largeSize);
76
+ this.domNode.setHeight(smallSize);
77
+ this.domNode.setLeft(0);
78
+ this.domNode.setBottom(0);
79
+ }
80
+
81
+ public onDidScroll(e: ScrollEvent): boolean {
82
+ this._shouldRender = this._onElementScrollSize(e.scrollWidth) || this._shouldRender;
83
+ this._shouldRender = this._onElementScrollPosition(e.scrollLeft) || this._shouldRender;
84
+ this._shouldRender = this._onElementSize(e.width) || this._shouldRender;
85
+ return this._shouldRender;
86
+ }
87
+
88
+ protected _pointerDownRelativePosition(offsetX: number, offsetY: number): number {
89
+ return offsetX;
90
+ }
91
+
92
+ protected _sliderPointerPosition(e: ISimplifiedPointerEvent): number {
93
+ return e.pageX;
94
+ }
95
+
96
+ protected _sliderOrthogonalPointerPosition(e: ISimplifiedPointerEvent): number {
97
+ return e.pageY;
98
+ }
99
+
100
+ protected _updateScrollbarSize(size: number): void {
101
+ this.slider.setHeight(size);
102
+ }
103
+
104
+ public writeScrollPosition(target: INewScrollPosition, scrollPosition: number): void {
105
+ target.scrollLeft = scrollPosition;
106
+ }
107
+
108
+ public updateOptions(options: ScrollableElementResolvedOptions): void {
109
+ this.updateScrollbarSize(options.horizontal === ScrollbarVisibility.Hidden ? 0 : options.horizontalScrollbarSize);
110
+ this._scrollbarState.setOppositeScrollbarSize(options.vertical === ScrollbarVisibility.Hidden ? 0 : options.verticalScrollbarSize);
111
+ this._visibilityController.setVisibility(options.horizontal);
112
+ this._scrollByPage = options.scrollByPage;
113
+ }
114
+ }