summaryrefslogtreecommitdiff
path: root/continuedev/src/continuedev/server
diff options
context:
space:
mode:
authorNate Sesti <sestinj@gmail.com>2023-06-07 16:31:44 -0400
committerNate Sesti <sestinj@gmail.com>2023-06-07 16:31:44 -0400
commit82247453a12c7e697351a4464013c690c848d552 (patch)
tree0d3ed47124d46b4254b318a122ca6857ca7d2a29 /continuedev/src/continuedev/server
parent0be241fe44edcc35c79835ac59971d60869d1c34 (diff)
parent69fda64ca0111c5be2f6967a7d82dd5b284dd995 (diff)
downloadsncontinue-82247453a12c7e697351a4464013c690c848d552.tar.gz
sncontinue-82247453a12c7e697351a4464013c690c848d552.tar.bz2
sncontinue-82247453a12c7e697351a4464013c690c848d552.zip
Merge branch 'main' into dlt-transform
Diffstat (limited to 'continuedev/src/continuedev/server')
-rw-r--r--continuedev/src/continuedev/server/ide.py15
-rw-r--r--continuedev/src/continuedev/server/ide_protocol.py8
2 files changed, 22 insertions, 1 deletions
diff --git a/continuedev/src/continuedev/server/ide.py b/continuedev/src/continuedev/server/ide.py
index eec5b607..007eb2b4 100644
--- a/continuedev/src/continuedev/server/ide.py
+++ b/continuedev/src/continuedev/server/ide.py
@@ -76,6 +76,10 @@ class GetUserSecretResponse(BaseModel):
value: str
+class RunCommandResponse(BaseModel):
+ output: str
+
+
T = TypeVar("T", bound=BaseModel)
@@ -110,7 +114,7 @@ class IdeProtocolServer(AbstractIdeProtocolServer):
fileEdits = list(
map(lambda d: FileEditWithFullContents.parse_obj(d), data["fileEdits"]))
self.onFileEdits(fileEdits)
- elif message_type in ["highlightedCode", "openFiles", "readFile", "editFile", "workspaceDirectory", "getUserSecret"]:
+ elif message_type in ["highlightedCode", "openFiles", "readFile", "editFile", "workspaceDirectory", "getUserSecret", "runCommand"]:
self.sub_queue.post(message_type, data)
else:
raise ValueError("Unknown message type", message_type)
@@ -133,6 +137,15 @@ class IdeProtocolServer(AbstractIdeProtocolServer):
"sessionId": session_id
})
+ async def highlightCode(self, range_in_file: RangeInFile, color: str):
+ await self._send_json("highlightCode", {
+ "rangeInFile": range_in_file.dict(),
+ "color": color
+ })
+
+ async def runCommand(self, command: str) -> str:
+ return (await self._send_and_receive_json({"command": command}, RunCommandResponse, "runCommand")).output
+
async def showSuggestionsAndWait(self, suggestions: List[FileEdit]) -> bool:
ids = [str(uuid.uuid4()) for _ in suggestions]
for i in range(len(suggestions)):
diff --git a/continuedev/src/continuedev/server/ide_protocol.py b/continuedev/src/continuedev/server/ide_protocol.py
index 8f155415..4622d6ff 100644
--- a/continuedev/src/continuedev/server/ide_protocol.py
+++ b/continuedev/src/continuedev/server/ide_protocol.py
@@ -82,3 +82,11 @@ class AbstractIdeProtocolServer(ABC):
@abstractmethod
async def getUserSecret(self, key: str):
"""Get a user secret"""
+
+ @abstractmethod
+ async def highlightCode(self, range_in_file: RangeInFile, color: str):
+ """Highlight code"""
+
+ @abstractmethod
+ async def runCommand(self, command: str) -> str:
+ """Run a command"""