diff --git a/addons/addon-fit/src/FitAddon.ts b/addons/addon-fit/src/FitAddon.ts index 3d7dc0a0..283af354 100644 --- a/addons/addon-fit/src/FitAddon.ts +++ b/addons/addon-fit/src/FitAddon.ts @@ -6,6 +6,7 @@ import type { Terminal, ITerminalAddon } from '@xterm/xterm'; import type { FitAddon as IFitApi } from '@xterm/addon-fit'; import { IRenderDimensions } from 'browser/renderer/shared/Types'; +import { ViewportConstants } from 'browser/shared/Constants'; interface ITerminalDimensions { /** @@ -22,11 +23,6 @@ interface ITerminalDimensions { const MINIMUM_COLS = 2; const MINIMUM_ROWS = 1; -// Must remain in sync with the value in core's viewport -const enum Constants { - DEFAULT_SCROLL_BAR_WIDTH = 14 -} - export class FitAddon implements ITerminalAddon , IFitApi { private _terminal: Terminal | undefined; @@ -71,7 +67,7 @@ export class FitAddon implements ITerminalAddon , IFitApi { const scrollbarWidth = (this._terminal.options.scrollback === 0 ? 0 - : (this._terminal.options.overviewRulerWidth || Constants.DEFAULT_SCROLL_BAR_WIDTH)); + : (this._terminal.options.overviewRulerWidth || ViewportConstants.DEFAULT_SCROLL_BAR_WIDTH)); const parentElementStyle = window.getComputedStyle(this._terminal.element.parentElement); const parentElementHeight = parseInt(parentElementStyle.getPropertyValue('height')); diff --git a/src/browser/Viewport.ts b/src/browser/Viewport.ts index f1c031e4..423a85bb 100644 --- a/src/browser/Viewport.ts +++ b/src/browser/Viewport.ts @@ -4,6 +4,7 @@ */ import { ICoreBrowserService, IRenderService, IThemeService } from 'browser/services/Services'; +import { ViewportConstants } from 'browser/shared/Constants'; import { EventEmitter, runAndSubscribe } from 'common/EventEmitter'; import { Disposable, toDisposable } from 'common/Lifecycle'; import { IBufferService, IOptionsService } from 'common/services/Services'; @@ -12,10 +13,6 @@ import { SmoothScrollableElement } from 'vs/base/browser/ui/scrollbar/scrollable import type { ScrollableElementChangeOptions } from 'vs/base/browser/ui/scrollbar/scrollableElementOptions'; import { Scrollable, ScrollbarVisibility, type ScrollEvent } from 'vs/base/common/scrollable'; -const enum Constants { - DEFAULT_SCROLL_BAR_WIDTH = 14 -} - export class Viewport extends Disposable { protected _onRequestScrollLines = this.register(new EventEmitter()); @@ -118,7 +115,7 @@ export class Viewport extends Disposable { return { mouseWheelScrollSensitivity: this._optionsService.rawOptions.scrollSensitivity, fastScrollSensitivity: this._optionsService.rawOptions.fastScrollSensitivity, - verticalScrollbarSize: this._optionsService.rawOptions.overviewRulerWidth || Constants.DEFAULT_SCROLL_BAR_WIDTH + verticalScrollbarSize: this._optionsService.rawOptions.overviewRulerWidth || ViewportConstants.DEFAULT_SCROLL_BAR_WIDTH }; } diff --git a/src/browser/shared/Constants.ts b/src/browser/shared/Constants.ts new file mode 100644 index 00000000..58b7d2f7 --- /dev/null +++ b/src/browser/shared/Constants.ts @@ -0,0 +1,8 @@ +/** + * Copyright (c) 2024 The xterm.js authors. All rights reserved. + * @license MIT + */ + +export const enum ViewportConstants { + DEFAULT_SCROLL_BAR_WIDTH = 14 +}