diff options
| author | Nate Sesti <sestinj@gmail.com> | 2023-06-22 13:07:03 -0700 | 
|---|---|---|
| committer | Nate Sesti <sestinj@gmail.com> | 2023-06-22 13:07:03 -0700 | 
| commit | 70ad90116b73909347497a307cb1488065096696 (patch) | |
| tree | df7376f0711d137be208cdaa1a380abb7cd3f393 /extension | |
| parent | 4f9f2c86158f7f6919cf736b2a1a33c61a9ad483 (diff) | |
| parent | e203dd81262d231aed2b73f269c7863dde010d3c (diff) | |
| download | sncontinue-70ad90116b73909347497a307cb1488065096696.tar.gz sncontinue-70ad90116b73909347497a307cb1488065096696.tar.bz2 sncontinue-70ad90116b73909347497a307cb1488065096696.zip  | |
Merge branch 'main' of https://github.com/continuedev/continue
Diffstat (limited to 'extension')
| -rw-r--r-- | extension/react-app/src/hooks/ContinueGUIClientProtocol.ts | 2 | ||||
| -rw-r--r-- | extension/react-app/src/hooks/useContinueGUIProtocol.ts | 4 | ||||
| -rw-r--r-- | extension/react-app/src/tabs/gui.tsx | 6 | ||||
| -rw-r--r-- | extension/src/activation/activate.ts | 38 | ||||
| -rw-r--r-- | extension/src/commands.ts | 5 | ||||
| -rw-r--r-- | extension/src/continueIdeClient.ts | 16 | 
6 files changed, 20 insertions, 51 deletions
diff --git a/extension/react-app/src/hooks/ContinueGUIClientProtocol.ts b/extension/react-app/src/hooks/ContinueGUIClientProtocol.ts index 824bb086..6d9d1fdd 100644 --- a/extension/react-app/src/hooks/ContinueGUIClientProtocol.ts +++ b/extension/react-app/src/hooks/ContinueGUIClientProtocol.ts @@ -13,6 +13,8 @@ abstract class AbstractContinueGUIClientProtocol {      callback: (commands: { name: string; description: string }[]) => void    ): void; +  abstract changeDefaultModel(): void; +    abstract sendClear(): void;    abstract retryAtIndex(index: number): void; diff --git a/extension/react-app/src/hooks/useContinueGUIProtocol.ts b/extension/react-app/src/hooks/useContinueGUIProtocol.ts index 59397742..4eb68046 100644 --- a/extension/react-app/src/hooks/useContinueGUIProtocol.ts +++ b/extension/react-app/src/hooks/useContinueGUIProtocol.ts @@ -55,6 +55,10 @@ class ContinueGUIClientProtocol extends AbstractContinueGUIClientProtocol {      });    } +  changeDefaultModel() { +    this.messenger.send("change_default_model", {}); +  } +    sendClear() {      this.messenger.send("clear_history", {});    } diff --git a/extension/react-app/src/tabs/gui.tsx b/extension/react-app/src/tabs/gui.tsx index f0e3ffd4..16c950ef 100644 --- a/extension/react-app/src/tabs/gui.tsx +++ b/extension/react-app/src/tabs/gui.tsx @@ -230,6 +230,7 @@ function GUI(props: GUIProps) {      console.log("CLIENT ON STATE UPDATE: ", client, client?.onStateUpdate);      client?.onStateUpdate((state) => {        // Scroll only if user is at very bottom of the window. +      setUsingFastModel(state.default_model === "gpt-3.5-turbo");        const shouldScrollToBottom =          topGuiDivRef.current &&          topGuiDivRef.current?.offsetHeight - window.scrollY < 100; @@ -470,9 +471,10 @@ function GUI(props: GUIProps) {              Contribute Data            </span>          </div> -        {/* <HeaderButtonWithText +        <HeaderButtonWithText            onClick={() => {              setUsingFastModel((prev) => !prev); +            client?.changeDefaultModel();            }}            text={usingFastModel ? "gpt-3.5-turbo" : "gpt-4"}          > @@ -481,7 +483,7 @@ function GUI(props: GUIProps) {            >              {usingFastModel ? "⚡" : "🧠"}            </div> -        </HeaderButtonWithText> */} +        </HeaderButtonWithText>          <HeaderButtonWithText            onClick={() => {              client?.sendClear(); diff --git a/extension/src/activation/activate.ts b/extension/src/activation/activate.ts index bfe9ab3f..c4bdbaa9 100644 --- a/extension/src/activation/activate.ts +++ b/extension/src/activation/activate.ts @@ -5,8 +5,9 @@ import { sendTelemetryEvent, TelemetryEvent } from "../telemetry";  // import { openCapturedTerminal } from "../terminal/terminalEmulator";  import IdeProtocolClient from "../continueIdeClient";  import { getContinueServerUrl } from "../bridge"; -import { ContinueGUIWebviewViewProvider } from "../debugPanel";  import { CapturedTerminal } from "../terminal/terminalEmulator"; +import { setupDebugPanel, ContinueGUIWebviewViewProvider } from "../debugPanel"; +// import { CapturedTerminal } from "../terminal/terminalEmulator";  export let extensionContext: vscode.ExtensionContext | undefined = undefined; @@ -47,41 +48,10 @@ export function activateExtension(    })();    // All opened terminals should be replaced by our own terminal -  vscode.window.onDidOpenTerminal((terminal) => { -    if (terminal.name === "Continue") { -      return; -    } -    const options = terminal.creationOptions; -    const capturedTerminal = new CapturedTerminal({ -      ...options, -      name: "Continue", -    }); -    terminal.dispose(); -    if (!ideProtocolClient.continueTerminal) { -      ideProtocolClient.continueTerminal = capturedTerminal; -    } -  }); +  // vscode.window.onDidOpenTerminal((terminal) => {});    // If any terminals are open to start, replace them -  vscode.window.terminals.forEach((terminal) => { -    if (terminal.name === "Continue") { -      return; -    } -    const options = terminal.creationOptions; -    const capturedTerminal = new CapturedTerminal( -      { -        ...options, -        name: "Continue", -      }, -      (commandOutput: string) => { -        ideProtocolClient.sendCommandOutput(commandOutput); -      } -    ); -    terminal.dispose(); -    if (!ideProtocolClient.continueTerminal) { -      ideProtocolClient.continueTerminal = capturedTerminal; -    } -  }); +  // vscode.window.terminals.forEach((terminal) => {}    extensionContext = context;  } diff --git a/extension/src/commands.ts b/extension/src/commands.ts index 13357c99..77273343 100644 --- a/extension/src/commands.ts +++ b/extension/src/commands.ts @@ -12,7 +12,6 @@ import {  } from "./suggestions";  import * as bridge from "./bridge";  import { debugPanelWebview } from "./debugPanel"; -import { writeUnitTestForFunction } from "./bridge";  import { sendTelemetryEvent, TelemetryEvent } from "./telemetry";  // Copy everything over from extension.ts @@ -56,10 +55,6 @@ const commandsMap: { [command: string]: (...args: any) => any } = {        type: "focusContinueInput",      });    }, -  "continue.openCapturedTerminal": () => { -    // Happens in webview resolution function -    // openCapturedTerminal(); -  },  };  const textEditorCommandsMap: { [command: string]: (...args: any) => {} } = { diff --git a/extension/src/continueIdeClient.ts b/extension/src/continueIdeClient.ts index fbad5f5d..3a77e348 100644 --- a/extension/src/continueIdeClient.ts +++ b/extension/src/continueIdeClient.ts @@ -12,7 +12,6 @@ import { debugPanelWebview, setupDebugPanel } from "./debugPanel";  import { FileEditWithFullContents } from "../schema/FileEditWithFullContents";  import fs = require("fs");  import { WebsocketMessenger } from "./util/messenger"; -import { CapturedTerminal } from "./terminal/terminalEmulator";  import { decorationManager } from "./decorations";  class IdeProtocolClient { @@ -326,17 +325,14 @@ class IdeProtocolClient {      return rangeInFiles;    } -  public continueTerminal: CapturedTerminal | undefined; -    async runCommand(command: string) { -    if (!this.continueTerminal || this.continueTerminal.isClosed()) { -      this.continueTerminal = new CapturedTerminal({ -        name: "Continue", -      }); +    if (vscode.window.terminals.length) { +      vscode.window.terminals[0].sendText(command); +    } else { +        const terminal = vscode.window.createTerminal(); +        terminal.show(); +        terminal.sendText(command);      } - -    this.continueTerminal.show(); -    return await this.continueTerminal.runCommand(command);    }    sendCommandOutput(output: string) {  | 
