diff options
| author | Nate Sesti <sestinj@gmail.com> | 2023-07-06 20:34:02 -0700 | 
|---|---|---|
| committer | Nate Sesti <sestinj@gmail.com> | 2023-07-06 20:34:02 -0700 | 
| commit | 926324cd4843a0476e4be5794e5d00853d455751 (patch) | |
| tree | d7b30c67210d35e831efc89998e85fd0972bfd37 | |
| parent | 5b63917db308ab75dc765de543e97819f16924b7 (diff) | |
| download | sncontinue-926324cd4843a0476e4be5794e5d00853d455751.tar.gz sncontinue-926324cd4843a0476e4be5794e5d00853d455751.tar.bz2 sncontinue-926324cd4843a0476e4be5794e5d00853d455751.zip | |
quick text entry
| -rw-r--r-- | continuedev/src/continuedev/server/ide.py | 7 | ||||
| -rw-r--r-- | extension/package.json | 10 | ||||
| -rw-r--r-- | extension/src/commands.ts | 12 | ||||
| -rw-r--r-- | extension/src/continueIdeClient.ts | 4 | 
4 files changed, 33 insertions, 0 deletions
| diff --git a/continuedev/src/continuedev/server/ide.py b/continuedev/src/continuedev/server/ide.py index d16bd449..1d51758e 100644 --- a/continuedev/src/continuedev/server/ide.py +++ b/continuedev/src/continuedev/server/ide.py @@ -150,6 +150,8 @@ class IdeProtocolServer(AbstractIdeProtocolServer):              self.onAcceptRejectSuggestion(data["accepted"])          elif message_type == "acceptRejectDiff":              self.onAcceptRejectDiff(data["accepted"]) +        elif message_type == "mainUserInput": +            self.onMainUserInput(data["input"])          elif message_type in ["highlightedCode", "openFiles", "readFile", "editFile", "workspaceDirectory", "getUserSecret", "runCommand", "uniqueId"]:              self.sub_queue.post(message_type, data)          else: @@ -255,6 +257,11 @@ class IdeProtocolServer(AbstractIdeProtocolServer):              asyncio.create_task(                  session.autopilot.handle_highlighted_code(range_in_files)) +    def onMainUserInput(self, input: str): +        for _, session in self.session_manager.sessions.items(): +            asyncio.create_task( +                session.autopilot.accept_user_input(input)) +      # Request information. Session doesn't matter.      async def getOpenFiles(self) -> List[str]:          resp = await self._send_and_receive_json({}, OpenFilesResponse, "openFiles") diff --git a/extension/package.json b/extension/package.json index 30690397..79681f6b 100644 --- a/extension/package.json +++ b/extension/package.json @@ -106,6 +106,11 @@          "command": "continue.rejectAllSuggestions",          "category": "Continue",          "title": "Reject All Suggestions" +      }, +      { +        "command": "continue.quickTextEntry", +        "category": "Continue", +        "title": "Quick Text Entry"        }      ],      "keybindings": [ @@ -138,6 +143,11 @@          "command": "continue.rejectDiff",          "mac": "shift+cmd+backspace",          "key": "shift+ctrl+backspace" +      }, +      { +        "command": "continue.quickTextEntry", +        "mac": "cmd+h", +        "key": "ctrl+h"        }      ],      "menus": { diff --git a/extension/src/commands.ts b/extension/src/commands.ts index 4414a171..ffb67ab5 100644 --- a/extension/src/commands.ts +++ b/extension/src/commands.ts @@ -17,6 +17,7 @@ import { acceptDiffCommand, rejectDiffCommand } from "./diffs";  import * as bridge from "./bridge";  import { debugPanelWebview } from "./debugPanel";  import { sendTelemetryEvent, TelemetryEvent } from "./telemetry"; +import { ideProtocolClient } from "./activation/activate";  // Copy everything over from extension.ts  const commandsMap: { [command: string]: (...args: any) => any } = { @@ -63,6 +64,17 @@ const commandsMap: { [command: string]: (...args: any) => any } = {        type: "focusContinueInput",      });    }, +  "continue.quickTextEntry": async () => { +    const text = await vscode.window.showInputBox({ +      placeHolder: +        "Ask a question, give instructions, or enter a slash command", +      title: "Continue Quick Input", +    }); +    if (text) { +      ideProtocolClient.sendMainUserInput(text); +    } +    vscode.commands.executeCommand("continue.continueGUIView.focus"); +  },  };  const textEditorCommandsMap: { [command: string]: (...args: any) => {} } = { diff --git a/extension/src/continueIdeClient.ts b/extension/src/continueIdeClient.ts index 3615ab92..9b16a7a2 100644 --- a/extension/src/continueIdeClient.ts +++ b/extension/src/continueIdeClient.ts @@ -427,6 +427,10 @@ class IdeProtocolClient {    sendAcceptRejectDiff(accepted: boolean) {      this.messenger?.send("acceptRejectDiff", { accepted });    } + +  sendMainUserInput(input: string) { +    this.messenger?.send("mainUserInput", { input }); +  }  }  export default IdeProtocolClient; | 
