diff options
author | Nate Sesti <33237525+sestinj@users.noreply.github.com> | 2023-10-09 18:37:27 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-09 18:37:27 -0700 |
commit | f09150617ed2454f3074bcf93f53aae5ae637d40 (patch) | |
tree | 5cfe614a64d921dfe58b049f426d67a8b832c71f /extension/src/activation/activate.ts | |
parent | 985304a213f620cdff3f8f65f74ed7e3b79be29d (diff) | |
download | sncontinue-f09150617ed2454f3074bcf93f53aae5ae637d40.tar.gz sncontinue-f09150617ed2454f3074bcf93f53aae5ae637d40.tar.bz2 sncontinue-f09150617ed2454f3074bcf93f53aae5ae637d40.zip |
Preview (#541)
* Strong typing (#533)
* refactor: :recycle: get rid of continuedev.src.continuedev structure
* refactor: :recycle: switching back to server folder
* feat: :sparkles: make config.py imports shorter
* feat: :bookmark: publish as pre-release vscode extension
* refactor: :recycle: refactor and add more completion params to ui
* build: :building_construction: download from preview S3
* fix: :bug: fix paths
* fix: :green_heart: package:pre-release
* ci: :green_heart: more time for tests
* fix: :green_heart: fix build scripts
* fix: :bug: fix import in run.py
* fix: :bookmark: update version to try again
* ci: 💚 Update package.json version [skip ci]
* refactor: :fire: don't check for old extensions version
* fix: :bug: small bug fixes
* fix: :bug: fix config.py import paths
* ci: 💚 Update package.json version [skip ci]
* ci: :green_heart: platform-specific builds test #1
* feat: :green_heart: ship with binary
* fix: :green_heart: fix copy statement to include.exe for windows
* fix: :green_heart: cd extension before packaging
* chore: :loud_sound: count tokens generated
* fix: :green_heart: remove npm_config_arch
* fix: :green_heart: publish as pre-release!
* chore: :bookmark: update version
* perf: :green_heart: hardcode distro paths
* fix: :bug: fix yaml syntax error
* chore: :bookmark: update version
* fix: :green_heart: update permissions and version
* feat: :bug: kill old server if needed
* feat: :lipstick: update marketplace icon for pre-release
* ci: 💚 Update package.json version [skip ci]
* feat: :sparkles: auto-reload for config.py
* feat: :wrench: update default config.py imports
* feat: :sparkles: codelens in config.py
* feat: :sparkles: select model param count from UI
* ci: 💚 Update package.json version [skip ci]
* feat: :sparkles: more model options, ollama error handling
* perf: :zap: don't show server loading immediately
* fix: :bug: fixing small UI details
* ci: 💚 Update package.json version [skip ci]
* feat: :rocket: headers param on LLM class
* fix: :bug: fix headers for openai.;y
* feat: :sparkles: highlight code on cmd+shift+L
* ci: 💚 Update package.json version [skip ci]
* feat: :lipstick: sticky top bar in gui.tsx
* fix: :loud_sound: websocket logging and horizontal scrollbar
* ci: 💚 Update package.json version [skip ci]
* feat: :sparkles: allow AzureOpenAI Service through GGML
* ci: 💚 Update package.json version [skip ci]
* fix: :bug: fix automigration
* ci: 💚 Update package.json version [skip ci]
* ci: :green_heart: upload binaries in ci, download apple silicon
* chore: :fire: remove notes
* fix: :green_heart: use curl to download binary
* fix: :green_heart: set permissions on apple silicon binary
* fix: :green_heart: testing
* fix: :green_heart: cleanup file
* fix: :green_heart: fix preview.yaml
* fix: :green_heart: only upload once per binary
* fix: :green_heart: install rosetta
* ci: :green_heart: download binary after tests
* ci: 💚 Update package.json version [skip ci]
* ci: :green_heart: prepare ci for merge to main
---------
Co-authored-by: GitHub Action <action@github.com>
Diffstat (limited to 'extension/src/activation/activate.ts')
-rw-r--r-- | extension/src/activation/activate.ts | 62 |
1 files changed, 34 insertions, 28 deletions
diff --git a/extension/src/activation/activate.ts b/extension/src/activation/activate.ts index 9fcaf685..edd13137 100644 --- a/extension/src/activation/activate.ts +++ b/extension/src/activation/activate.ts @@ -22,6 +22,39 @@ function getExtensionVersionInt(versionString: string): number { return parseInt(versionString.replace(/\./g, "")); } +function addPythonPathForConfig() { + // Add to python.analysis.extraPaths global setting so config.py gets LSP + + if ( + vscode.workspace.workspaceFolders?.some((folder) => + folder.uri.fsPath.endsWith("continue") + ) + ) { + // Not for the Continue repo + return; + } + + const pythonConfig = vscode.workspace.getConfiguration("python"); + const analysisPaths = pythonConfig.get<string[]>("analysis.extraPaths"); + const autoCompletePaths = pythonConfig.get<string[]>( + "autoComplete.extraPaths" + ); + const pathToAdd = extensionContext?.extensionPath; + if (analysisPaths && pathToAdd && !analysisPaths.includes(pathToAdd)) { + analysisPaths.push(pathToAdd); + pythonConfig.update("analysis.extraPaths", analysisPaths); + } + + if ( + autoCompletePaths && + pathToAdd && + !autoCompletePaths.includes(pathToAdd) + ) { + autoCompletePaths.push(pathToAdd); + pythonConfig.update("autoComplete.extraPaths", autoCompletePaths); + } +} + export async function activateExtension(context: vscode.ExtensionContext) { extensionContext = context; console.log("Using Continue version: ", getExtensionVersion()); @@ -33,39 +66,12 @@ export async function activateExtension(context: vscode.ExtensionContext) { } catch (e) { console.log("Error getting workspace folder: ", e); } - // Before anything else, check whether this is an out-of-date version of the extension - // Do so by grabbing the package.json off of the GitHub repository for now. - fetch(PACKAGE_JSON_RAW_GITHUB_URL) - .then(async (res) => res.json()) - .then((packageJson) => { - const n1 = getExtensionVersionInt(packageJson.version); - const n2 = getExtensionVersionInt(getExtensionVersion()); - if (Math.abs(n1 - n2) > 1) { - // Accept up to 1 version difference - vscode.window.showInformationMessage( - `You are using an out-of-date version of the Continue extension. Please update to the latest version.` - ); - } - }) - .catch((e) => console.log("Error checking for extension updates: ", e)); - - // Add to python.analysis.extraPaths global setting - // const pythonConfig = vscode.workspace.getConfiguration("python"); - // const extraPaths = pythonConfig.get<string[]>("analysis.extraPaths"); - // const pathToAdd = path.join(os.homedir(), ".continue", "server"); - // if (extraPaths) { - // if (!extraPaths.includes(pathToAdd)) { - // extraPaths.push(pathToAdd); - // pythonConfig.update("analysis.extraPaths", extraPaths); - // } - // } else { - // pythonConfig.update("analysis.extraPaths", [pathToAdd]); - // } // Register commands and providers registerAllCodeLensProviders(context); registerAllCommands(context); registerQuickFixProvider(); + addPythonPathForConfig(); // Start the server const sessionIdPromise = (async () => { |