diff options
Diffstat (limited to 'continuedev')
-rw-r--r-- | continuedev/src/continuedev/core/autopilot.py | 18 | ||||
-rw-r--r-- | continuedev/src/continuedev/core/main.py | 2 | ||||
-rw-r--r-- | continuedev/src/continuedev/steps/chat.py | 2 | ||||
-rw-r--r-- | continuedev/src/continuedev/steps/core/core.py | 2 | ||||
-rw-r--r-- | continuedev/src/continuedev/steps/custom_command.py | 7 |
5 files changed, 20 insertions, 11 deletions
diff --git a/continuedev/src/continuedev/core/autopilot.py b/continuedev/src/continuedev/core/autopilot.py index acdc1f0d..4466a01e 100644 --- a/continuedev/src/continuedev/core/autopilot.py +++ b/continuedev/src/continuedev/core/autopilot.py @@ -151,15 +151,23 @@ class Autopilot(ContinueBaseModel): self._highlighted_ranges[0].editing = True async def handle_highlighted_code(self, range_in_files: List[RangeInFileWithContents]): - if not self._adding_highlighted_code and len(self._highlighted_ranges) > 0: - return # If un-highlighting, then remove the range - if len(self._highlighted_ranges) == 1 and len(range_in_files) == 1 and range_in_files[0].range.start == range_in_files[0].range.end: + if len(self._highlighted_ranges) == 1 and len(range_in_files) <= 1 and (len(range_in_files) == 0 or range_in_files[0].range.start == range_in_files[0].range.end): self._highlighted_ranges = [] await self.update_subscribers() return + # If not toggled to be adding context, only edit or add the first range + if not self._adding_highlighted_code and len(self._highlighted_ranges) > 0: + if len(range_in_files) == 0: + return + if range_in_files[0].range.overlaps_with(self._highlighted_ranges[0].range) and range_in_files[0].filepath == self._highlighted_ranges[0].range.filepath: + self._highlighted_ranges = [HighlightedRangeContext( + range=range_in_files[0].range, editing=True, pinned=False)] + await self.update_subscribers() + return + # Filter out rifs from ~/.continue/diffs folder range_in_files = [ rif for rif in range_in_files if not os.path.dirname(rif.filepath) == os.path.expanduser("~/.continue/diffs")] @@ -391,8 +399,8 @@ class Autopilot(ContinueBaseModel): return # Remove context unless pinned - self._highlighted_ranges = [ - hr for hr in self._highlighted_ranges if hr.pinned] + # self._highlighted_ranges = [ + # hr for hr in self._highlighted_ranges if hr.pinned] # await self._request_halt() # Just run the step that takes user input, and diff --git a/continuedev/src/continuedev/core/main.py b/continuedev/src/continuedev/core/main.py index 62cc4936..d8bacb1f 100644 --- a/continuedev/src/continuedev/core/main.py +++ b/continuedev/src/continuedev/core/main.py @@ -259,7 +259,7 @@ class Step(ContinueBaseModel): if self.description is not None: d["description"] = self.description else: - d["description"] = "`Step in progress...`" + d["description"] = "Step in progress..." return d @validator("name", pre=True, always=True) diff --git a/continuedev/src/continuedev/steps/chat.py b/continuedev/src/continuedev/steps/chat.py index 8f88244c..d310a498 100644 --- a/continuedev/src/continuedev/steps/chat.py +++ b/continuedev/src/continuedev/steps/chat.py @@ -20,7 +20,7 @@ openai.api_key = OPENAI_API_KEY class SimpleChatStep(Step): user_input: str - name: str = "Chat" + name: str = "Generating Response..." manage_own_chat_context: bool = True description: str = "" diff --git a/continuedev/src/continuedev/steps/core/core.py b/continuedev/src/continuedev/steps/core/core.py index cbf0fe5e..5577c49a 100644 --- a/continuedev/src/continuedev/steps/core/core.py +++ b/continuedev/src/continuedev/steps/core/core.py @@ -302,7 +302,7 @@ class DefaultModelEditCodeStep(Step): completion = "\n".join(lines) full_prefix_lines = full_file_contents_lines[:rif.range.start.line] - full_suffix_lines = full_file_contents_lines[rif.range.end.line + 1:] + full_suffix_lines = full_file_contents_lines[rif.range.end.line:] new_file_contents = "\n".join( full_prefix_lines) + "\n" + completion + "\n" + "\n".join(full_suffix_lines) await sdk.ide.showDiff(rif.filepath, new_file_contents) diff --git a/continuedev/src/continuedev/steps/custom_command.py b/continuedev/src/continuedev/steps/custom_command.py index b84e7b35..9d675091 100644 --- a/continuedev/src/continuedev/steps/custom_command.py +++ b/continuedev/src/continuedev/steps/custom_command.py @@ -1,16 +1,17 @@ from ..core.main import Step from ..core.sdk import ContinueSDK -from ..steps.chat import ChatWithFunctions +from ..steps.chat import ChatWithFunctions, SimpleChatStep class CustomCommandStep(Step): name: str prompt: str user_input: str - + hide: bool = True + 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 + await sdk.run_step(SimpleChatStep(user_input=prompt_user_input)) |