Skip to content

Commit 3b24723

Browse files
authored
feat: focus chat window on all chat requests (#187)
1 parent 9c9734d commit 3b24723

File tree

2 files changed

+43
-43
lines changed

2 files changed

+43
-43
lines changed

src/ask-sourcery.ts

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,28 +4,26 @@ import { ChatRequest } from "./chat";
44

55
export function askSourceryCommand(recipes: Recipe[], contextRange?) {
66
showAskSourceryQuickPick(recipes).then((result: any) => {
7-
vscode.commands.executeCommand("sourcery.chat.focus").then(() => {
8-
let request: ChatRequest;
9-
if ("id" in result) {
10-
request = {
11-
type: "recipe_request",
12-
data: {
13-
kind: "recipe_request",
14-
name: result.label,
15-
id: result.id,
16-
},
17-
context_range: contextRange,
18-
};
19-
} else {
20-
request = {
21-
type: "chat_request",
22-
data: { kind: "user_message", message: result.label },
23-
context_range: contextRange,
24-
};
25-
}
7+
let request: ChatRequest;
8+
if ("id" in result) {
9+
request = {
10+
type: "recipe_request",
11+
data: {
12+
kind: "recipe_request",
13+
name: result.label,
14+
id: result.id,
15+
},
16+
context_range: contextRange,
17+
};
18+
} else {
19+
request = {
20+
type: "chat_request",
21+
data: { kind: "user_message", message: result.label },
22+
context_range: contextRange,
23+
};
24+
}
2625

27-
vscode.commands.executeCommand("sourcery.chat_request", request);
28-
});
26+
vscode.commands.executeCommand("sourcery.chat_request", request);
2927
});
3028
}
3129

src/extension.ts

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -406,29 +406,31 @@ function registerCommands(
406406
commands.registerCommand(
407407
"sourcery.chat_request",
408408
(message: ChatRequest) => {
409-
// Use the editor selection unless a range was passed through in
410-
// the message
411-
let selectionLocation = getSelectionLocation();
412-
if (message.context_range != null) {
413-
selectionLocation = {
414-
uri: selectionLocation.uri,
415-
range: message.context_range,
409+
vscode.commands.executeCommand("sourcery.chat.focus").then(() => {
410+
// Use the editor selection unless a range was passed through in
411+
// the message
412+
let selectionLocation = getSelectionLocation();
413+
if (message.context_range != null) {
414+
selectionLocation = {
415+
uri: selectionLocation.uri,
416+
range: message.context_range,
417+
};
418+
}
419+
let { activeFile, allFiles } = activeFiles();
420+
421+
let request: ExecuteCommandParams = {
422+
command: "sourcery/chat/request",
423+
arguments: [
424+
{
425+
message: message,
426+
selected: selectionLocation,
427+
active_file: activeFile,
428+
all_open_files: allFiles,
429+
},
430+
],
416431
};
417-
}
418-
let { activeFile, allFiles } = activeFiles();
419-
420-
let request: ExecuteCommandParams = {
421-
command: "sourcery/chat/request",
422-
arguments: [
423-
{
424-
message: message,
425-
selected: selectionLocation,
426-
active_file: activeFile,
427-
all_open_files: allFiles,
428-
},
429-
],
430-
};
431-
languageClient.sendRequest(ExecuteCommandRequest.type, request);
432+
languageClient.sendRequest(ExecuteCommandRequest.type, request);
433+
});
432434
}
433435
)
434436
);

0 commit comments

Comments
 (0)