summaryrefslogtreecommitdiff
path: root/continuedev/src
diff options
context:
space:
mode:
authorNate Sesti <sestinj@gmail.com>2023-07-10 15:56:11 -0700
committerNate Sesti <sestinj@gmail.com>2023-07-10 15:56:11 -0700
commit924a0c09259d25a4dfe62c0a626a9204df45daa9 (patch)
tree78647e8ce95fbba95d3d668d06a1cdde507a9d92 /continuedev/src
parentb158edca175cae8a80773f88a65785728b99f17e (diff)
downloadsncontinue-924a0c09259d25a4dfe62c0a626a9204df45daa9.tar.gz
sncontinue-924a0c09259d25a4dfe62c0a626a9204df45daa9.tar.bz2
sncontinue-924a0c09259d25a4dfe62c0a626a9204df45daa9.zip
Allow loading of config.py to fail
Diffstat (limited to 'continuedev/src')
-rw-r--r--continuedev/src/continuedev/core/policy.py3
-rw-r--r--continuedev/src/continuedev/core/sdk.py22
2 files changed, 17 insertions, 8 deletions
diff --git a/continuedev/src/continuedev/core/policy.py b/continuedev/src/continuedev/core/policy.py
index 93946cb6..86e85e7e 100644
--- a/continuedev/src/continuedev/core/policy.py
+++ b/continuedev/src/continuedev/core/policy.py
@@ -85,6 +85,9 @@ class DemoPolicy(Policy):
if custom_command is not None:
return custom_command
+ if user_input.startswith("/edit"):
+ return EditHighlightedCodeStep(user_input=user_input[5:])
+
return SimpleChatStep()
return None
diff --git a/continuedev/src/continuedev/core/sdk.py b/continuedev/src/continuedev/core/sdk.py
index f67198a8..48d41f7c 100644
--- a/continuedev/src/continuedev/core/sdk.py
+++ b/continuedev/src/continuedev/core/sdk.py
@@ -166,14 +166,20 @@ class ContinueSDK(AbstractContinueSDK):
async def get_user_secret(self, env_var: str, prompt: str) -> str:
return await self.ide.getUserSecret(env_var)
- @staticmethod
- def load_config_dot_py(path: str) -> ContinueConfig:
+ _last_valid_config: ContinueConfig = None
+
+ def load_config_dot_py(self, path: str) -> ContinueConfig:
# Use importlib to load the config file config.py at the given path
- import importlib.util
- spec = importlib.util.spec_from_file_location("config", path)
- config = importlib.util.module_from_spec(spec)
- spec.loader.exec_module(config)
- return config.config
+ try:
+ import importlib.util
+ spec = importlib.util.spec_from_file_location("config", path)
+ config = importlib.util.module_from_spec(spec)
+ spec.loader.exec_module(config)
+ self._last_valid_config = config.config
+ return config.config
+ except Exception as e:
+ print("Error loading config.py: ", e)
+ return ContinueConfig() if self._last_valid_config is None else self._last_valid_config
@property
def config(self) -> ContinueConfig:
@@ -189,7 +195,7 @@ class ContinueSDK(AbstractContinueSDK):
# Need to copy over the default config
return ContinueConfig()
- config = ContinueSDK.load_config_dot_py(path)
+ config = self.load_config_dot_py(path)
return config
def update_default_model(self, model: str):