diff --git a/build/.webignore b/build/.webignore index d42f9775ba9..31c366cc1fa 100644 --- a/build/.webignore +++ b/build/.webignore @@ -26,6 +26,9 @@ vscode-textmate/webpack.config.js @xterm/addon-image/src/** @xterm/addon-image/out/** +@xterm/addon-ligatures/src/** +@xterm/addon-ligatures/out/** + @xterm/addon-search/src/** @xterm/addon-search/out/** @xterm/addon-search/fixtures/** diff --git a/eslint.config.js b/eslint.config.js index 9ba6289e725..922e2e8a13f 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -833,6 +833,7 @@ export default tseslint.config( 'worker_threads', '@xterm/addon-clipboard', '@xterm/addon-image', + '@xterm/addon-ligatures', '@xterm/addon-search', '@xterm/addon-serialize', '@xterm/addon-unicode11', diff --git a/package-lock.json b/package-lock.json index 5a7e3112309..b5d59e560f7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,14 +27,15 @@ "@vscode/windows-mutex": "^0.5.0", "@vscode/windows-process-tree": "^0.6.0", "@vscode/windows-registry": "^1.1.0", - "@xterm/addon-clipboard": "^0.2.0-beta.48", - "@xterm/addon-image": "^0.9.0-beta.65", - "@xterm/addon-search": "^0.16.0-beta.65", - "@xterm/addon-serialize": "^0.14.0-beta.65", - "@xterm/addon-unicode11": "^0.9.0-beta.65", - "@xterm/addon-webgl": "^0.19.0-beta.65", - "@xterm/headless": "^5.6.0-beta.65", - "@xterm/xterm": "^5.6.0-beta.65", + "@xterm/addon-clipboard": "^0.2.0-beta.50", + "@xterm/addon-image": "^0.9.0-beta.67", + "@xterm/addon-ligatures": "^0.10.0-beta.67", + "@xterm/addon-search": "^0.16.0-beta.67", + "@xterm/addon-serialize": "^0.14.0-beta.67", + "@xterm/addon-unicode11": "^0.9.0-beta.67", + "@xterm/addon-webgl": "^0.19.0-beta.67", + "@xterm/headless": "^5.6.0-beta.67", + "@xterm/xterm": "^5.6.0-beta.67", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.2", "jschardet": "3.1.4", @@ -3166,65 +3167,89 @@ } }, "node_modules/@xterm/addon-clipboard": { - "version": "0.2.0-beta.48", - "resolved": "https://registry.npmjs.org/@xterm/addon-clipboard/-/addon-clipboard-0.2.0-beta.48.tgz", - "integrity": "sha512-oTrGoGMOQaW7PINAShhNR3duV8l2No/DbJ9rtfSBjfoQ9clWe0K+4fUHdJIuzW65AZsiLo9oh5IbHLWxlFP3Jg==", + "version": "0.2.0-beta.50", + "resolved": "https://registry.npmjs.org/@xterm/addon-clipboard/-/addon-clipboard-0.2.0-beta.50.tgz", + "integrity": "sha512-A0A8+ft0WZ7/4O19Q4PCkmesgmQjyi+mXcEqyaja12DC7bk+uGQBliyFhmEuM3PglXrDzjJ6p1e+ozaWIr7ATw==", + "license": "MIT", "dependencies": { "js-base64": "^3.7.5" }, "peerDependencies": { - "@xterm/xterm": "^5.6.0-beta.65" + "@xterm/xterm": "^5.6.0-beta.67" } }, "node_modules/@xterm/addon-image": { - "version": "0.9.0-beta.65", - "resolved": "https://registry.npmjs.org/@xterm/addon-image/-/addon-image-0.9.0-beta.65.tgz", - "integrity": "sha512-Ud5FI5cGtpbz8yYCHC4QINlbC1K04Mex1JD5oAWPFwjlOz/Si/DhqbY1QBDl6QrUmSUUTZc5DKT3v3nN5WbZxQ==", + "version": "0.9.0-beta.67", + "resolved": "https://registry.npmjs.org/@xterm/addon-image/-/addon-image-0.9.0-beta.67.tgz", + "integrity": "sha512-Evv25lMod+OkhnZbUx0582BeuBRztylT3davE/YUzzSOH6/LK9AD9FmfKhtziY9AVnWqo3eq3jbDI1fUgiz6+Q==", + "license": "MIT", "peerDependencies": { - "@xterm/xterm": "^5.6.0-beta.65" + "@xterm/xterm": "^5.6.0-beta.67" + } + }, + "node_modules/@xterm/addon-ligatures": { + "version": "0.10.0-beta.67", + "resolved": "https://registry.npmjs.org/@xterm/addon-ligatures/-/addon-ligatures-0.10.0-beta.67.tgz", + "integrity": "sha512-7vMjOTPI5mP0fW35rLEx/vrer7XOmgTyNmTRBIqNxm8TOap+Wh+qii82HEobvTu0CF/CDDwzjQqT26RCfPbeqA==", + "license": "MIT", + "dependencies": { + "font-finder": "^1.1.0", + "font-ligatures": "^1.4.1" + }, + "engines": { + "node": ">8.0.0" + }, + "peerDependencies": { + "@xterm/xterm": "^5.6.0-beta.67" } }, "node_modules/@xterm/addon-search": { - "version": "0.16.0-beta.65", - "resolved": "https://registry.npmjs.org/@xterm/addon-search/-/addon-search-0.16.0-beta.65.tgz", - "integrity": "sha512-eHfbbgFCS3AcD8YSvGFIkW9NW4pfGHrtRDWIojM/zqmyi3JaCmHUgZmlxbaANwBlgLiNpJLDq7cmoz//86NgGw==", + "version": "0.16.0-beta.67", + "resolved": "https://registry.npmjs.org/@xterm/addon-search/-/addon-search-0.16.0-beta.67.tgz", + "integrity": "sha512-0LtX7CHcvvgJYznN5S+LckVgiYFp9LC+jm6PQgjILSVj6AQ9MkcFbgmURRLLncxfZC4G7kCOQaxjUbhSKWJyxw==", + "license": "MIT", "peerDependencies": { - "@xterm/xterm": "^5.6.0-beta.65" + "@xterm/xterm": "^5.6.0-beta.67" } }, "node_modules/@xterm/addon-serialize": { - "version": "0.14.0-beta.65", - "resolved": "https://registry.npmjs.org/@xterm/addon-serialize/-/addon-serialize-0.14.0-beta.65.tgz", - "integrity": "sha512-NlvXVtFAHpLKEDzd+6/68yPFQ4Oe02jvQH6+a8p+gcxbSEyYj1l0sqqeABQ3gC5QDCmQepk6BQVB8Rpz/e4HgQ==", + "version": "0.14.0-beta.67", + "resolved": "https://registry.npmjs.org/@xterm/addon-serialize/-/addon-serialize-0.14.0-beta.67.tgz", + "integrity": "sha512-encwfKHkjrcUrFAAV2ZJ7ycKlsRe1uv5PYHhoIx4ci8HzD8wi9b2UauqBf8qL8cclaUI8Lc4hjzxftgvC6JFOg==", + "license": "MIT", "peerDependencies": { - "@xterm/xterm": "^5.6.0-beta.65" + "@xterm/xterm": "^5.6.0-beta.67" } }, "node_modules/@xterm/addon-unicode11": { - "version": "0.9.0-beta.65", - "resolved": "https://registry.npmjs.org/@xterm/addon-unicode11/-/addon-unicode11-0.9.0-beta.65.tgz", - "integrity": "sha512-sH9mu2GEIVuc6cs6HxsmCXn6KKzCa5D+Zyl1Pt9d2S4FKqSB17Fc4mVukCOMW7wUR9UChKTbxmByGJK+4xwdCA==", + "version": "0.9.0-beta.67", + "resolved": "https://registry.npmjs.org/@xterm/addon-unicode11/-/addon-unicode11-0.9.0-beta.67.tgz", + "integrity": "sha512-8HygYz2urkMxeM4jYoIg/bjtazhWWS910TA2fDqOgGJtRHWtyMCiihoeas3kT4CMUyHhU9YDX+RAY4hDMGgQHA==", + "license": "MIT", "peerDependencies": { - "@xterm/xterm": "^5.6.0-beta.65" + "@xterm/xterm": "^5.6.0-beta.67" } }, "node_modules/@xterm/addon-webgl": { - "version": "0.19.0-beta.65", - "resolved": "https://registry.npmjs.org/@xterm/addon-webgl/-/addon-webgl-0.19.0-beta.65.tgz", - "integrity": "sha512-gPwP8ozqrLFWOlo9eh2I+acxq0Z6obG7GpL8HpJ+B+q6+vjfxoXHQ6vV04W90aoAvbLpScHcT/JtXA58GcH2vw==", + "version": "0.19.0-beta.67", + "resolved": "https://registry.npmjs.org/@xterm/addon-webgl/-/addon-webgl-0.19.0-beta.67.tgz", + "integrity": "sha512-/Lcnp/EihCFw4iNdFRmbNEbzOG3KcMGJMPsVl7zeh/Tn7eDxaXidFPf5o1kCkaijZ7eE3glPAveaV0El88dI5Q==", + "license": "MIT", "peerDependencies": { - "@xterm/xterm": "^5.6.0-beta.65" + "@xterm/xterm": "^5.6.0-beta.67" } }, "node_modules/@xterm/headless": { - "version": "5.6.0-beta.65", - "resolved": "https://registry.npmjs.org/@xterm/headless/-/headless-5.6.0-beta.65.tgz", - "integrity": "sha512-gQICZsBkFHQEb/K+dc+KN4u5aBwrDPgai0S7W8/KT7fqTPWz8Cgjq119WQLshnzfLeMMFPYGttNHFGUbpp/wmw==" + "version": "5.6.0-beta.67", + "resolved": "https://registry.npmjs.org/@xterm/headless/-/headless-5.6.0-beta.67.tgz", + "integrity": "sha512-358Y+lais4ZD/eKQ1uXaj/S9cH5XPWPcvAwRUaRGXNxjkc9ZaUsLljEiEPkR5LN0umerQ3dW0wSgna3amPP5jw==", + "license": "MIT" }, "node_modules/@xterm/xterm": { - "version": "5.6.0-beta.65", - "resolved": "https://registry.npmjs.org/@xterm/xterm/-/xterm-5.6.0-beta.65.tgz", - "integrity": "sha512-o6IIg4hqs994gtSQMbzQM6OUeLIXPG6RUxjoref0KJX4PIa/BqQjwQLPuSxnjOFeRQIvhZ2mSAPfGWJQ6jEGAg==" + "version": "5.6.0-beta.67", + "resolved": "https://registry.npmjs.org/@xterm/xterm/-/xterm-5.6.0-beta.67.tgz", + "integrity": "sha512-u4kxUR7zjTY0UsuPA0MzoRPfUa9B2yoYwiK8EK+HCZr7rlA6alPtqPQWNRMsI082tdZY87cgvMNuQ9g2zJY1YQ==", + "license": "MIT" }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", @@ -7087,6 +7112,51 @@ "util-deprecate": "~1.0.1" } }, + "node_modules/font-finder": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/font-finder/-/font-finder-1.1.0.tgz", + "integrity": "sha512-wpCL2uIbi6GurJbU7ZlQ3nGd61Ho+dSU6U83/xJT5UPFfN35EeCW/rOtS+5k+IuEZu2SYmHzDIPL9eA5tSYRAw==", + "license": "MIT", + "dependencies": { + "get-system-fonts": "^2.0.0", + "promise-stream-reader": "^1.0.1" + }, + "engines": { + "node": ">8.0.0" + } + }, + "node_modules/font-ligatures": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/font-ligatures/-/font-ligatures-1.4.1.tgz", + "integrity": "sha512-7W6zlfyhvCqShZ5ReUWqmSd9vBaUudW0Hxis+tqUjtHhsPU+L3Grf8mcZAtCiXHTzorhwdRTId2WeH/88gdFkw==", + "license": "MIT", + "dependencies": { + "font-finder": "^1.0.3", + "lru-cache": "^6.0.0", + "opentype.js": "^0.8.0" + }, + "engines": { + "node": ">8.0.0" + } + }, + "node_modules/font-ligatures/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/font-ligatures/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, "node_modules/for-each": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", @@ -7385,6 +7455,15 @@ "once": "^1.3.1" } }, + "node_modules/get-system-fonts": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-system-fonts/-/get-system-fonts-2.0.2.tgz", + "integrity": "sha512-zzlgaYnHMIEgHRrfC7x0Qp0Ylhw/sHpM6MHXeVBTYIsvGf5GpbnClB+Q6rAPdn+0gd2oZZIo6Tj3EaWrt4VhDQ==", + "license": "MIT", + "engines": { + "node": ">8.0.0" + } + }, "node_modules/get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -12826,6 +12905,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/opentype.js": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/opentype.js/-/opentype.js-0.8.0.tgz", + "integrity": "sha512-FQHR4oGP+a0m/f6yHoRpBOIbn/5ZWxKd4D/djHVJu8+KpBTYrJda0b7mLcgDEMWXE9xBCJm+qb0yv6FcvPjukg==", + "license": "MIT", + "dependencies": { + "tiny-inflate": "^1.0.2" + }, + "bin": { + "ot": "bin/ot" + } + }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -14340,6 +14431,15 @@ "node": ">=0.4.0" } }, + "node_modules/promise-stream-reader": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-stream-reader/-/promise-stream-reader-1.0.1.tgz", + "integrity": "sha512-Tnxit5trUjBAqqZCGWwjyxhmgMN4hGrtpW3Oc/tRI4bpm/O2+ej72BB08l6JBnGQgVDGCLvHFGjGgQS6vzhwXg==", + "license": "MIT", + "engines": { + "node": ">8.0.0" + } + }, "node_modules/proto-list": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", @@ -16823,6 +16923,12 @@ "next-tick": "1" } }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "license": "MIT" + }, "node_modules/to-absolute-glob": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", diff --git a/package.json b/package.json index f393c9a47cc..e4915118ac8 100644 --- a/package.json +++ b/package.json @@ -85,14 +85,15 @@ "@vscode/windows-mutex": "^0.5.0", "@vscode/windows-process-tree": "^0.6.0", "@vscode/windows-registry": "^1.1.0", - "@xterm/addon-clipboard": "^0.2.0-beta.48", - "@xterm/addon-image": "^0.9.0-beta.65", - "@xterm/addon-search": "^0.16.0-beta.65", - "@xterm/addon-serialize": "^0.14.0-beta.65", - "@xterm/addon-unicode11": "^0.9.0-beta.65", - "@xterm/addon-webgl": "^0.19.0-beta.65", - "@xterm/headless": "^5.6.0-beta.65", - "@xterm/xterm": "^5.6.0-beta.65", + "@xterm/addon-clipboard": "^0.2.0-beta.50", + "@xterm/addon-image": "^0.9.0-beta.67", + "@xterm/addon-ligatures": "^0.10.0-beta.67", + "@xterm/addon-search": "^0.16.0-beta.67", + "@xterm/addon-serialize": "^0.14.0-beta.67", + "@xterm/addon-unicode11": "^0.9.0-beta.67", + "@xterm/addon-webgl": "^0.19.0-beta.67", + "@xterm/headless": "^5.6.0-beta.67", + "@xterm/xterm": "^5.6.0-beta.67", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.2", "jschardet": "3.1.4", diff --git a/remote/package-lock.json b/remote/package-lock.json index 3b7aab914eb..0cadb9601da 100644 --- a/remote/package-lock.json +++ b/remote/package-lock.json @@ -20,14 +20,15 @@ "@vscode/vscode-languagedetection": "1.0.21", "@vscode/windows-process-tree": "^0.6.0", "@vscode/windows-registry": "^1.1.0", - "@xterm/addon-clipboard": "^0.2.0-beta.48", - "@xterm/addon-image": "^0.9.0-beta.65", - "@xterm/addon-search": "^0.16.0-beta.65", - "@xterm/addon-serialize": "^0.14.0-beta.65", - "@xterm/addon-unicode11": "^0.9.0-beta.65", - "@xterm/addon-webgl": "^0.19.0-beta.65", - "@xterm/headless": "^5.6.0-beta.65", - "@xterm/xterm": "^5.6.0-beta.65", + "@xterm/addon-clipboard": "^0.2.0-beta.50", + "@xterm/addon-image": "^0.9.0-beta.67", + "@xterm/addon-ligatures": "^0.10.0-beta.67", + "@xterm/addon-search": "^0.16.0-beta.67", + "@xterm/addon-serialize": "^0.14.0-beta.67", + "@xterm/addon-unicode11": "^0.9.0-beta.67", + "@xterm/addon-webgl": "^0.19.0-beta.67", + "@xterm/headless": "^5.6.0-beta.67", + "@xterm/xterm": "^5.6.0-beta.67", "cookie": "^0.7.0", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.2", @@ -229,65 +230,89 @@ "hasInstallScript": true }, "node_modules/@xterm/addon-clipboard": { - "version": "0.2.0-beta.48", - "resolved": "https://registry.npmjs.org/@xterm/addon-clipboard/-/addon-clipboard-0.2.0-beta.48.tgz", - "integrity": "sha512-oTrGoGMOQaW7PINAShhNR3duV8l2No/DbJ9rtfSBjfoQ9clWe0K+4fUHdJIuzW65AZsiLo9oh5IbHLWxlFP3Jg==", + "version": "0.2.0-beta.50", + "resolved": "https://registry.npmjs.org/@xterm/addon-clipboard/-/addon-clipboard-0.2.0-beta.50.tgz", + "integrity": "sha512-A0A8+ft0WZ7/4O19Q4PCkmesgmQjyi+mXcEqyaja12DC7bk+uGQBliyFhmEuM3PglXrDzjJ6p1e+ozaWIr7ATw==", + "license": "MIT", "dependencies": { "js-base64": "^3.7.5" }, "peerDependencies": { - "@xterm/xterm": "^5.6.0-beta.65" + "@xterm/xterm": "^5.6.0-beta.67" } }, "node_modules/@xterm/addon-image": { - "version": "0.9.0-beta.65", - "resolved": "https://registry.npmjs.org/@xterm/addon-image/-/addon-image-0.9.0-beta.65.tgz", - "integrity": "sha512-Ud5FI5cGtpbz8yYCHC4QINlbC1K04Mex1JD5oAWPFwjlOz/Si/DhqbY1QBDl6QrUmSUUTZc5DKT3v3nN5WbZxQ==", + "version": "0.9.0-beta.67", + "resolved": "https://registry.npmjs.org/@xterm/addon-image/-/addon-image-0.9.0-beta.67.tgz", + "integrity": "sha512-Evv25lMod+OkhnZbUx0582BeuBRztylT3davE/YUzzSOH6/LK9AD9FmfKhtziY9AVnWqo3eq3jbDI1fUgiz6+Q==", + "license": "MIT", "peerDependencies": { - "@xterm/xterm": "^5.6.0-beta.65" + "@xterm/xterm": "^5.6.0-beta.67" + } + }, + "node_modules/@xterm/addon-ligatures": { + "version": "0.10.0-beta.67", + "resolved": "https://registry.npmjs.org/@xterm/addon-ligatures/-/addon-ligatures-0.10.0-beta.67.tgz", + "integrity": "sha512-7vMjOTPI5mP0fW35rLEx/vrer7XOmgTyNmTRBIqNxm8TOap+Wh+qii82HEobvTu0CF/CDDwzjQqT26RCfPbeqA==", + "license": "MIT", + "dependencies": { + "font-finder": "^1.1.0", + "font-ligatures": "^1.4.1" + }, + "engines": { + "node": ">8.0.0" + }, + "peerDependencies": { + "@xterm/xterm": "^5.6.0-beta.67" } }, "node_modules/@xterm/addon-search": { - "version": "0.16.0-beta.65", - "resolved": "https://registry.npmjs.org/@xterm/addon-search/-/addon-search-0.16.0-beta.65.tgz", - "integrity": "sha512-eHfbbgFCS3AcD8YSvGFIkW9NW4pfGHrtRDWIojM/zqmyi3JaCmHUgZmlxbaANwBlgLiNpJLDq7cmoz//86NgGw==", + "version": "0.16.0-beta.67", + "resolved": "https://registry.npmjs.org/@xterm/addon-search/-/addon-search-0.16.0-beta.67.tgz", + "integrity": "sha512-0LtX7CHcvvgJYznN5S+LckVgiYFp9LC+jm6PQgjILSVj6AQ9MkcFbgmURRLLncxfZC4G7kCOQaxjUbhSKWJyxw==", + "license": "MIT", "peerDependencies": { - "@xterm/xterm": "^5.6.0-beta.65" + "@xterm/xterm": "^5.6.0-beta.67" } }, "node_modules/@xterm/addon-serialize": { - "version": "0.14.0-beta.65", - "resolved": "https://registry.npmjs.org/@xterm/addon-serialize/-/addon-serialize-0.14.0-beta.65.tgz", - "integrity": "sha512-NlvXVtFAHpLKEDzd+6/68yPFQ4Oe02jvQH6+a8p+gcxbSEyYj1l0sqqeABQ3gC5QDCmQepk6BQVB8Rpz/e4HgQ==", + "version": "0.14.0-beta.67", + "resolved": "https://registry.npmjs.org/@xterm/addon-serialize/-/addon-serialize-0.14.0-beta.67.tgz", + "integrity": "sha512-encwfKHkjrcUrFAAV2ZJ7ycKlsRe1uv5PYHhoIx4ci8HzD8wi9b2UauqBf8qL8cclaUI8Lc4hjzxftgvC6JFOg==", + "license": "MIT", "peerDependencies": { - "@xterm/xterm": "^5.6.0-beta.65" + "@xterm/xterm": "^5.6.0-beta.67" } }, "node_modules/@xterm/addon-unicode11": { - "version": "0.9.0-beta.65", - "resolved": "https://registry.npmjs.org/@xterm/addon-unicode11/-/addon-unicode11-0.9.0-beta.65.tgz", - "integrity": "sha512-sH9mu2GEIVuc6cs6HxsmCXn6KKzCa5D+Zyl1Pt9d2S4FKqSB17Fc4mVukCOMW7wUR9UChKTbxmByGJK+4xwdCA==", + "version": "0.9.0-beta.67", + "resolved": "https://registry.npmjs.org/@xterm/addon-unicode11/-/addon-unicode11-0.9.0-beta.67.tgz", + "integrity": "sha512-8HygYz2urkMxeM4jYoIg/bjtazhWWS910TA2fDqOgGJtRHWtyMCiihoeas3kT4CMUyHhU9YDX+RAY4hDMGgQHA==", + "license": "MIT", "peerDependencies": { - "@xterm/xterm": "^5.6.0-beta.65" + "@xterm/xterm": "^5.6.0-beta.67" } }, "node_modules/@xterm/addon-webgl": { - "version": "0.19.0-beta.65", - "resolved": "https://registry.npmjs.org/@xterm/addon-webgl/-/addon-webgl-0.19.0-beta.65.tgz", - "integrity": "sha512-gPwP8ozqrLFWOlo9eh2I+acxq0Z6obG7GpL8HpJ+B+q6+vjfxoXHQ6vV04W90aoAvbLpScHcT/JtXA58GcH2vw==", + "version": "0.19.0-beta.67", + "resolved": "https://registry.npmjs.org/@xterm/addon-webgl/-/addon-webgl-0.19.0-beta.67.tgz", + "integrity": "sha512-/Lcnp/EihCFw4iNdFRmbNEbzOG3KcMGJMPsVl7zeh/Tn7eDxaXidFPf5o1kCkaijZ7eE3glPAveaV0El88dI5Q==", + "license": "MIT", "peerDependencies": { - "@xterm/xterm": "^5.6.0-beta.65" + "@xterm/xterm": "^5.6.0-beta.67" } }, "node_modules/@xterm/headless": { - "version": "5.6.0-beta.65", - "resolved": "https://registry.npmjs.org/@xterm/headless/-/headless-5.6.0-beta.65.tgz", - "integrity": "sha512-gQICZsBkFHQEb/K+dc+KN4u5aBwrDPgai0S7W8/KT7fqTPWz8Cgjq119WQLshnzfLeMMFPYGttNHFGUbpp/wmw==" + "version": "5.6.0-beta.67", + "resolved": "https://registry.npmjs.org/@xterm/headless/-/headless-5.6.0-beta.67.tgz", + "integrity": "sha512-358Y+lais4ZD/eKQ1uXaj/S9cH5XPWPcvAwRUaRGXNxjkc9ZaUsLljEiEPkR5LN0umerQ3dW0wSgna3amPP5jw==", + "license": "MIT" }, "node_modules/@xterm/xterm": { - "version": "5.6.0-beta.65", - "resolved": "https://registry.npmjs.org/@xterm/xterm/-/xterm-5.6.0-beta.65.tgz", - "integrity": "sha512-o6IIg4hqs994gtSQMbzQM6OUeLIXPG6RUxjoref0KJX4PIa/BqQjwQLPuSxnjOFeRQIvhZ2mSAPfGWJQ6jEGAg==" + "version": "5.6.0-beta.67", + "resolved": "https://registry.npmjs.org/@xterm/xterm/-/xterm-5.6.0-beta.67.tgz", + "integrity": "sha512-u4kxUR7zjTY0UsuPA0MzoRPfUa9B2yoYwiK8EK+HCZr7rlA6alPtqPQWNRMsI082tdZY87cgvMNuQ9g2zJY1YQ==", + "license": "MIT" }, "node_modules/agent-base": { "version": "7.1.1", @@ -479,6 +504,33 @@ "node": ">=8" } }, + "node_modules/font-finder": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/font-finder/-/font-finder-1.1.0.tgz", + "integrity": "sha512-wpCL2uIbi6GurJbU7ZlQ3nGd61Ho+dSU6U83/xJT5UPFfN35EeCW/rOtS+5k+IuEZu2SYmHzDIPL9eA5tSYRAw==", + "license": "MIT", + "dependencies": { + "get-system-fonts": "^2.0.0", + "promise-stream-reader": "^1.0.1" + }, + "engines": { + "node": ">8.0.0" + } + }, + "node_modules/font-ligatures": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/font-ligatures/-/font-ligatures-1.4.1.tgz", + "integrity": "sha512-7W6zlfyhvCqShZ5ReUWqmSd9vBaUudW0Hxis+tqUjtHhsPU+L3Grf8mcZAtCiXHTzorhwdRTId2WeH/88gdFkw==", + "license": "MIT", + "dependencies": { + "font-finder": "^1.0.3", + "lru-cache": "^6.0.0", + "opentype.js": "^0.8.0" + }, + "engines": { + "node": ">8.0.0" + } + }, "node_modules/fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", @@ -497,6 +549,15 @@ "node": ">=14.14" } }, + "node_modules/get-system-fonts": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-system-fonts/-/get-system-fonts-2.0.2.tgz", + "integrity": "sha512-zzlgaYnHMIEgHRrfC7x0Qp0Ylhw/sHpM6MHXeVBTYIsvGf5GpbnClB+Q6rAPdn+0gd2oZZIo6Tj3EaWrt4VhDQ==", + "license": "MIT", + "engines": { + "node": ">8.0.0" + } + }, "node_modules/github-from-package": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", @@ -761,6 +822,18 @@ "wrappy": "1" } }, + "node_modules/opentype.js": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/opentype.js/-/opentype.js-0.8.0.tgz", + "integrity": "sha512-FQHR4oGP+a0m/f6yHoRpBOIbn/5ZWxKd4D/djHVJu8+KpBTYrJda0b7mLcgDEMWXE9xBCJm+qb0yv6FcvPjukg==", + "license": "MIT", + "dependencies": { + "tiny-inflate": "^1.0.2" + }, + "bin": { + "ot": "bin/ot" + } + }, "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", @@ -802,6 +875,15 @@ "node": ">=10" } }, + "node_modules/promise-stream-reader": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-stream-reader/-/promise-stream-reader-1.0.1.tgz", + "integrity": "sha512-Tnxit5trUjBAqqZCGWwjyxhmgMN4hGrtpW3Oc/tRI4bpm/O2+ej72BB08l6JBnGQgVDGCLvHFGjGgQS6vzhwXg==", + "license": "MIT", + "engines": { + "node": ">8.0.0" + } + }, "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", @@ -1006,6 +1088,12 @@ "resolved": "https://registry.npmjs.org/tas-client-umd/-/tas-client-umd-0.2.0.tgz", "integrity": "sha512-oezN7mJVm5qZDVEby7OzxCLKUpUN5of0rY4dvOWaDF2JZBlGpd3BXceFN8B53qlTaIkVSzP65aAMT0Vc+/N25Q==" }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "license": "MIT" + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", diff --git a/remote/package.json b/remote/package.json index b7a3d258c79..808df3414fd 100644 --- a/remote/package.json +++ b/remote/package.json @@ -15,14 +15,15 @@ "@vscode/vscode-languagedetection": "1.0.21", "@vscode/windows-process-tree": "^0.6.0", "@vscode/windows-registry": "^1.1.0", - "@xterm/addon-clipboard": "^0.2.0-beta.48", - "@xterm/addon-image": "^0.9.0-beta.65", - "@xterm/addon-search": "^0.16.0-beta.65", - "@xterm/addon-serialize": "^0.14.0-beta.65", - "@xterm/addon-unicode11": "^0.9.0-beta.65", - "@xterm/addon-webgl": "^0.19.0-beta.65", - "@xterm/headless": "^5.6.0-beta.65", - "@xterm/xterm": "^5.6.0-beta.65", + "@xterm/addon-clipboard": "^0.2.0-beta.50", + "@xterm/addon-image": "^0.9.0-beta.67", + "@xterm/addon-ligatures": "^0.10.0-beta.67", + "@xterm/addon-search": "^0.16.0-beta.67", + "@xterm/addon-serialize": "^0.14.0-beta.67", + "@xterm/addon-unicode11": "^0.9.0-beta.67", + "@xterm/addon-webgl": "^0.19.0-beta.67", + "@xterm/headless": "^5.6.0-beta.67", + "@xterm/xterm": "^5.6.0-beta.67", "cookie": "^0.7.0", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.2", diff --git a/remote/web/package-lock.json b/remote/web/package-lock.json index 41bf9446996..81858e4bac0 100644 --- a/remote/web/package-lock.json +++ b/remote/web/package-lock.json @@ -13,13 +13,14 @@ "@vscode/iconv-lite-umd": "0.7.0", "@vscode/tree-sitter-wasm": "^0.0.4", "@vscode/vscode-languagedetection": "1.0.21", - "@xterm/addon-clipboard": "^0.2.0-beta.48", - "@xterm/addon-image": "^0.9.0-beta.65", - "@xterm/addon-search": "^0.16.0-beta.65", - "@xterm/addon-serialize": "^0.14.0-beta.65", - "@xterm/addon-unicode11": "^0.9.0-beta.65", - "@xterm/addon-webgl": "^0.19.0-beta.65", - "@xterm/xterm": "^5.6.0-beta.65", + "@xterm/addon-clipboard": "^0.2.0-beta.50", + "@xterm/addon-image": "^0.9.0-beta.67", + "@xterm/addon-ligatures": "^0.10.0-beta.67", + "@xterm/addon-search": "^0.16.0-beta.67", + "@xterm/addon-serialize": "^0.14.0-beta.67", + "@xterm/addon-unicode11": "^0.9.0-beta.67", + "@xterm/addon-webgl": "^0.19.0-beta.67", + "@xterm/xterm": "^5.6.0-beta.67", "jschardet": "3.1.4", "tas-client-umd": "0.2.0", "vscode-oniguruma": "1.7.0", @@ -87,60 +88,119 @@ } }, "node_modules/@xterm/addon-clipboard": { - "version": "0.2.0-beta.48", - "resolved": "https://registry.npmjs.org/@xterm/addon-clipboard/-/addon-clipboard-0.2.0-beta.48.tgz", - "integrity": "sha512-oTrGoGMOQaW7PINAShhNR3duV8l2No/DbJ9rtfSBjfoQ9clWe0K+4fUHdJIuzW65AZsiLo9oh5IbHLWxlFP3Jg==", + "version": "0.2.0-beta.50", + "resolved": "https://registry.npmjs.org/@xterm/addon-clipboard/-/addon-clipboard-0.2.0-beta.50.tgz", + "integrity": "sha512-A0A8+ft0WZ7/4O19Q4PCkmesgmQjyi+mXcEqyaja12DC7bk+uGQBliyFhmEuM3PglXrDzjJ6p1e+ozaWIr7ATw==", + "license": "MIT", "dependencies": { "js-base64": "^3.7.5" }, "peerDependencies": { - "@xterm/xterm": "^5.6.0-beta.65" + "@xterm/xterm": "^5.6.0-beta.67" } }, "node_modules/@xterm/addon-image": { - "version": "0.9.0-beta.65", - "resolved": "https://registry.npmjs.org/@xterm/addon-image/-/addon-image-0.9.0-beta.65.tgz", - "integrity": "sha512-Ud5FI5cGtpbz8yYCHC4QINlbC1K04Mex1JD5oAWPFwjlOz/Si/DhqbY1QBDl6QrUmSUUTZc5DKT3v3nN5WbZxQ==", + "version": "0.9.0-beta.67", + "resolved": "https://registry.npmjs.org/@xterm/addon-image/-/addon-image-0.9.0-beta.67.tgz", + "integrity": "sha512-Evv25lMod+OkhnZbUx0582BeuBRztylT3davE/YUzzSOH6/LK9AD9FmfKhtziY9AVnWqo3eq3jbDI1fUgiz6+Q==", + "license": "MIT", "peerDependencies": { - "@xterm/xterm": "^5.6.0-beta.65" + "@xterm/xterm": "^5.6.0-beta.67" + } + }, + "node_modules/@xterm/addon-ligatures": { + "version": "0.10.0-beta.67", + "resolved": "https://registry.npmjs.org/@xterm/addon-ligatures/-/addon-ligatures-0.10.0-beta.67.tgz", + "integrity": "sha512-7vMjOTPI5mP0fW35rLEx/vrer7XOmgTyNmTRBIqNxm8TOap+Wh+qii82HEobvTu0CF/CDDwzjQqT26RCfPbeqA==", + "license": "MIT", + "dependencies": { + "font-finder": "^1.1.0", + "font-ligatures": "^1.4.1" + }, + "engines": { + "node": ">8.0.0" + }, + "peerDependencies": { + "@xterm/xterm": "^5.6.0-beta.67" } }, "node_modules/@xterm/addon-search": { - "version": "0.16.0-beta.65", - "resolved": "https://registry.npmjs.org/@xterm/addon-search/-/addon-search-0.16.0-beta.65.tgz", - "integrity": "sha512-eHfbbgFCS3AcD8YSvGFIkW9NW4pfGHrtRDWIojM/zqmyi3JaCmHUgZmlxbaANwBlgLiNpJLDq7cmoz//86NgGw==", + "version": "0.16.0-beta.67", + "resolved": "https://registry.npmjs.org/@xterm/addon-search/-/addon-search-0.16.0-beta.67.tgz", + "integrity": "sha512-0LtX7CHcvvgJYznN5S+LckVgiYFp9LC+jm6PQgjILSVj6AQ9MkcFbgmURRLLncxfZC4G7kCOQaxjUbhSKWJyxw==", + "license": "MIT", "peerDependencies": { - "@xterm/xterm": "^5.6.0-beta.65" + "@xterm/xterm": "^5.6.0-beta.67" } }, "node_modules/@xterm/addon-serialize": { - "version": "0.14.0-beta.65", - "resolved": "https://registry.npmjs.org/@xterm/addon-serialize/-/addon-serialize-0.14.0-beta.65.tgz", - "integrity": "sha512-NlvXVtFAHpLKEDzd+6/68yPFQ4Oe02jvQH6+a8p+gcxbSEyYj1l0sqqeABQ3gC5QDCmQepk6BQVB8Rpz/e4HgQ==", + "version": "0.14.0-beta.67", + "resolved": "https://registry.npmjs.org/@xterm/addon-serialize/-/addon-serialize-0.14.0-beta.67.tgz", + "integrity": "sha512-encwfKHkjrcUrFAAV2ZJ7ycKlsRe1uv5PYHhoIx4ci8HzD8wi9b2UauqBf8qL8cclaUI8Lc4hjzxftgvC6JFOg==", + "license": "MIT", "peerDependencies": { - "@xterm/xterm": "^5.6.0-beta.65" + "@xterm/xterm": "^5.6.0-beta.67" } }, "node_modules/@xterm/addon-unicode11": { - "version": "0.9.0-beta.65", - "resolved": "https://registry.npmjs.org/@xterm/addon-unicode11/-/addon-unicode11-0.9.0-beta.65.tgz", - "integrity": "sha512-sH9mu2GEIVuc6cs6HxsmCXn6KKzCa5D+Zyl1Pt9d2S4FKqSB17Fc4mVukCOMW7wUR9UChKTbxmByGJK+4xwdCA==", + "version": "0.9.0-beta.67", + "resolved": "https://registry.npmjs.org/@xterm/addon-unicode11/-/addon-unicode11-0.9.0-beta.67.tgz", + "integrity": "sha512-8HygYz2urkMxeM4jYoIg/bjtazhWWS910TA2fDqOgGJtRHWtyMCiihoeas3kT4CMUyHhU9YDX+RAY4hDMGgQHA==", + "license": "MIT", "peerDependencies": { - "@xterm/xterm": "^5.6.0-beta.65" + "@xterm/xterm": "^5.6.0-beta.67" } }, "node_modules/@xterm/addon-webgl": { - "version": "0.19.0-beta.65", - "resolved": "https://registry.npmjs.org/@xterm/addon-webgl/-/addon-webgl-0.19.0-beta.65.tgz", - "integrity": "sha512-gPwP8ozqrLFWOlo9eh2I+acxq0Z6obG7GpL8HpJ+B+q6+vjfxoXHQ6vV04W90aoAvbLpScHcT/JtXA58GcH2vw==", + "version": "0.19.0-beta.67", + "resolved": "https://registry.npmjs.org/@xterm/addon-webgl/-/addon-webgl-0.19.0-beta.67.tgz", + "integrity": "sha512-/Lcnp/EihCFw4iNdFRmbNEbzOG3KcMGJMPsVl7zeh/Tn7eDxaXidFPf5o1kCkaijZ7eE3glPAveaV0El88dI5Q==", + "license": "MIT", "peerDependencies": { - "@xterm/xterm": "^5.6.0-beta.65" + "@xterm/xterm": "^5.6.0-beta.67" } }, "node_modules/@xterm/xterm": { - "version": "5.6.0-beta.65", - "resolved": "https://registry.npmjs.org/@xterm/xterm/-/xterm-5.6.0-beta.65.tgz", - "integrity": "sha512-o6IIg4hqs994gtSQMbzQM6OUeLIXPG6RUxjoref0KJX4PIa/BqQjwQLPuSxnjOFeRQIvhZ2mSAPfGWJQ6jEGAg==" + "version": "5.6.0-beta.67", + "resolved": "https://registry.npmjs.org/@xterm/xterm/-/xterm-5.6.0-beta.67.tgz", + "integrity": "sha512-u4kxUR7zjTY0UsuPA0MzoRPfUa9B2yoYwiK8EK+HCZr7rlA6alPtqPQWNRMsI082tdZY87cgvMNuQ9g2zJY1YQ==", + "license": "MIT" + }, + "node_modules/font-finder": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/font-finder/-/font-finder-1.1.0.tgz", + "integrity": "sha512-wpCL2uIbi6GurJbU7ZlQ3nGd61Ho+dSU6U83/xJT5UPFfN35EeCW/rOtS+5k+IuEZu2SYmHzDIPL9eA5tSYRAw==", + "license": "MIT", + "dependencies": { + "get-system-fonts": "^2.0.0", + "promise-stream-reader": "^1.0.1" + }, + "engines": { + "node": ">8.0.0" + } + }, + "node_modules/font-ligatures": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/font-ligatures/-/font-ligatures-1.4.1.tgz", + "integrity": "sha512-7W6zlfyhvCqShZ5ReUWqmSd9vBaUudW0Hxis+tqUjtHhsPU+L3Grf8mcZAtCiXHTzorhwdRTId2WeH/88gdFkw==", + "license": "MIT", + "dependencies": { + "font-finder": "^1.0.3", + "lru-cache": "^6.0.0", + "opentype.js": "^0.8.0" + }, + "engines": { + "node": ">8.0.0" + } + }, + "node_modules/get-system-fonts": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-system-fonts/-/get-system-fonts-2.0.2.tgz", + "integrity": "sha512-zzlgaYnHMIEgHRrfC7x0Qp0Ylhw/sHpM6MHXeVBTYIsvGf5GpbnClB+Q6rAPdn+0gd2oZZIo6Tj3EaWrt4VhDQ==", + "license": "MIT", + "engines": { + "node": ">8.0.0" + } }, "node_modules/js-base64": { "version": "3.7.7", @@ -156,11 +216,50 @@ "node": ">=0.1.90" } }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/opentype.js": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/opentype.js/-/opentype.js-0.8.0.tgz", + "integrity": "sha512-FQHR4oGP+a0m/f6yHoRpBOIbn/5ZWxKd4D/djHVJu8+KpBTYrJda0b7mLcgDEMWXE9xBCJm+qb0yv6FcvPjukg==", + "license": "MIT", + "dependencies": { + "tiny-inflate": "^1.0.2" + }, + "bin": { + "ot": "bin/ot" + } + }, + "node_modules/promise-stream-reader": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-stream-reader/-/promise-stream-reader-1.0.1.tgz", + "integrity": "sha512-Tnxit5trUjBAqqZCGWwjyxhmgMN4hGrtpW3Oc/tRI4bpm/O2+ej72BB08l6JBnGQgVDGCLvHFGjGgQS6vzhwXg==", + "license": "MIT", + "engines": { + "node": ">8.0.0" + } + }, "node_modules/tas-client-umd": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/tas-client-umd/-/tas-client-umd-0.2.0.tgz", "integrity": "sha512-oezN7mJVm5qZDVEby7OzxCLKUpUN5of0rY4dvOWaDF2JZBlGpd3BXceFN8B53qlTaIkVSzP65aAMT0Vc+/N25Q==" }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "license": "MIT" + }, "node_modules/vscode-oniguruma": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", @@ -170,6 +269,12 @@ "version": "9.1.0", "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-9.1.0.tgz", "integrity": "sha512-lxKSVp2DkFOx9RDAvpiYUrB9/KT1fAfi1aE8CBGstP8N7rLF+Seifj8kDA198X0mYj1CjQUC+81+nQf8CO0nVA==" + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" } } } diff --git a/remote/web/package.json b/remote/web/package.json index 5529301e4c4..1d6e04d56dd 100644 --- a/remote/web/package.json +++ b/remote/web/package.json @@ -8,13 +8,14 @@ "@vscode/iconv-lite-umd": "0.7.0", "@vscode/tree-sitter-wasm": "^0.0.4", "@vscode/vscode-languagedetection": "1.0.21", - "@xterm/addon-clipboard": "^0.2.0-beta.48", - "@xterm/addon-image": "^0.9.0-beta.65", - "@xterm/addon-search": "^0.16.0-beta.65", - "@xterm/addon-serialize": "^0.14.0-beta.65", - "@xterm/addon-unicode11": "^0.9.0-beta.65", - "@xterm/addon-webgl": "^0.19.0-beta.65", - "@xterm/xterm": "^5.6.0-beta.65", + "@xterm/addon-clipboard": "^0.2.0-beta.50", + "@xterm/addon-image": "^0.9.0-beta.67", + "@xterm/addon-ligatures": "^0.10.0-beta.67", + "@xterm/addon-search": "^0.16.0-beta.67", + "@xterm/addon-serialize": "^0.14.0-beta.67", + "@xterm/addon-unicode11": "^0.9.0-beta.67", + "@xterm/addon-webgl": "^0.19.0-beta.67", + "@xterm/xterm": "^5.6.0-beta.67", "jschardet": "3.1.4", "tas-client-umd": "0.2.0", "vscode-oniguruma": "1.7.0", diff --git a/scripts/xterm-update.js b/scripts/xterm-update.js index 15759069604..5a7db71abac 100644 --- a/scripts/xterm-update.js +++ b/scripts/xterm-update.js @@ -10,6 +10,7 @@ const moduleNames = [ '@xterm/xterm', '@xterm/addon-clipboard', '@xterm/addon-image', + '@xterm/addon-ligatures', '@xterm/addon-search', '@xterm/addon-serialize', '@xterm/addon-unicode11', diff --git a/src/vs/code/electron-main/app.ts b/src/vs/code/electron-main/app.ts index f334f01d5ba..bb16ab8aac1 100644 --- a/src/vs/code/electron-main/app.ts +++ b/src/vs/code/electron-main/app.ts @@ -170,18 +170,17 @@ export class CodeApplication extends Disposable { ]); const allowedPermissionsInCore = new Set([ - 'media' + 'media', + 'local-fonts', ]); session.defaultSession.setPermissionRequestHandler((_webContents, permission, callback, details) => { if (isUrlFromWebview(details.requestingUrl)) { return callback(allowedPermissionsInWebview.has(permission)); } - if (isUrlFromWindow(details.requestingUrl)) { return callback(allowedPermissionsInCore.has(permission)); } - return callback(false); }); diff --git a/src/vs/platform/protocol/electron-main/protocolMainService.ts b/src/vs/platform/protocol/electron-main/protocolMainService.ts index 5f666fe4f73..86e0a616af8 100644 --- a/src/vs/platform/protocol/electron-main/protocolMainService.ts +++ b/src/vs/platform/protocol/electron-main/protocolMainService.ts @@ -24,7 +24,7 @@ export class ProtocolMainService extends Disposable implements IProtocolMainServ declare readonly _serviceBrand: undefined; private readonly validRoots = TernarySearchTree.forPaths(!isLinux); - private readonly validExtensions = new Set(['.svg', '.png', '.jpg', '.jpeg', '.gif', '.bmp', '.webp', '.mp4']); // https://github.com/microsoft/vscode/issues/119384 + private readonly validExtensions = new Set(['.svg', '.png', '.jpg', '.jpeg', '.gif', '.bmp', '.webp', '.mp4', '.otf', '.ttf']); // https://github.com/microsoft/vscode/issues/119384 constructor( @INativeEnvironmentService private readonly environmentService: INativeEnvironmentService, diff --git a/src/vs/workbench/contrib/terminal/browser/xterm/xtermAddonImporter.ts b/src/vs/workbench/contrib/terminal/browser/xterm/xtermAddonImporter.ts index b78debc63c2..753ba6f9e79 100644 --- a/src/vs/workbench/contrib/terminal/browser/xterm/xtermAddonImporter.ts +++ b/src/vs/workbench/contrib/terminal/browser/xterm/xtermAddonImporter.ts @@ -5,6 +5,7 @@ import type { ClipboardAddon as ClipboardAddonType } from '@xterm/addon-clipboard'; import type { ImageAddon as ImageAddonType } from '@xterm/addon-image'; +import type { LigaturesAddon as LigaturesAddonType } from '@xterm/addon-ligatures'; import type { SearchAddon as SearchAddonType } from '@xterm/addon-search'; import type { SerializeAddon as SerializeAddonType } from '@xterm/addon-serialize'; import type { Unicode11Addon as Unicode11AddonType } from '@xterm/addon-unicode11'; @@ -14,6 +15,7 @@ import { importAMDNodeModule } from '../../../../../amdX.js'; export interface IXtermAddonNameToCtor { clipboard: typeof ClipboardAddonType; image: typeof ImageAddonType; + ligatures: typeof LigaturesAddonType; search: typeof SearchAddonType; serialize: typeof SerializeAddonType; unicode11: typeof Unicode11AddonType; @@ -39,6 +41,7 @@ export class XtermAddonImporter { switch (name) { case 'clipboard': addon = (await importAMDNodeModule('@xterm/addon-clipboard', 'lib/addon-clipboard.js')).ClipboardAddon as IXtermAddonNameToCtor[T]; break; case 'image': addon = (await importAMDNodeModule('@xterm/addon-image', 'lib/addon-image.js')).ImageAddon as IXtermAddonNameToCtor[T]; break; + case 'ligatures': addon = (await importAMDNodeModule('@xterm/addon-ligatures', 'lib/addon-ligatures.js')).LigaturesAddon as IXtermAddonNameToCtor[T]; break; case 'search': addon = (await importAMDNodeModule('@xterm/addon-search', 'lib/addon-search.js')).SearchAddon as IXtermAddonNameToCtor[T]; break; case 'serialize': addon = (await importAMDNodeModule('@xterm/addon-serialize', 'lib/addon-serialize.js')).SerializeAddon as IXtermAddonNameToCtor[T]; break; case 'unicode11': addon = (await importAMDNodeModule('@xterm/addon-unicode11', 'lib/addon-unicode11.js')).Unicode11Addon as IXtermAddonNameToCtor[T]; break; diff --git a/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.ts b/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.ts index 3b5a8c644df..8e99ecb2aef 100644 --- a/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.ts +++ b/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.ts @@ -6,6 +6,7 @@ import type { IBuffer, ITerminalOptions, ITheme, Terminal as RawXtermTerminal, LogLevel as XtermLogLevel } from '@xterm/xterm'; import type { ISearchOptions, SearchAddon as SearchAddonType } from '@xterm/addon-search'; import type { Unicode11Addon as Unicode11AddonType } from '@xterm/addon-unicode11'; +import type { LigaturesAddon as LigaturesAddonType } from '@xterm/addon-ligatures'; 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'; @@ -77,7 +78,7 @@ export interface IXtermTerminalOptions { /** Whether to disable shell integration telemetry reporting. */ disableShellIntegrationReporting?: boolean; /** The object that imports xterm addons, set this to inject an importer in tests. */ - xtermAddonImpoter?: XtermAddonImporter; + xtermAddonImporter?: XtermAddonImporter; } /** @@ -111,6 +112,7 @@ export class XtermTerminal extends Disposable implements IXtermTerminal, IDetach private _webglAddon?: WebglAddonType; private _serializeAddon?: SerializeAddonType; private _imageAddon?: ImageAddonType; + private _ligaturesAddon?: LigaturesAddonType; private readonly _attachedDisposables = this._register(new DisposableStore()); private readonly _anyTerminalFocusContextKey: IContextKey; @@ -176,7 +178,7 @@ export class XtermTerminal extends Disposable implements IXtermTerminal, IDetach ) { super(); - this._xtermAddonLoader = options.xtermAddonImpoter ?? new XtermAddonImporter(); + this._xtermAddonLoader = options.xtermAddonImporter ?? new XtermAddonImporter(); this._xtermColorProvider = options.xtermColorProvider; this._capabilities = options.capabilities; @@ -342,6 +344,14 @@ export class XtermTerminal extends Disposable implements IXtermTerminal, IDetach throw new Error('xterm elements not set after open'); } + this._xtermAddonLoader.importAddon('ligatures').then(LigaturesAddon => { + if (this._store.isDisposed) { + return; + } + this._ligaturesAddon = this._instantiationService.createInstance(LigaturesAddon); + this.raw.loadAddon(this._ligaturesAddon); + }); + const ad = this._attachedDisposables; ad.clear(); ad.add(dom.addDisposableListener(this.raw.textarea, 'focus', () => this._setFocused(true))); diff --git a/src/vs/workbench/contrib/terminal/test/browser/xterm/xtermTerminal.test.ts b/src/vs/workbench/contrib/terminal/test/browser/xterm/xtermTerminal.test.ts index af599c1c0ba..12476864b25 100644 --- a/src/vs/workbench/contrib/terminal/test/browser/xterm/xtermTerminal.test.ts +++ b/src/vs/workbench/contrib/terminal/test/browser/xterm/xtermTerminal.test.ts @@ -120,7 +120,7 @@ suite('XtermTerminal', () => { xtermColorProvider: { getBackgroundColor: () => undefined }, capabilities: capabilityStore, disableShellIntegrationReporting: true, - xtermAddonImpoter: new TestXtermAddonImporter(), + xtermAddonImporter: new TestXtermAddonImporter(), })); TestWebglAddon.shouldThrow = false; @@ -141,7 +141,7 @@ suite('XtermTerminal', () => { xterm = store.add(instantiationService.createInstance(XtermTerminal, XTermBaseCtor, { cols: 80, rows: 30, - xtermAddonImpoter: new TestXtermAddonImporter(), + xtermAddonImporter: new TestXtermAddonImporter(), xtermColorProvider: { getBackgroundColor: () => new Color(new RGBA(255, 0, 0)) }, capabilities: store.add(new TerminalCapabilityStore()), disableShellIntegrationReporting: true, @@ -177,7 +177,7 @@ suite('XtermTerminal', () => { xterm = store.add(instantiationService.createInstance(XtermTerminal, XTermBaseCtor, { cols: 80, rows: 30, - xtermAddonImpoter: new TestXtermAddonImporter(), + xtermAddonImporter: new TestXtermAddonImporter(), xtermColorProvider: { getBackgroundColor: () => undefined }, capabilities: store.add(new TerminalCapabilityStore()), disableShellIntegrationReporting: true diff --git a/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollOverlay.ts b/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollOverlay.ts index c85159b3b8b..22b51880277 100644 --- a/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollOverlay.ts +++ b/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollOverlay.ts @@ -5,10 +5,10 @@ import type { SerializeAddon as SerializeAddonType } from '@xterm/addon-serialize'; import type { WebglAddon as WebglAddonType } from '@xterm/addon-webgl'; +import type { LigaturesAddon as LigaturesAddonType } from '@xterm/addon-ligatures'; import type { IBufferLine, IMarker, ITerminalOptions, ITheme, Terminal as RawXtermTerminal, Terminal as XTermTerminal } from '@xterm/xterm'; -import { importAMDNodeModule } from '../../../../../amdX.js'; import { $, addDisposableListener, addStandardDisposableListener, getWindow } from '../../../../../base/browser/dom.js'; -import { memoize, throttle } from '../../../../../base/common/decorators.js'; +import { throttle } from '../../../../../base/common/decorators.js'; import { Event } from '../../../../../base/common/event.js'; import { Disposable, MutableDisposable, combinedDisposable, toDisposable } from '../../../../../base/common/lifecycle.js'; import { removeAnsiEscapeCodes } from '../../../../../base/common/strings.js'; @@ -29,6 +29,7 @@ import { TERMINAL_CONFIG_SECTION, TerminalCommandId } from '../../../terminal/co import { terminalStrings } from '../../../terminal/common/terminalStrings.js'; import { TerminalStickyScrollSettingId } from '../common/terminalStickyScrollConfiguration.js'; import { terminalStickyScrollBackground, terminalStickyScrollHoverBackground } from './terminalStickyScrollColorRegistry.js'; +import { XtermAddonImporter } from '../../../terminal/browser/xterm/xtermAddonImporter.js'; const enum OverlayState { /** Initial state/disabled by the alt buffer. */ @@ -46,8 +47,11 @@ const enum Constants { export class TerminalStickyScrollOverlay extends Disposable { private _stickyScrollOverlay?: RawXtermTerminal; + + private readonly _xtermAddonLoader = new XtermAddonImporter(); private _serializeAddon?: SerializeAddonType; private _webglAddon?: WebglAddonType; + private _ligaturesAddon?: LigaturesAddonType; private _element?: HTMLElement; private _currentStickyCommand?: ITerminalCommand | ICurrentPartialCommand; @@ -105,6 +109,15 @@ export class TerminalStickyScrollOverlay extends Disposable { ...this._getOptions() })); this._refreshGpuAcceleration(); + + this._xtermAddonLoader.importAddon('ligatures').then(LigaturesAddon => { + if (this._store.isDisposed || !this._stickyScrollOverlay) { + return; + } + this._ligaturesAddon = new LigaturesAddon(); + this._stickyScrollOverlay.loadAddon(this._ligaturesAddon); + }); + this._register(configurationService.onDidChangeConfiguration(e => { if (e.affectsConfiguration(TERMINAL_CONFIG_SECTION)) { this._syncOptions(); @@ -123,7 +136,7 @@ export class TerminalStickyScrollOverlay extends Disposable { } })); - this._getSerializeAddonConstructor().then(SerializeAddon => { + this._xtermAddonLoader.importAddon('serialize').then(SerializeAddon => { if (this._store.isDisposed) { return; } @@ -454,7 +467,7 @@ export class TerminalStickyScrollOverlay extends Disposable { @throttle(0) private async _refreshGpuAcceleration() { if (this._shouldLoadWebgl() && !this._webglAddon) { - const WebglAddon = await this._getWebglAddonConstructor(); + const WebglAddon = await this._xtermAddonLoader.importAddon('webgl'); if (this._store.isDisposed) { return; } @@ -481,16 +494,6 @@ export class TerminalStickyScrollOverlay extends Disposable { selectionInactiveBackground: undefined }; } - - @memoize - private async _getSerializeAddonConstructor(): Promise { - return (await importAMDNodeModule('@xterm/addon-serialize', 'lib/addon-serialize.js')).SerializeAddon; - } - - @memoize - private async _getWebglAddonConstructor(): Promise { - return (await importAMDNodeModule('@xterm/addon-webgl', 'lib/addon-webgl.js')).WebglAddon; - } } function lineStartsWith(line: IBufferLine | undefined, text: string): boolean {