summaryrefslogtreecommitdiff
path: root/extension/src/commands.ts
diff options
context:
space:
mode:
authorNate Sesti <33237525+sestinj@users.noreply.github.com>2023-09-23 13:06:00 -0700
committerGitHub <noreply@github.com>2023-09-23 13:06:00 -0700
commite976d60974a7837967d03807605cbf2e7b4f3f9a (patch)
tree5ecb19062abb162832530dd953e9d2801026c23c /extension/src/commands.ts
parent470711d25b44d1a545c57bc17d40d5e1fd402216 (diff)
downloadsncontinue-e976d60974a7837967d03807605cbf2e7b4f3f9a.tar.gz
sncontinue-e976d60974a7837967d03807605cbf2e7b4f3f9a.tar.bz2
sncontinue-e976d60974a7837967d03807605cbf2e7b4f3f9a.zip
UI Redesign and fixing many details (#496)
* feat: :lipstick: start of major design upgrade * feat: :lipstick: model selection page * feat: :lipstick: use shortcut to add highlighted code as ctx * feat: :lipstick: better display of errors * feat: :lipstick: ui for learning keyboard shortcuts, more details * refactor: :construction: testing slash commands ui * Truncate continue.log * refactor: :construction: refactoring client_session, ui, more * feat: :bug: layout fixes * refactor: :lipstick: ui to enter OpenAI Key * refactor: :truck: rename MaybeProxyOpenAI -> OpenAIFreeTrial * starting help center * removing old shortcut docs * fix: :bug: fix model setting logic to avoid overwrites * feat: :lipstick: tutorial and model descriptions * refactor: :truck: rename unused -> saved * refactor: :truck: rename model roles * feat: :lipstick: edit indicator * refactor: :lipstick: move +, folder icons * feat: :lipstick: tab to clear all context * fix: :bug: context providers ui fixes * fix: :bug: fix lag when stopping step * fix: :bug: don't override system message for models * fix: :bug: fix continue button cursor * feat: :lipstick: title bar * fix: :bug: updates to code highlighting logic and more * fix: :bug: fix renaming of summarize model role * feat: :lipstick: help page and better session title * feat: :lipstick: more help page / ui improvements * feat: :lipstick: set session title * fix: :bug: small fixes for changing sessions * fix: :bug: perfecting the highlighting code and ctx interactions * style: :lipstick: sticky headers for scroll, ollama warming * fix: :bug: fix toggle bug --------- Co-authored-by: Ty Dunn <ty@tydunn.com>
Diffstat (limited to 'extension/src/commands.ts')
-rw-r--r--extension/src/commands.ts37
1 files changed, 33 insertions, 4 deletions
diff --git a/extension/src/commands.ts b/extension/src/commands.ts
index 479e8db0..4e2f4571 100644
--- a/extension/src/commands.ts
+++ b/extension/src/commands.ts
@@ -9,6 +9,36 @@ import { ideProtocolClient } from "./activation/activate";
let focusedOnContinueInput = false;
+function addHighlightedCodeToContext(edit: boolean) {
+ focusedOnContinueInput = !focusedOnContinueInput;
+ const editor = vscode.window.activeTextEditor;
+ if (editor) {
+ const selection = editor.selection;
+ if (selection.isEmpty) return;
+ const range = new vscode.Range(selection.start, selection.end);
+ const contents = editor.document.getText(range);
+ ideProtocolClient?.sendHighlightedCode(
+ [
+ {
+ filepath: editor.document.uri.fsPath,
+ contents,
+ range: {
+ start: {
+ line: selection.start.line,
+ character: selection.start.character,
+ },
+ end: {
+ line: selection.end.line,
+ character: selection.end.character,
+ },
+ },
+ },
+ ],
+ edit
+ );
+ }
+}
+
export const setFocusedOnContinueInput = (value: boolean) => {
focusedOnContinueInput = value;
};
@@ -32,11 +62,11 @@ const commandsMap: { [command: string]: (...args: any) => any } = {
debugPanelWebview?.postMessage({
type: "focusContinueInput",
});
-
- focusedOnContinueInput = !focusedOnContinueInput;
+ addHighlightedCodeToContext(false);
},
"continue.focusContinueInputWithEdit": async () => {
vscode.commands.executeCommand("continue.continueGUIView.focus");
+ addHighlightedCodeToContext(true);
debugPanelWebview?.postMessage({
type: "focusContinueInputWithEdit",
});
@@ -47,8 +77,7 @@ const commandsMap: { [command: string]: (...args: any) => any } = {
},
"continue.quickTextEntry": async () => {
const text = await vscode.window.showInputBox({
- placeHolder:
- "Ask a question or enter a slash command",
+ placeHolder: "Ask a question or enter a slash command",
title: "Continue Quick Input",
});
if (text) {