summaryrefslogtreecommitdiff
path: root/extension/src/activation/activate.ts
diff options
context:
space:
mode:
authorNate Sesti <sestinj@gmail.com>2023-06-15 23:42:25 -0700
committerNate Sesti <sestinj@gmail.com>2023-06-15 23:42:25 -0700
commitc188ba78c5efb82b8701d285b11e9d198eda8f86 (patch)
tree195550cf12238804b356f07c20e7ea43dad104ac /extension/src/activation/activate.ts
parent98f39f90c030dd107e0bb317fbd396cd432d7f0b (diff)
downloadsncontinue-c188ba78c5efb82b8701d285b11e9d198eda8f86.tar.gz
sncontinue-c188ba78c5efb82b8701d285b11e9d198eda8f86.tar.bz2
sncontinue-c188ba78c5efb82b8701d285b11e9d198eda8f86.zip
handle and explain tracebacks
Diffstat (limited to 'extension/src/activation/activate.ts')
-rw-r--r--extension/src/activation/activate.ts32
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;
}