diff options
author | Ty Dunn <ty@tydunn.com> | 2023-07-03 23:12:12 -0700 |
---|---|---|
committer | Ty Dunn <ty@tydunn.com> | 2023-07-03 23:12:12 -0700 |
commit | 6ad704508f2550cba76d98b88d8483848f0c5ea6 (patch) | |
tree | 08bf51f99e98e9f9598ac8ae6793fab44b0da116 /continuedev/src | |
parent | 56d69a45893723d700503e0ac6c928afb6c2bfa6 (diff) | |
download | sncontinue-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.py | 5 | ||||
-rw-r--r-- | continuedev/src/continuedev/steps/custom_command.py | 16 | ||||
-rw-r--r-- | continuedev/src/continuedev/steps/open_config.py | 4 |
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 |