diff options
author | Nate Sesti <sestinj@gmail.com> | 2023-06-07 16:31:44 -0400 |
---|---|---|
committer | Nate Sesti <sestinj@gmail.com> | 2023-06-07 16:31:44 -0400 |
commit | 82247453a12c7e697351a4464013c690c848d552 (patch) | |
tree | 0d3ed47124d46b4254b318a122ca6857ca7d2a29 /continuedev/src/continuedev/server | |
parent | 0be241fe44edcc35c79835ac59971d60869d1c34 (diff) | |
parent | 69fda64ca0111c5be2f6967a7d82dd5b284dd995 (diff) | |
download | sncontinue-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.py | 15 | ||||
-rw-r--r-- | continuedev/src/continuedev/server/ide_protocol.py | 8 |
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""" |