mirror of
https://github.com/Microsoft/vscode
synced 2024-10-02 09:18:59 +00:00
Integrate xterm-addon-image
This commit is contained in:
parent
65a3d201e6
commit
e7a3127217
|
@ -256,6 +256,7 @@
|
|||
"worker_threads",
|
||||
"xterm",
|
||||
"xterm-addon-canvas",
|
||||
"xterm-addon-image",
|
||||
"xterm-addon-search",
|
||||
"xterm-addon-serialize",
|
||||
"xterm-addon-unicode11",
|
||||
|
|
|
@ -23,6 +23,9 @@ xterm/src/**
|
|||
xterm-addon-canvas/src/**
|
||||
xterm-addon-canvas/out/**
|
||||
|
||||
xterm-addon-image/src/**
|
||||
xterm-addon-image/out/**
|
||||
|
||||
xterm-addon-search/src/**
|
||||
xterm-addon-search/out/**
|
||||
xterm-addon-search/fixtures/**
|
||||
|
|
|
@ -87,13 +87,14 @@
|
|||
"vscode-oniguruma": "1.7.0",
|
||||
"vscode-regexpp": "^3.1.0",
|
||||
"vscode-textmate": "9.0.0",
|
||||
"xterm": "5.2.0-beta.40",
|
||||
"xterm": "5.2.0-beta.41",
|
||||
"xterm-addon-canvas": "0.4.0-beta.11",
|
||||
"xterm-addon-image": "0.4.0",
|
||||
"xterm-addon-search": "0.11.0",
|
||||
"xterm-addon-serialize": "0.9.0",
|
||||
"xterm-addon-unicode11": "0.5.0",
|
||||
"xterm-addon-webgl": "0.15.0-beta.10",
|
||||
"xterm-headless": "5.2.0-beta.40",
|
||||
"xterm-headless": "5.2.0-beta.41",
|
||||
"yauzl": "^2.9.2",
|
||||
"yazl": "^2.4.3"
|
||||
},
|
||||
|
|
|
@ -24,13 +24,14 @@
|
|||
"vscode-oniguruma": "1.7.0",
|
||||
"vscode-regexpp": "^3.1.0",
|
||||
"vscode-textmate": "9.0.0",
|
||||
"xterm": "5.2.0-beta.40",
|
||||
"xterm": "5.2.0-beta.41",
|
||||
"xterm-addon-canvas": "0.4.0-beta.11",
|
||||
"xterm-addon-image": "0.4.0",
|
||||
"xterm-addon-search": "0.11.0",
|
||||
"xterm-addon-serialize": "0.9.0",
|
||||
"xterm-addon-unicode11": "0.5.0",
|
||||
"xterm-addon-webgl": "0.15.0-beta.10",
|
||||
"xterm-headless": "5.2.0-beta.40",
|
||||
"xterm-headless": "5.2.0-beta.41",
|
||||
"yauzl": "^2.9.2",
|
||||
"yazl": "^2.4.3"
|
||||
},
|
||||
|
|
|
@ -11,8 +11,9 @@
|
|||
"tas-client-umd": "0.1.8",
|
||||
"vscode-oniguruma": "1.7.0",
|
||||
"vscode-textmate": "9.0.0",
|
||||
"xterm": "5.2.0-beta.40",
|
||||
"xterm": "5.2.0-beta.41",
|
||||
"xterm-addon-canvas": "0.4.0-beta.11",
|
||||
"xterm-addon-image": "0.4.0",
|
||||
"xterm-addon-search": "0.11.0",
|
||||
"xterm-addon-unicode11": "0.5.0",
|
||||
"xterm-addon-webgl": "0.15.0-beta.10"
|
||||
|
|
|
@ -73,6 +73,11 @@ xterm-addon-canvas@0.4.0-beta.11:
|
|||
resolved "https://registry.yarnpkg.com/xterm-addon-canvas/-/xterm-addon-canvas-0.4.0-beta.11.tgz#d627050d7e2290ae804c0ec730d5bfc5861afd78"
|
||||
integrity sha512-yfkx0R7wB3L+fWf1doDmEfwYIeNMVq4uXlq7sCvfPQAVA2H4eOH/s+SS1mhyy0A6DDEbM4eEQ7CroRZIsnVtMA==
|
||||
|
||||
xterm-addon-image@0.4.0:
|
||||
version "0.4.0"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-image/-/xterm-addon-image-0.4.0.tgz#36e98fa892db11755a5f6e9654f924e876e29bf8"
|
||||
integrity sha512-3wumCJo4WTzxvecSMxJ7XtpVQeFe4gE2cdHCyUdo7zagVkS18YXJacGx6DjlAIccdJn6/LhGuD99xOSSvYx9Gw==
|
||||
|
||||
xterm-addon-search@0.11.0:
|
||||
version "0.11.0"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.11.0.tgz#2a00ff7f9848f6140e7c4d1782486b0b18b06e0d"
|
||||
|
@ -88,7 +93,7 @@ xterm-addon-webgl@0.15.0-beta.10:
|
|||
resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.15.0-beta.10.tgz#39ebbfb1b89c6773a2d8cb8e1d2f3ef1f08b28f9"
|
||||
integrity sha512-JVv4t5q6QGWyLiEAcAk9H2B83hFlIalzEwWu1VVYso0MJyZAlZ0NP5Za03iSKxYi7RQIA5bOe8r7W24esQDjLg==
|
||||
|
||||
xterm@5.2.0-beta.40:
|
||||
version "5.2.0-beta.40"
|
||||
resolved "https://registry.yarnpkg.com/xterm/-/xterm-5.2.0-beta.40.tgz#c73d5576425dcd4fa6b48ce58b4224a7b5b9dbdf"
|
||||
integrity sha512-7/Db3KPceM0VX4/YAKL+/ArvEHlGBwE3kt1oN9QP5TLaJ6r2ThMS7z7QwG8g2gy60GFnvjfvpcTv6Ewyste4zg==
|
||||
xterm@5.2.0-beta.41:
|
||||
version "5.2.0-beta.41"
|
||||
resolved "https://registry.yarnpkg.com/xterm/-/xterm-5.2.0-beta.41.tgz#ff9f5ed8890a751db2263ebdd362f5443699026d"
|
||||
integrity sha512-yvDMaeELF8YuqTv220/+i5MKvy9GB4Vu7tH1T3OIqPvHwgnC8SY1vOSjskxHsHsRE5qLluiQJo6/wvt3kZH8+A==
|
||||
|
|
|
@ -841,6 +841,11 @@ xterm-addon-canvas@0.4.0-beta.11:
|
|||
resolved "https://registry.yarnpkg.com/xterm-addon-canvas/-/xterm-addon-canvas-0.4.0-beta.11.tgz#d627050d7e2290ae804c0ec730d5bfc5861afd78"
|
||||
integrity sha512-yfkx0R7wB3L+fWf1doDmEfwYIeNMVq4uXlq7sCvfPQAVA2H4eOH/s+SS1mhyy0A6DDEbM4eEQ7CroRZIsnVtMA==
|
||||
|
||||
xterm-addon-image@0.4.0:
|
||||
version "0.4.0"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-image/-/xterm-addon-image-0.4.0.tgz#36e98fa892db11755a5f6e9654f924e876e29bf8"
|
||||
integrity sha512-3wumCJo4WTzxvecSMxJ7XtpVQeFe4gE2cdHCyUdo7zagVkS18YXJacGx6DjlAIccdJn6/LhGuD99xOSSvYx9Gw==
|
||||
|
||||
xterm-addon-search@0.11.0:
|
||||
version "0.11.0"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.11.0.tgz#2a00ff7f9848f6140e7c4d1782486b0b18b06e0d"
|
||||
|
@ -861,15 +866,15 @@ xterm-addon-webgl@0.15.0-beta.10:
|
|||
resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.15.0-beta.10.tgz#39ebbfb1b89c6773a2d8cb8e1d2f3ef1f08b28f9"
|
||||
integrity sha512-JVv4t5q6QGWyLiEAcAk9H2B83hFlIalzEwWu1VVYso0MJyZAlZ0NP5Za03iSKxYi7RQIA5bOe8r7W24esQDjLg==
|
||||
|
||||
xterm-headless@5.2.0-beta.40:
|
||||
version "5.2.0-beta.40"
|
||||
resolved "https://registry.yarnpkg.com/xterm-headless/-/xterm-headless-5.2.0-beta.40.tgz#6edba318d23ed350c8ec6279e6f61f40bde9b163"
|
||||
integrity sha512-6CHgR64POfa24CTILcq/HHg1im1u1HjJZSHWjlopP18KiS8Rq8dzCurZDsu38atxDK9dyjV8SRw2AB4ijcxZsQ==
|
||||
xterm-headless@5.2.0-beta.41:
|
||||
version "5.2.0-beta.41"
|
||||
resolved "https://registry.yarnpkg.com/xterm-headless/-/xterm-headless-5.2.0-beta.41.tgz#17085c0ef255214c244bdaa73e5914fd722be28e"
|
||||
integrity sha512-cAKuiYPs2GQpCWFIWHakRF+57vPDmqLzMFX3kOcMj+deHPuDnxucQTZvjxKNbMZKG9u9r+shIyfGzgC0oA+bBw==
|
||||
|
||||
xterm@5.2.0-beta.40:
|
||||
version "5.2.0-beta.40"
|
||||
resolved "https://registry.yarnpkg.com/xterm/-/xterm-5.2.0-beta.40.tgz#c73d5576425dcd4fa6b48ce58b4224a7b5b9dbdf"
|
||||
integrity sha512-7/Db3KPceM0VX4/YAKL+/ArvEHlGBwE3kt1oN9QP5TLaJ6r2ThMS7z7QwG8g2gy60GFnvjfvpcTv6Ewyste4zg==
|
||||
xterm@5.2.0-beta.41:
|
||||
version "5.2.0-beta.41"
|
||||
resolved "https://registry.yarnpkg.com/xterm/-/xterm-5.2.0-beta.41.tgz#ff9f5ed8890a751db2263ebdd362f5443699026d"
|
||||
integrity sha512-yvDMaeELF8YuqTv220/+i5MKvy9GB4Vu7tH1T3OIqPvHwgnC8SY1vOSjskxHsHsRE5qLluiQJo6/wvt3kZH8+A==
|
||||
|
||||
yallist@^4.0.0:
|
||||
version "4.0.0"
|
||||
|
|
|
@ -9,6 +9,7 @@ const path = require('path');
|
|||
const moduleNames = [
|
||||
'xterm',
|
||||
'xterm-addon-canvas',
|
||||
'xterm-addon-image',
|
||||
'xterm-addon-search',
|
||||
'xterm-addon-unicode11',
|
||||
'xterm-addon-webgl'
|
||||
|
|
1
src/bootstrap-window.js
vendored
1
src/bootstrap-window.js
vendored
|
@ -116,6 +116,7 @@
|
|||
'vscode-oniguruma': `${baseNodeModulesPath}/vscode-oniguruma/release/main.js`,
|
||||
'xterm': `${baseNodeModulesPath}/xterm/lib/xterm.js`,
|
||||
'xterm-addon-canvas': `${baseNodeModulesPath}/xterm-addon-canvas/lib/xterm-addon-canvas.js`,
|
||||
'xterm-addon-image': `${baseNodeModulesPath}/xterm-addon-image/lib/xterm-addon-image.js`,
|
||||
'xterm-addon-search': `${baseNodeModulesPath}/xterm-addon-search/lib/xterm-addon-search.js`,
|
||||
'xterm-addon-unicode11': `${baseNodeModulesPath}/xterm-addon-unicode11/lib/xterm-addon-unicode11.js`,
|
||||
'xterm-addon-webgl': `${baseNodeModulesPath}/xterm-addon-webgl/lib/xterm-addon-webgl.js`,
|
||||
|
|
|
@ -9,6 +9,7 @@ import type { ISearchOptions, SearchAddon as SearchAddonType } from 'xterm-addon
|
|||
import type { Unicode11Addon as Unicode11AddonType } from 'xterm-addon-unicode11';
|
||||
import type { WebglAddon as WebglAddonType } from 'xterm-addon-webgl';
|
||||
import type { SerializeAddon as SerializeAddonType } from 'xterm-addon-serialize';
|
||||
import type { ImageAddon as ImageAddonType } from 'xterm-addon-image';
|
||||
import { IXtermCore } from 'vs/workbench/contrib/terminal/browser/xterm-private';
|
||||
import { ConfigurationTarget, IConfigurationService } from 'vs/platform/configuration/common/configuration';
|
||||
import { TerminalConfigHelper } from 'vs/workbench/contrib/terminal/browser/terminalConfigHelper';
|
||||
|
@ -47,6 +48,7 @@ const enum RenderConstants {
|
|||
}
|
||||
|
||||
let CanvasAddon: typeof CanvasAddonType;
|
||||
let ImageAddon: typeof ImageAddonType;
|
||||
let SearchAddon: typeof SearchAddonType;
|
||||
let SerializeAddon: typeof SerializeAddonType;
|
||||
let Unicode11Addon: typeof Unicode11AddonType;
|
||||
|
@ -136,6 +138,7 @@ export class XtermTerminal extends DisposableStore implements IXtermTerminal, II
|
|||
private _unicode11Addon?: Unicode11AddonType;
|
||||
private _webglAddon?: WebglAddonType;
|
||||
private _serializeAddon?: SerializeAddonType;
|
||||
private _imageAddon?: ImageAddonType;
|
||||
|
||||
private _lastFindResult: { resultIndex: number; resultCount: number } | undefined;
|
||||
get findResult(): { resultIndex: number; resultCount: number } | undefined { return this._lastFindResult; }
|
||||
|
@ -251,6 +254,8 @@ export class XtermTerminal extends DisposableStore implements IXtermTerminal, II
|
|||
this._shellIntegrationAddon = this._instantiationService.createInstance(ShellIntegrationAddon, shellIntegrationNonce, disableShellIntegrationReporting, this._telemetryService);
|
||||
this.raw.loadAddon(this._shellIntegrationAddon);
|
||||
|
||||
this._getImageAddon();
|
||||
|
||||
// Load the suggest addon, this should be loaded regardless of the setting as the sequences
|
||||
// may still come in
|
||||
this._suggestAddon = this._instantiationService.createInstance(SuggestAddon, this._terminalSuggestWidgetVisibleContextKey);
|
||||
|
@ -415,6 +420,19 @@ export class XtermTerminal extends DisposableStore implements IXtermTerminal, II
|
|||
return this._searchAddon;
|
||||
}
|
||||
|
||||
private async _getImageAddon(): Promise<ImageAddonType> {
|
||||
if (this._imageAddon) {
|
||||
return this._imageAddon;
|
||||
}
|
||||
console.log('1');
|
||||
const AddonCtor = await this._getImageAddonConstructor();
|
||||
this._imageAddon = new AddonCtor();
|
||||
console.log('2');
|
||||
this.raw.loadAddon(this._imageAddon);
|
||||
console.log('3');
|
||||
return this._imageAddon;
|
||||
}
|
||||
|
||||
clearSearchDecorations(): void {
|
||||
this._searchAddon?.clearDecorations();
|
||||
}
|
||||
|
@ -573,6 +591,13 @@ export class XtermTerminal extends DisposableStore implements IXtermTerminal, II
|
|||
return CanvasAddon;
|
||||
}
|
||||
|
||||
protected async _getImageAddonConstructor(): Promise<typeof ImageAddonType> {
|
||||
if (!ImageAddon) {
|
||||
ImageAddon = (await import('xterm-addon-image')).ImageAddon;
|
||||
}
|
||||
return ImageAddon;
|
||||
}
|
||||
|
||||
protected async _getSearchAddonConstructor(): Promise<typeof SearchAddonType> {
|
||||
if (!SearchAddon) {
|
||||
SearchAddon = (await import('xterm-addon-search')).SearchAddon;
|
||||
|
|
21
yarn.lock
21
yarn.lock
|
@ -10513,6 +10513,11 @@ xterm-addon-canvas@0.4.0-beta.11:
|
|||
resolved "https://registry.yarnpkg.com/xterm-addon-canvas/-/xterm-addon-canvas-0.4.0-beta.11.tgz#d627050d7e2290ae804c0ec730d5bfc5861afd78"
|
||||
integrity sha512-yfkx0R7wB3L+fWf1doDmEfwYIeNMVq4uXlq7sCvfPQAVA2H4eOH/s+SS1mhyy0A6DDEbM4eEQ7CroRZIsnVtMA==
|
||||
|
||||
xterm-addon-image@0.4.0:
|
||||
version "0.4.0"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-image/-/xterm-addon-image-0.4.0.tgz#36e98fa892db11755a5f6e9654f924e876e29bf8"
|
||||
integrity sha512-3wumCJo4WTzxvecSMxJ7XtpVQeFe4gE2cdHCyUdo7zagVkS18YXJacGx6DjlAIccdJn6/LhGuD99xOSSvYx9Gw==
|
||||
|
||||
xterm-addon-search@0.11.0:
|
||||
version "0.11.0"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.11.0.tgz#2a00ff7f9848f6140e7c4d1782486b0b18b06e0d"
|
||||
|
@ -10533,15 +10538,15 @@ xterm-addon-webgl@0.15.0-beta.10:
|
|||
resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.15.0-beta.10.tgz#39ebbfb1b89c6773a2d8cb8e1d2f3ef1f08b28f9"
|
||||
integrity sha512-JVv4t5q6QGWyLiEAcAk9H2B83hFlIalzEwWu1VVYso0MJyZAlZ0NP5Za03iSKxYi7RQIA5bOe8r7W24esQDjLg==
|
||||
|
||||
xterm-headless@5.2.0-beta.40:
|
||||
version "5.2.0-beta.40"
|
||||
resolved "https://registry.yarnpkg.com/xterm-headless/-/xterm-headless-5.2.0-beta.40.tgz#6edba318d23ed350c8ec6279e6f61f40bde9b163"
|
||||
integrity sha512-6CHgR64POfa24CTILcq/HHg1im1u1HjJZSHWjlopP18KiS8Rq8dzCurZDsu38atxDK9dyjV8SRw2AB4ijcxZsQ==
|
||||
xterm-headless@5.2.0-beta.41:
|
||||
version "5.2.0-beta.41"
|
||||
resolved "https://registry.yarnpkg.com/xterm-headless/-/xterm-headless-5.2.0-beta.41.tgz#17085c0ef255214c244bdaa73e5914fd722be28e"
|
||||
integrity sha512-cAKuiYPs2GQpCWFIWHakRF+57vPDmqLzMFX3kOcMj+deHPuDnxucQTZvjxKNbMZKG9u9r+shIyfGzgC0oA+bBw==
|
||||
|
||||
xterm@5.2.0-beta.40:
|
||||
version "5.2.0-beta.40"
|
||||
resolved "https://registry.yarnpkg.com/xterm/-/xterm-5.2.0-beta.40.tgz#c73d5576425dcd4fa6b48ce58b4224a7b5b9dbdf"
|
||||
integrity sha512-7/Db3KPceM0VX4/YAKL+/ArvEHlGBwE3kt1oN9QP5TLaJ6r2ThMS7z7QwG8g2gy60GFnvjfvpcTv6Ewyste4zg==
|
||||
xterm@5.2.0-beta.41:
|
||||
version "5.2.0-beta.41"
|
||||
resolved "https://registry.yarnpkg.com/xterm/-/xterm-5.2.0-beta.41.tgz#ff9f5ed8890a751db2263ebdd362f5443699026d"
|
||||
integrity sha512-yvDMaeELF8YuqTv220/+i5MKvy9GB4Vu7tH1T3OIqPvHwgnC8SY1vOSjskxHsHsRE5qLluiQJo6/wvt3kZH8+A==
|
||||
|
||||
y18n@^3.2.1:
|
||||
version "3.2.2"
|
||||
|
|
Loading…
Reference in a new issue