summaryrefslogtreecommitdiff
path: root/extension/src/activation/activate.ts
diff options
context:
space:
mode:
Diffstat (limited to 'extension/src/activation/activate.ts')
-rw-r--r--extension/src/activation/activate.ts71
1 files changed, 71 insertions, 0 deletions
diff --git a/extension/src/activation/activate.ts b/extension/src/activation/activate.ts
new file mode 100644
index 00000000..a0aa560b
--- /dev/null
+++ b/extension/src/activation/activate.ts
@@ -0,0 +1,71 @@
+import * as vscode from "vscode";
+import { registerAllCommands } from "../commands";
+import { registerAllCodeLensProviders } from "../lang-server/codeLens";
+import { sendTelemetryEvent, TelemetryEvent } from "../telemetry";
+import { getExtensionUri } from "../util/vscode";
+import * as path from "path";
+// import { openCapturedTerminal } from "../terminal/terminalEmulator";
+import IdeProtocolClient from "../continueIdeClient";
+import { getContinueServerUrl } from "../bridge";
+
+export let extensionContext: vscode.ExtensionContext | undefined = undefined;
+
+export let ideProtocolClient: IdeProtocolClient | undefined = undefined;
+
+export function activateExtension(
+ context: vscode.ExtensionContext,
+ showTutorial: boolean
+) {
+ sendTelemetryEvent(TelemetryEvent.ExtensionActivated);
+
+ registerAllCodeLensProviders(context);
+ registerAllCommands(context);
+
+ let serverUrl = getContinueServerUrl();
+
+ ideProtocolClient = new IdeProtocolClient(
+ serverUrl.replace("http", "ws") + "/ide/ws",
+ context
+ );
+
+ if (showTutorial && false) {
+ Promise.all([
+ vscode.workspace
+ .openTextDocument(
+ path.join(getExtensionUri().fsPath, "examples/python/sum.py")
+ )
+ .then((document) =>
+ vscode.window.showTextDocument(document, {
+ preview: false,
+ viewColumn: vscode.ViewColumn.One,
+ })
+ ),
+
+ vscode.workspace
+ .openTextDocument(
+ path.join(getExtensionUri().fsPath, "examples/python/main.py")
+ )
+ .then((document) =>
+ vscode.window
+ .showTextDocument(document, {
+ preview: false,
+ viewColumn: vscode.ViewColumn.One,
+ })
+ .then((editor) => {
+ editor.revealRange(
+ new vscode.Range(0, 0, 0, 0),
+ vscode.TextEditorRevealType.InCenter
+ );
+ })
+ ),
+ ]).then(() => {
+ ideProtocolClient?.openNotebook();
+ });
+ } else {
+ // ideProtocolClient?.openNotebook().then(() => {
+ // // openCapturedTerminal();
+ // });
+ }
+
+ extensionContext = context;
+}