summaryrefslogtreecommitdiff
path: root/continuedev
diff options
context:
space:
mode:
Diffstat (limited to 'continuedev')
-rw-r--r--continuedev/src/continuedev/core/autopilot.py18
-rw-r--r--continuedev/src/continuedev/core/main.py2
-rw-r--r--continuedev/src/continuedev/steps/chat.py2
-rw-r--r--continuedev/src/continuedev/steps/core/core.py2
-rw-r--r--continuedev/src/continuedev/steps/custom_command.py7
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))