@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.
Files changed (119) hide show
  1. package/README.md +6 -3
  2. package/css/xterm.css +71 -4
  3. package/lib/xterm.js +1 -1
  4. package/lib/xterm.js.map +1 -1
  5. package/lib/xterm.mjs +53 -0
  6. package/lib/xterm.mjs.map +7 -0
  7. package/package.json +43 -33
  8. package/src/browser/AccessibilityManager.ts +53 -25
  9. package/src/browser/{Terminal.ts → CoreBrowserTerminal.ts} +135 -146
  10. package/src/browser/Linkifier.ts +26 -14
  11. package/src/browser/LocalizableStrings.ts +15 -4
  12. package/src/browser/{Types.d.ts → Types.ts} +67 -15
  13. package/src/browser/Viewport.ts +143 -370
  14. package/src/browser/decorations/BufferDecorationRenderer.ts +14 -9
  15. package/src/browser/decorations/OverviewRulerRenderer.ts +40 -44
  16. package/src/browser/public/Terminal.ts +25 -19
  17. package/src/browser/renderer/dom/DomRenderer.ts +14 -16
  18. package/src/browser/renderer/shared/CharAtlasUtils.ts +4 -0
  19. package/src/browser/renderer/shared/CustomGlyphs.ts +6 -0
  20. package/src/browser/renderer/shared/DevicePixelObserver.ts +1 -2
  21. package/src/browser/renderer/shared/TextureAtlas.ts +3 -3
  22. package/src/browser/renderer/shared/{Types.d.ts → Types.ts} +4 -4
  23. package/src/browser/services/CharSizeService.ts +6 -6
  24. package/src/browser/services/CoreBrowserService.ts +15 -15
  25. package/src/browser/services/LinkProviderService.ts +2 -2
  26. package/src/browser/services/RenderService.ts +20 -20
  27. package/src/browser/services/SelectionService.ts +8 -8
  28. package/src/browser/services/Services.ts +13 -13
  29. package/src/browser/services/ThemeService.ts +18 -57
  30. package/src/browser/shared/Constants.ts +8 -0
  31. package/src/common/CircularList.ts +5 -5
  32. package/src/common/CoreTerminal.ts +35 -41
  33. package/src/common/InputHandler.ts +34 -28
  34. package/src/common/{Types.d.ts → Types.ts} +11 -17
  35. package/src/common/buffer/Buffer.ts +15 -7
  36. package/src/common/buffer/BufferReflow.ts +9 -6
  37. package/src/common/buffer/BufferSet.ts +5 -5
  38. package/src/common/buffer/Marker.ts +4 -4
  39. package/src/common/buffer/{Types.d.ts → Types.ts} +2 -2
  40. package/src/common/input/WriteBuffer.ts +3 -3
  41. package/src/common/parser/EscapeSequenceParser.ts +4 -4
  42. package/src/common/public/BufferNamespaceApi.ts +3 -3
  43. package/src/common/services/BufferService.ts +7 -7
  44. package/src/common/services/CoreMouseService.ts +5 -3
  45. package/src/common/services/CoreService.ts +6 -6
  46. package/src/common/services/DecorationService.ts +8 -9
  47. package/src/common/services/LogService.ts +2 -2
  48. package/src/common/services/OptionsService.ts +6 -5
  49. package/src/common/services/Services.ts +25 -17
  50. package/src/common/services/UnicodeService.ts +2 -2
  51. package/src/vs/base/browser/browser.ts +141 -0
  52. package/src/vs/base/browser/canIUse.ts +49 -0
  53. package/src/vs/base/browser/dom.ts +2369 -0
  54. package/src/vs/base/browser/fastDomNode.ts +316 -0
  55. package/src/vs/base/browser/globalPointerMoveMonitor.ts +112 -0
  56. package/src/vs/base/browser/iframe.ts +135 -0
  57. package/src/vs/base/browser/keyboardEvent.ts +213 -0
  58. package/src/vs/base/browser/mouseEvent.ts +229 -0
  59. package/src/vs/base/browser/touch.ts +372 -0
  60. package/src/vs/base/browser/ui/scrollbar/abstractScrollbar.ts +303 -0
  61. package/src/vs/base/browser/ui/scrollbar/horizontalScrollbar.ts +114 -0
  62. package/src/vs/base/browser/ui/scrollbar/scrollableElement.ts +720 -0
  63. package/src/vs/base/browser/ui/scrollbar/scrollableElementOptions.ts +165 -0
  64. package/src/vs/base/browser/ui/scrollbar/scrollbarArrow.ts +114 -0
  65. package/src/vs/base/browser/ui/scrollbar/scrollbarState.ts +243 -0
  66. package/src/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.ts +118 -0
  67. package/src/vs/base/browser/ui/scrollbar/verticalScrollbar.ts +116 -0
  68. package/src/vs/base/browser/ui/widget.ts +57 -0
  69. package/src/vs/base/browser/window.ts +14 -0
  70. package/src/vs/base/common/arrays.ts +887 -0
  71. package/src/vs/base/common/arraysFind.ts +202 -0
  72. package/src/vs/base/common/assert.ts +71 -0
  73. package/src/vs/base/common/async.ts +1992 -0
  74. package/src/vs/base/common/cancellation.ts +148 -0
  75. package/src/vs/base/common/charCode.ts +450 -0
  76. package/src/vs/base/common/collections.ts +140 -0
  77. package/src/vs/base/common/decorators.ts +130 -0
  78. package/src/vs/base/common/equals.ts +146 -0
  79. package/src/vs/base/common/errors.ts +303 -0
  80. package/src/vs/base/common/event.ts +1778 -0
  81. package/src/vs/base/common/functional.ts +32 -0
  82. package/src/vs/base/common/hash.ts +316 -0
  83. package/src/vs/base/common/iterator.ts +159 -0
  84. package/src/vs/base/common/keyCodes.ts +526 -0
  85. package/src/vs/base/common/keybindings.ts +284 -0
  86. package/src/vs/base/common/lazy.ts +47 -0
  87. package/src/vs/base/common/lifecycle.ts +801 -0
  88. package/src/vs/base/common/linkedList.ts +142 -0
  89. package/src/vs/base/common/map.ts +202 -0
  90. package/src/vs/base/common/numbers.ts +98 -0
  91. package/src/vs/base/common/observable.ts +76 -0
  92. package/src/vs/base/common/observableInternal/api.ts +31 -0
  93. package/src/vs/base/common/observableInternal/autorun.ts +281 -0
  94. package/src/vs/base/common/observableInternal/base.ts +489 -0
  95. package/src/vs/base/common/observableInternal/debugName.ts +145 -0
  96. package/src/vs/base/common/observableInternal/derived.ts +428 -0
  97. package/src/vs/base/common/observableInternal/lazyObservableValue.ts +146 -0
  98. package/src/vs/base/common/observableInternal/logging.ts +328 -0
  99. package/src/vs/base/common/observableInternal/promise.ts +209 -0
  100. package/src/vs/base/common/observableInternal/utils.ts +610 -0
  101. package/src/vs/base/common/platform.ts +281 -0
  102. package/src/vs/base/common/scrollable.ts +522 -0
  103. package/src/vs/base/common/sequence.ts +34 -0
  104. package/src/vs/base/common/stopwatch.ts +43 -0
  105. package/src/vs/base/common/strings.ts +557 -0
  106. package/src/vs/base/common/symbols.ts +9 -0
  107. package/src/vs/base/common/uint.ts +59 -0
  108. package/src/vs/patches/nls.ts +90 -0
  109. package/src/vs/typings/base-common.d.ts +20 -0
  110. package/src/vs/typings/require.d.ts +42 -0
  111. package/src/vs/typings/thenable.d.ts +12 -0
  112. package/src/vs/typings/vscode-globals-nls.d.ts +36 -0
  113. package/src/vs/typings/vscode-globals-product.d.ts +33 -0
  114. package/typings/xterm.d.ts +66 -15
  115. package/src/browser/Lifecycle.ts +0 -33
  116. package/src/common/EventEmitter.ts +0 -78
  117. package/src/common/Lifecycle.ts +0 -108
  118. /package/src/browser/selection/{Types.d.ts → Types.ts} +0 -0
  119. /package/src/common/parser/{Types.d.ts → Types.ts} +0 -0
@@ -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
+ }