@@ -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
264267const 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+
644648function 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) {
654658function 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
660664export 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