summaryrefslogtreecommitdiff
path: root/continuedev/src/continuedev/server
diff options
context:
space:
mode:
authorNate Sesti <sestinj@gmail.com>2023-08-25 13:38:41 -0700
committerNate Sesti <sestinj@gmail.com>2023-08-25 13:38:41 -0700
commite5f56308c5fd87695278682b2a36ca60df0db863 (patch)
treec7d66f5a3b56ce762bfd26033890597a07099007 /continuedev/src/continuedev/server
parenta55d64127a1e972d03f54a175b54eb0ad78e2b0e (diff)
downloadsncontinue-e5f56308c5fd87695278682b2a36ca60df0db863.tar.gz
sncontinue-e5f56308c5fd87695278682b2a36ca60df0db863.tar.bz2
sncontinue-e5f56308c5fd87695278682b2a36ca60df0db863.zip
fix: :bug: ssh compatibility by reading from vscode.workspace.fs
Diffstat (limited to 'continuedev/src/continuedev/server')
-rw-r--r--continuedev/src/continuedev/server/ide.py14
-rw-r--r--continuedev/src/continuedev/server/ide_protocol.py4
2 files changed, 18 insertions, 0 deletions
diff --git a/continuedev/src/continuedev/server/ide.py b/continuedev/src/continuedev/server/ide.py
index 610a1a48..871724db 100644
--- a/continuedev/src/continuedev/server/ide.py
+++ b/continuedev/src/continuedev/server/ide.py
@@ -120,6 +120,10 @@ class TerminalContentsResponse(BaseModel):
contents: str
+class ListDirectoryContentsResponse(BaseModel):
+ contents: List[str]
+
+
T = TypeVar("T", bound=BaseModel)
@@ -241,6 +245,7 @@ class IdeProtocolServer(AbstractIdeProtocolServer):
"getUserSecret",
"runCommand",
"getTerminalContents",
+ "listDirectoryContents",
]:
self.sub_queue.post(message_type, data)
elif message_type == "workspaceDirectory":
@@ -477,6 +482,15 @@ class IdeProtocolServer(AbstractIdeProtocolServer):
)
return resp.fileEdit
+ async def listDirectoryContents(self, directory: str) -> List[str]:
+ """List the contents of a directory"""
+ resp = await self._send_and_receive_json(
+ {"directory": directory},
+ ListDirectoryContentsResponse,
+ "listDirectoryContents",
+ )
+ return resp.contents
+
async def applyFileSystemEdit(self, edit: FileSystemEdit) -> EditDiff:
"""Apply a file edit"""
backward = None
diff --git a/continuedev/src/continuedev/server/ide_protocol.py b/continuedev/src/continuedev/server/ide_protocol.py
index 435c82e2..f37c1737 100644
--- a/continuedev/src/continuedev/server/ide_protocol.py
+++ b/continuedev/src/continuedev/server/ide_protocol.py
@@ -147,5 +147,9 @@ class AbstractIdeProtocolServer(ABC):
def onFileSaved(self, filepath: str, contents: str):
"""Called when a file is saved"""
+ @abstractmethod
+ async def listDirectoryContents(self, directory: str) -> List[str]:
+ """List directory contents"""
+
workspace_directory: str
unique_id: str