summaryrefslogtreecommitdiff
path: root/extension/src/activation/activate.ts
diff options
context:
space:
mode:
authorNate Sesti <33237525+sestinj@users.noreply.github.com>2023-10-09 18:37:27 -0700
committerGitHub <noreply@github.com>2023-10-09 18:37:27 -0700
commitf09150617ed2454f3074bcf93f53aae5ae637d40 (patch)
tree5cfe614a64d921dfe58b049f426d67a8b832c71f /extension/src/activation/activate.ts
parent985304a213f620cdff3f8f65f74ed7e3b79be29d (diff)
downloadsncontinue-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.ts62
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 () => {