summaryrefslogtreecommitdiff
path: root/extension
diff options
context:
space:
mode:
Diffstat (limited to 'extension')
-rw-r--r--extension/package-lock.json4
-rw-r--r--extension/package.json2
-rw-r--r--extension/scripts/continuedev-0.1.1-py3-none-any.whlbin84332 -> 85071 bytes
-rw-r--r--extension/src/activation/environmentSetup.ts33
-rw-r--r--extension/src/continueIdeClient.ts18
5 files changed, 36 insertions, 21 deletions
diff --git a/extension/package-lock.json b/extension/package-lock.json
index e4387636..c5d97cfb 100644
--- a/extension/package-lock.json
+++ b/extension/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "continue",
- "version": "0.0.54",
+ "version": "0.0.55",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "continue",
- "version": "0.0.54",
+ "version": "0.0.55",
"license": "Apache-2.0",
"dependencies": {
"@electron/rebuild": "^3.2.10",
diff --git a/extension/package.json b/extension/package.json
index 0cbe1d27..036d13f0 100644
--- a/extension/package.json
+++ b/extension/package.json
@@ -14,7 +14,7 @@
"displayName": "Continue",
"pricing": "Free",
"description": "Refine code 10x faster",
- "version": "0.0.54",
+ "version": "0.0.55",
"publisher": "Continue",
"engines": {
"vscode": "^1.74.0"
diff --git a/extension/scripts/continuedev-0.1.1-py3-none-any.whl b/extension/scripts/continuedev-0.1.1-py3-none-any.whl
index 2e45a933..9d371e17 100644
--- a/extension/scripts/continuedev-0.1.1-py3-none-any.whl
+++ b/extension/scripts/continuedev-0.1.1-py3-none-any.whl
Binary files differ
diff --git a/extension/src/activation/environmentSetup.ts b/extension/src/activation/environmentSetup.ts
index bc071461..593b727e 100644
--- a/extension/src/activation/environmentSetup.ts
+++ b/extension/src/activation/environmentSetup.ts
@@ -161,6 +161,21 @@ function writeEnvFile(path: string, key: string, value: string) {
fs.writeFileSync(path, newEnvFile);
}
+async function checkServerRunning(serverUrl: string): Promise<boolean> {
+ // Check if already running by calling /health
+ try {
+ const response = await fetch(serverUrl + "/health");
+ if (response.status === 200) {
+ console.log("Continue python server already running");
+ return true;
+ } else {
+ return false;
+ }
+ } catch (e) {
+ return false;
+ }
+}
+
export async function startContinuePythonServer() {
await setupPythonEnv();
@@ -172,14 +187,7 @@ export async function startContinuePythonServer() {
console.log("Starting Continue python server...");
- // Check if already running by calling /health
- try {
- const response = await fetch(serverUrl + "/health");
- if (response.status === 200) {
- console.log("Continue python server already running");
- return;
- }
- } catch (e) {}
+ if (await checkServerRunning(serverUrl)) return;
let activateCmd = ". env/bin/activate";
let pythonCmd = "python3";
@@ -193,7 +201,7 @@ export async function startContinuePythonServer() {
"scripts"
)} && ${activateCmd} && cd .. && ${pythonCmd} -m scripts.run_continue_server`;
- return new Promise((resolve, reject) => {
+ return new Promise(async (resolve, reject) => {
try {
const child = spawn(command, {
shell: true,
@@ -213,7 +221,12 @@ export async function startContinuePythonServer() {
});
} catch (e) {
console.log("Failed to start Continue python server", e);
- reject();
+ // If failed, check if it's because the server is already running (might have happened just after we checked above)
+ if (await checkServerRunning(serverUrl)) {
+ resolve(null);
+ } else {
+ reject();
+ }
}
});
}
diff --git a/extension/src/continueIdeClient.ts b/extension/src/continueIdeClient.ts
index b4937ac4..3b5de93f 100644
--- a/extension/src/continueIdeClient.ts
+++ b/extension/src/continueIdeClient.ts
@@ -158,15 +158,17 @@ class IdeProtocolClient {
});
editor.setDecorations(decorationType, [range]);
- // Listen for changes to cursor position
- const cursorDisposable = vscode.window.onDidChangeTextEditorSelection(
- (event) => {
- if (event.textEditor.document.uri.fsPath === rangeInFile.filepath) {
- cursorDisposable.dispose();
- editor.setDecorations(decorationType, []);
+ // Listen for changes to cursor position and then remove the decoration (but keep for at least 2 seconds)
+ setTimeout(() => {
+ const cursorDisposable = vscode.window.onDidChangeTextEditorSelection(
+ (event) => {
+ if (event.textEditor.document.uri.fsPath === rangeInFile.filepath) {
+ cursorDisposable.dispose();
+ editor.setDecorations(decorationType, []);
+ }
}
- }
- );
+ );
+ }, 2000);
}
}