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 | |
| parent | 56d69a45893723d700503e0ac6c928afb6c2bfa6 (diff) | |
| download | sncontinue-6ad704508f2550cba76d98b88d8483848f0c5ea6.tar.gz sncontinue-6ad704508f2550cba76d98b88d8483848f0c5ea6.tar.bz2 sncontinue-6ad704508f2550cba76d98b88d8483848f0c5ea6.zip | |
getting custom cmds working
Diffstat (limited to 'continuedev')
| -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 | 
