diff options
author | Nate Sesti <sestinj@gmail.com> | 2023-06-15 23:42:25 -0700 |
---|---|---|
committer | Nate Sesti <sestinj@gmail.com> | 2023-06-15 23:42:25 -0700 |
commit | 1ba5e81852f8af85f0f88536545f075ee45b454b (patch) | |
tree | b939c54c3490521ada2d84e9da9c8f160534b27a /extension/src/activation/activate.ts | |
parent | 661ce01334b82a74426f2c30df59318c3e847f4f (diff) | |
download | sncontinue-1ba5e81852f8af85f0f88536545f075ee45b454b.tar.gz sncontinue-1ba5e81852f8af85f0f88536545f075ee45b454b.tar.bz2 sncontinue-1ba5e81852f8af85f0f88536545f075ee45b454b.zip |
handle and explain tracebacks
Diffstat (limited to 'extension/src/activation/activate.ts')
-rw-r--r-- | extension/src/activation/activate.ts | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/extension/src/activation/activate.ts b/extension/src/activation/activate.ts index 135a8ec7..77010241 100644 --- a/extension/src/activation/activate.ts +++ b/extension/src/activation/activate.ts @@ -8,6 +8,7 @@ import * as path from "path"; import IdeProtocolClient from "../continueIdeClient"; import { getContinueServerUrl } from "../bridge"; import { setupDebugPanel, ContinueGUIWebviewViewProvider } from "../debugPanel"; +import { CapturedTerminal } from "../terminal/terminalEmulator"; export let extensionContext: vscode.ExtensionContext | undefined = undefined; @@ -47,5 +48,36 @@ export function activateExtension( ); })(); + // All opened terminals should be replaced by our own terminal + vscode.window.onDidOpenTerminal((terminal) => { + if (terminal.name === "Continue") { + return; + } + const options = terminal.creationOptions; + const capturedTerminal = new CapturedTerminal({ + ...options, + name: "Continue", + }); + terminal.dispose(); + }); + + // If any terminals are open to start, replace them + vscode.window.terminals.forEach((terminal) => { + if (terminal.name === "Continue") { + return; + } + const options = terminal.creationOptions; + const capturedTerminal = new CapturedTerminal( + { + ...options, + name: "Continue", + }, + (commandOutput: string) => { + ideProtocolClient.sendCommandOutput(commandOutput); + } + ); + terminal.dispose(); + }); + extensionContext = context; } |