summaryrefslogtreecommitdiff
path: root/continuedev/src
diff options
context:
space:
mode:
authorTy Dunn <ty@tydunn.com>2023-07-03 23:12:12 -0700
committerTy Dunn <ty@tydunn.com>2023-07-03 23:12:12 -0700
commit6ad704508f2550cba76d98b88d8483848f0c5ea6 (patch)
tree08bf51f99e98e9f9598ac8ae6793fab44b0da116 /continuedev/src
parent56d69a45893723d700503e0ac6c928afb6c2bfa6 (diff)
downloadsncontinue-6ad704508f2550cba76d98b88d8483848f0c5ea6.tar.gz
sncontinue-6ad704508f2550cba76d98b88d8483848f0c5ea6.tar.bz2
sncontinue-6ad704508f2550cba76d98b88d8483848f0c5ea6.zip
getting custom cmds working
Diffstat (limited to 'continuedev/src')
-rw-r--r--continuedev/src/continuedev/core/policy.py5
-rw-r--r--continuedev/src/continuedev/steps/custom_command.py16
-rw-r--r--continuedev/src/continuedev/steps/open_config.py4
3 files changed, 24 insertions, 1 deletions
diff --git a/continuedev/src/continuedev/core/policy.py b/continuedev/src/continuedev/core/policy.py
index 385b846f..48f8fbac 100644
--- a/continuedev/src/continuedev/core/policy.py
+++ b/continuedev/src/continuedev/core/policy.py
@@ -19,6 +19,7 @@ from ..steps.chat import SimpleChatStep, ChatWithFunctions, EditFileStep, AddFil
from ..recipes.DDtoBQRecipe.main import DDtoBQRecipe
from ..steps.core.core import MessageStep
from ..libs.util.step_name_to_steps import get_step_from_name
+from ..steps.custom_command import CustomCommandStep
class DemoPolicy(Policy):
@@ -52,6 +53,10 @@ class DemoPolicy(Policy):
params["user_input"] = after_command
return get_step_from_name(slash_command.step_name, params)
+ for custom_cmd in config.custom_commands:
+ if custom_cmd.name == command_name[1:]:
+ return CustomCommandStep(name=custom_cmd.name, prompt=custom_cmd.prompt, user_input=after_command)
+
# return EditHighlightedCodeStep(user_input=user_input)
return ChatWithFunctions(user_input=user_input)
return NLDecisionStep(user_input=user_input, steps=[
diff --git a/continuedev/src/continuedev/steps/custom_command.py b/continuedev/src/continuedev/steps/custom_command.py
new file mode 100644
index 00000000..b84e7b35
--- /dev/null
+++ b/continuedev/src/continuedev/steps/custom_command.py
@@ -0,0 +1,16 @@
+from ..core.main import Step
+from ..core.sdk import ContinueSDK
+from ..steps.chat import ChatWithFunctions
+
+
+class CustomCommandStep(Step):
+ name: str
+ prompt: str
+ user_input: str
+
+ async def describe(self):
+ return self.prompt
+
+ async def run(self, sdk: ContinueSDK):
+ prompt_user_input = f"Task: {self.prompt}. Additional info: {self.user_input}"
+ await sdk.run_step(ChatWithFunctions(user_input=prompt_user_input)) \ No newline at end of file
diff --git a/continuedev/src/continuedev/steps/open_config.py b/continuedev/src/continuedev/steps/open_config.py
index 43c1b7ce..9cffdb3a 100644
--- a/continuedev/src/continuedev/steps/open_config.py
+++ b/continuedev/src/continuedev/steps/open_config.py
@@ -6,8 +6,10 @@ import os
class OpenConfigStep(Step):
name: str = "Open config"
+ async def describe(self, models):
+ return "Config.json is now open. Create a new or edit an existing slash command here. Here is an example: { custom_commands : [ { 'name;: 'test', 'prompt': 'write me a unit test' } ] }"
+
async def run(self, sdk: ContinueSDK):
global_dir = os.path.expanduser('~/.continue')
config_path = os.path.join(global_dir, 'config.json')
- print(config_path)
await sdk.ide.setFileOpen(config_path) \ No newline at end of file