disable bracketed paste mode. increase max for termscrollback to 50k

This commit is contained in:
sawka 2024-12-18 15:34:02 -08:00
parent 5fa65107c9
commit d6af5be14d
2 changed files with 5 additions and 8 deletions

View File

@ -43,7 +43,7 @@ wsh editconfig
| term:localshellpath | string | set to override the default shell path for local terminals | | term:localshellpath | string | set to override the default shell path for local terminals |
| term:localshellopts | string[] | set to pass additional parameters to the term:localshellpath (example: `["-NoLogo"]` for PowerShell will remove the copyright notice) | | term:localshellopts | string[] | set to pass additional parameters to the term:localshellpath (example: `["-NoLogo"]` for PowerShell will remove the copyright notice) |
| term:copyonselect | bool | set to false to disable terminal copy-on-select | | term:copyonselect | bool | set to false to disable terminal copy-on-select |
| term:scrollback | int | size of terminal scrollback buffer, max is 10000 | | term:scrollback | int | size of terminal scrollback buffer, default is 2000, max is 50000 (setting this too high may cause performance issues) |
| editor:minimapenabled | bool | set to false to disable editor minimap | | editor:minimapenabled | bool | set to false to disable editor minimap |
| editor:stickyscrollenabled | bool | enables monaco editor's stickyScroll feature (pinning headers of current context, e.g. class names, method names, etc.), defaults to false | | editor:stickyscrollenabled | bool | enables monaco editor's stickyScroll feature (pinning headers of current context, e.g. class names, method names, etc.), defaults to false |
| editor:wordwrap | bool | set to true to enable word wrapping in the editor (defaults to false) | | editor:wordwrap | bool | set to true to enable word wrapping in the editor (defaults to false) |

View File

@ -24,6 +24,7 @@ import {
} from "@/store/global"; } from "@/store/global";
import * as services from "@/store/services"; import * as services from "@/store/services";
import * as keyutil from "@/util/keyutil"; import * as keyutil from "@/util/keyutil";
import { boundNumber } from "@/util/util";
import clsx from "clsx"; import clsx from "clsx";
import debug from "debug"; import debug from "debug";
import * as jotai from "jotai"; import * as jotai from "jotai";
@ -735,19 +736,14 @@ const TerminalView = ({ blockId, model }: TerminalViewProps) => {
const fullConfig = globalStore.get(atoms.fullConfigAtom); const fullConfig = globalStore.get(atoms.fullConfigAtom);
const termThemeName = globalStore.get(model.termThemeNameAtom); const termThemeName = globalStore.get(model.termThemeNameAtom);
const [termTheme, _] = computeTheme(fullConfig, termThemeName); const [termTheme, _] = computeTheme(fullConfig, termThemeName);
let termScrollback = 1000; let termScrollback = 2000;
if (termSettings?.["term:scrollback"]) { if (termSettings?.["term:scrollback"]) {
termScrollback = Math.floor(termSettings["term:scrollback"]); termScrollback = Math.floor(termSettings["term:scrollback"]);
} }
if (blockData?.meta?.["term:scrollback"]) { if (blockData?.meta?.["term:scrollback"]) {
termScrollback = Math.floor(blockData.meta["term:scrollback"]); termScrollback = Math.floor(blockData.meta["term:scrollback"]);
} }
if (termScrollback < 0) { termScrollback = boundNumber(termScrollback, 0, 50000);
termScrollback = 0;
}
if (termScrollback > 10000) {
termScrollback = 10000;
}
const wasFocused = model.termRef.current != null && globalStore.get(model.nodeModel.isFocused); const wasFocused = model.termRef.current != null && globalStore.get(model.nodeModel.isFocused);
const termWrap = new TermWrap( const termWrap = new TermWrap(
blockId, blockId,
@ -761,6 +757,7 @@ const TerminalView = ({ blockId, model }: TerminalViewProps) => {
fontWeightBold: "bold", fontWeightBold: "bold",
allowTransparency: true, allowTransparency: true,
scrollback: termScrollback, scrollback: termScrollback,
ignoreBracketedPasteMode: true,
}, },
{ {
keydownHandler: model.handleTerminalKeydown.bind(model), keydownHandler: model.handleTerminalKeydown.bind(model),