Fix #1861 - Use addon to fit lines instead of truncating (#1867)

This commit is contained in:
Andrea Giammarchi
2023-11-27 15:05:23 +01:00
committed by GitHub
parent a4343c62ca
commit 30396ba79a
5 changed files with 23 additions and 1 deletions

View File

@@ -22,6 +22,7 @@
"@rollup/plugin-node-resolve": "^15.2.3",
"@rollup/plugin-terser": "^0.4.4",
"@webreflection/toml-j0.4": "^1.1.3",
"@xterm/addon-fit": "^0.9.0-beta.1",
"chokidar": "^3.5.3",
"eslint": "^8.54.0",
"rollup": "^4.5.1",
@@ -566,6 +567,15 @@
"integrity": "sha512-ragv0U1Hy9JTyFpUqApu/UwF4Qhn0Y5GnQR4Bmy/+wYLKbHNS6hLN6bJR44v5DumaocJ4vpF6HVtYWeDJVs3qg==",
"dev": true
},
"node_modules/@xterm/addon-fit": {
"version": "0.9.0-beta.1",
"resolved": "https://registry.npmjs.org/@xterm/addon-fit/-/addon-fit-0.9.0-beta.1.tgz",
"integrity": "sha512-HmGRUMMamUpQYuQBF2VP1LJ0xzqF85LMFfpaNu84t1Tsrl1lPKJWtqX9FDZ22Rf5q6bnKdbj44TRVAUHgDRbLA==",
"dev": true,
"peerDependencies": {
"xterm": "^5.0.0"
}
},
"node_modules/acorn": {
"version": "8.10.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz",

View File

@@ -52,6 +52,7 @@
"@rollup/plugin-node-resolve": "^15.2.3",
"@rollup/plugin-terser": "^0.4.4",
"@webreflection/toml-j0.4": "^1.1.3",
"@xterm/addon-fit": "^0.9.0-beta.1",
"chokidar": "^3.5.3",
"eslint": "^8.54.0",
"rollup": "^4.5.1",

View File

@@ -42,6 +42,9 @@ const modules = {
(b) => b.text(),
),
"xterm-readline.js": resolve("xterm-readline"),
"xterm_addon-fit.js": fetch(`${CDN}/@xterm/addon-fit/+esm`).then((b) =>
b.text(),
),
};
for (const [target, source] of Object.entries(modules)) {

View File

@@ -40,9 +40,10 @@ const pyTerminal = async () => {
);
// lazy load these only when a valid terminal is found
const [{ Terminal }, { Readline }] = await Promise.all([
const [{ Terminal }, { Readline }, { FitAddon }] = await Promise.all([
import(/* webpackIgnore: true */ "../3rd-party/xterm.js"),
import(/* webpackIgnore: true */ "../3rd-party/xterm-readline.js"),
import(/* webpackIgnore: true */ "../3rd-party/xterm_addon-fit.js"),
]);
const readline = new Readline();
@@ -69,8 +70,11 @@ const pyTerminal = async () => {
},
...options,
});
const fitAddon = new FitAddon();
terminal.loadAddon(fitAddon);
terminal.loadAddon(readline);
terminal.open(target);
fitAddon.fit();
terminal.focus();
};

View File

@@ -0,0 +1,4 @@
declare var i: any;
declare var o: any;
declare var s: {};
export { i as FitAddon, o as __esModule, s as default };