From 8193ceae12721f08187dbd5bd33fec4949c23b17 Mon Sep 17 00:00:00 2001 From: Daniel Imms <2193314+Tyriar@users.noreply.github.com> Date: Sat, 3 Jan 2026 14:40:07 -0800 Subject: [PATCH] Make everything except unicode APIs stable --- src/browser/public/Terminal.ts | 4 ---- src/headless/public/Terminal.ts | 4 ---- typings/xterm-headless.d.ts | 11 ++++------- typings/xterm.d.ts | 20 ++++++++++---------- 4 files changed, 14 insertions(+), 25 deletions(-) diff --git a/src/browser/public/Terminal.ts b/src/browser/public/Terminal.ts index c872f5e1..157ceb14 100644 --- a/src/browser/public/Terminal.ts +++ b/src/browser/public/Terminal.ts @@ -103,7 +103,6 @@ export class Terminal extends Disposable implements ITerminalApi { return this._buffer; } public get markers(): ReadonlyArray { - this._checkProposedApi(); return this._core.markers; } public get modes(): IModes { @@ -166,11 +165,9 @@ export class Terminal extends Disposable implements ITerminalApi { return this._core.registerLinkProvider(linkProvider); } public registerCharacterJoiner(handler: (text: string) => [number, number][]): number { - this._checkProposedApi(); return this._core.registerCharacterJoiner(handler); } public deregisterCharacterJoiner(joinerId: number): void { - this._checkProposedApi(); this._core.deregisterCharacterJoiner(joinerId); } public registerMarker(cursorYOffset: number = 0): IMarker { @@ -178,7 +175,6 @@ export class Terminal extends Disposable implements ITerminalApi { return this._core.registerMarker(cursorYOffset); } public registerDecoration(decorationOptions: IDecorationOptions): IDecoration | undefined { - this._checkProposedApi(); this._verifyPositiveIntegers(decorationOptions.x ?? 0, decorationOptions.width ?? 0, decorationOptions.height ?? 0); return this._core.registerDecoration(decorationOptions); } diff --git a/src/headless/public/Terminal.ts b/src/headless/public/Terminal.ts index 811345b9..e0a47e1f 100644 --- a/src/headless/public/Terminal.ts +++ b/src/headless/public/Terminal.ts @@ -84,7 +84,6 @@ export class Terminal extends Disposable implements ITerminalApi { public get onWriteParsed(): Event { return this._core.onWriteParsed; } public get parser(): IParser { - this._checkProposedApi(); if (!this._parser) { this._parser = new ParserApi(this._core); } @@ -97,14 +96,12 @@ export class Terminal extends Disposable implements ITerminalApi { public get rows(): number { return this._core.rows; } public get cols(): number { return this._core.cols; } public get buffer(): IBufferNamespaceApi { - this._checkProposedApi(); if (!this._buffer) { this._buffer = this._register(new BufferNamespaceApi(this._core)); } return this._buffer; } public get markers(): ReadonlyArray { - this._checkProposedApi(); return this._core.markers; } public get modes(): IModes { @@ -146,7 +143,6 @@ export class Terminal extends Disposable implements ITerminalApi { this._core.resize(columns, rows); } public registerMarker(cursorYOffset: number = 0): IMarker | undefined { - this._checkProposedApi(); this._verifyIntegers(cursorYOffset); return this._core.addMarker(cursorYOffset); } diff --git a/typings/xterm-headless.d.ts b/typings/xterm-headless.d.ts index 3c018a3b..abc28d08 100644 --- a/typings/xterm-headless.d.ts +++ b/typings/xterm-headless.d.ts @@ -584,21 +584,18 @@ declare module '@xterm/headless' { readonly cols: number; /** - * (EXPERIMENTAL) The terminal's current buffer, this might be either the - * normal buffer or the alt buffer depending on what's running in the - * terminal. + * Access to the terminal's normal and alt buffer. */ readonly buffer: IBufferNamespace; /** - * (EXPERIMENTAL) Get all markers registered against the buffer. If the alt - * buffer is active this will always return []. + * Get all markers registered against the buffer. If the alt buffer is + * active this will always return []. */ readonly markers: ReadonlyArray; /** - * (EXPERIMENTAL) Get the parser interface to register - * custom escape sequence handlers. + * Get the parser interface to register custom escape sequence handlers. */ readonly parser: IParser; diff --git a/typings/xterm.d.ts b/typings/xterm.d.ts index 1084cae8..9e60e74c 100644 --- a/typings/xterm.d.ts +++ b/typings/xterm.d.ts @@ -856,8 +856,8 @@ declare module '@xterm/xterm' { readonly buffer: IBufferNamespace; /** - * (EXPERIMENTAL) Get all markers registered against the buffer. If the alt - * buffer is active this will always return []. + * Get all markers registered against the buffer. If the alt buffer is + * active this will always return []. */ readonly markers: ReadonlyArray; @@ -867,8 +867,8 @@ declare module '@xterm/xterm' { readonly parser: IParser; /** - * (EXPERIMENTAL) Get the Unicode handling interface - * to register and switch Unicode version. + * (EXPERIMENTAL) Get the Unicode handling interface to register and switch + * Unicode version. */ readonly unicode: IUnicodeHandling; @@ -1129,9 +1129,9 @@ declare module '@xterm/xterm' { registerLinkProvider(linkProvider: ILinkProvider): IDisposable; /** - * (EXPERIMENTAL) Registers a character joiner, allowing custom sequences of - * characters to be rendered as a single unit. This is useful in particular - * for rendering ligatures and graphemes, among other things. + * Registers a character joiner, allowing custom sequences of characters to + * be rendered as a single unit. This is useful in particular for rendering + * ligatures and graphemes, among other things. * * Each registered character joiner is called with a string of text * representing a portion of a line in the terminal that can be rendered as @@ -1160,8 +1160,8 @@ declare module '@xterm/xterm' { registerCharacterJoiner(handler: (text: string) => [number, number][]): number; /** - * (EXPERIMENTAL) Deregisters the character joiner if one was registered. - * NOTE: character joiners are only used by the webgl renderer. + * Deregisters the character joiner if one was registered. Note that + * character joiners are only used by the webgl renderer. * @param joinerId The character joiner's ID (returned after register) */ deregisterCharacterJoiner(joinerId: number): void; @@ -1174,7 +1174,7 @@ declare module '@xterm/xterm' { registerMarker(cursorYOffset?: number): IMarker; /** - * (EXPERIMENTAL) Adds a decoration to the terminal using + * Registers a decoration to the terminal. * @param decorationOptions, which takes a marker and an optional anchor, * width, height, and x offset from the anchor. Returns the decoration or * undefined if the alt buffer is active or the marker has already been