Skip to content

Commit 83fbec1

Browse files
committed
fix: more readonly addons
1 parent 0aba1f7 commit 83fbec1

File tree

1 file changed

+22
-18
lines changed

1 file changed

+22
-18
lines changed

src/renderer/compositions/terminal.ts

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -258,14 +258,14 @@ const baseTerminalOptions = $computed<Partial<ITerminalOptions>>(() => {
258258
lineHeight: settings['terminal.style.lineHeight'] / 1.2,
259259
screenReaderMode: a11yEnabled,
260260
theme: { ...theme },
261+
linkHandler: {
262+
activate: handleTerminalLink,
263+
},
261264
}
262265
})
263266

264267
const interactiveTerminalOptions = $computed<Partial<ITerminalOptions>>(() => {
265268
return {
266-
linkHandler: {
267-
activate: handleTerminalLink,
268-
},
269269
overviewRulerWidth: 16,
270270
}
271271
})
@@ -615,18 +615,8 @@ function loadBaseTerminalAddons(tab: TerminalTab, xterm: Terminal, addons: Recor
615615
}
616616
}
617617

618-
function loadInteractiveTerminalAddons(tab: TerminalTab, xterm: Terminal, addons: Record<string, any>) {
619-
if (settings['terminal.shell.integration']) {
620-
if (!addons.shellIntegration) {
621-
addons.shellIntegration = new ShellIntegrationAddon(tab)
622-
xterm.loadAddon(addons.shellIntegration)
623-
}
624-
} else {
625-
if (addons.shellIntegration) {
626-
addons.shellIntegration.dispose()
627-
delete addons.shellIntegration
628-
}
629-
}
618+
function loadReadonlyTerminalAddons(tab: TerminalTab, xterm: Terminal, addons: Record<string, any>) {
619+
loadBaseTerminalAddons(tab, xterm, addons)
630620
if (!addons.search) {
631621
addons.search = new SearchAddon()
632622
xterm.loadAddon(addons.search)
@@ -641,10 +631,24 @@ function loadInteractiveTerminalAddons(tab: TerminalTab, xterm: Terminal, addons
641631
}
642632
}
643633

634+
function loadInteractiveTerminalAddons(tab: TerminalTab, xterm: Terminal, addons: Record<string, any>) {
635+
if (settings['terminal.shell.integration']) {
636+
if (!addons.shellIntegration) {
637+
addons.shellIntegration = new ShellIntegrationAddon(tab)
638+
xterm.loadAddon(addons.shellIntegration)
639+
}
640+
} else {
641+
if (addons.shellIntegration) {
642+
addons.shellIntegration.dispose()
643+
delete addons.shellIntegration
644+
}
645+
}
646+
}
647+
644648
function loadTerminalAddons(tab: TerminalTab) {
645649
const xterm = tab.xterm
646650
const addons: Record<string, any> = tab.addons
647-
loadBaseTerminalAddons(tab, xterm, addons)
651+
loadReadonlyTerminalAddons(tab, xterm, addons)
648652
loadInteractiveTerminalAddons(tab, xterm, addons)
649653
nextTick(() => {
650654
commas.proxy.app.events.emit('terminal.addons-loaded', tab)
@@ -654,7 +658,7 @@ function loadTerminalAddons(tab: TerminalTab) {
654658
function loadStickyTerminalAddons(tab: TerminalTab) {
655659
const xterm = tab.stickyXterm!
656660
const addons: Record<string, any> = tab.stickyAddons!
657-
loadBaseTerminalAddons(tab, xterm, addons)
661+
loadReadonlyTerminalAddons(tab, xterm, addons)
658662
}
659663

660664
export function useReadonlyTerminal(
@@ -675,7 +679,7 @@ export function useReadonlyTerminal(
675679
xterm.options[key] = value
676680
}
677681
const currentTab = toValue(tab)
678-
loadBaseTerminalAddons(currentTab, xterm, addons)
682+
loadReadonlyTerminalAddons(currentTab, xterm, addons)
679683
})
680684
useTerminalElement(
681685
element,

0 commit comments

Comments
 (0)