diff options
Diffstat (limited to 'extension')
| -rw-r--r-- | extension/package-lock.json | 4 | ||||
| -rw-r--r-- | extension/package.json | 2 | ||||
| -rw-r--r-- | extension/scripts/continuedev-0.1.1-py3-none-any.whl | bin | 84332 -> 85071 bytes | |||
| -rw-r--r-- | extension/src/activation/environmentSetup.ts | 33 | ||||
| -rw-r--r-- | extension/src/continueIdeClient.ts | 18 | 
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.whlBinary files differ 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 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);      }    } | 
