summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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):