Skip to content

Commit b546d06

Browse files
committed
parallelise calls to nvim gRPC api where possible
idk if this is actually faster or not, gotta test it out Signed-off-by: Kipras Melnikovas <[email protected]>
1 parent 535872d commit b546d06

File tree

1 file changed

+34
-24
lines changed

1 file changed

+34
-24
lines changed

Diff for: nvim-git-rebase-todo/nvim-git-rebase-todo.ts

+34-24
Original file line numberDiff line numberDiff line change
@@ -163,10 +163,11 @@ export default function nvimGitRebaseTodo(plugin: NvimPlugin): void {
163163
width, //
164164
height,
165165
}: SetWindowRelativeToCursorOpts): Promise<OpenWindowOptions> => {
166-
const cursor = await vim.window.cursor;
167-
168-
const relWin = await vim.window;
169-
const col: number = config.closeToLeft || (await relWin.width);
166+
const [relWin, cursor, col] = await Promise.all([
167+
vim.window,
168+
vim.window.cursor,
169+
config.closeToLeft || vim.window.width,
170+
]);
170171

171172
return {
172173
// relative: "cursor",
@@ -195,26 +196,35 @@ export default function nvimGitRebaseTodo(plugin: NvimPlugin): void {
195196
* instead of taking it in as param
196197
*/
197198

198-
const relWin: Window = await vim.getWindow();
199-
const col: number = config.closeToLeft || (await relWin.width);
200-
201-
const opts: OpenWindowOptions = config.relativeToCursor
202-
? {
203-
...(await getRelativeWindowOptions({ width, height })),
204-
}
205-
: ({
206-
relative: "win",
207-
win: relWin.id,
208-
//
209-
width,
210-
height,
211-
//
212-
// anchor: "NE", // TODO is this needed?
213-
row: 0 + (config.closeToLeft ? config.rowLowerIfCloseToLeft : 0),
214-
col,
215-
//
216-
style: "minimal",
217-
} as const);
199+
let relWin: Window;
200+
let col: number;
201+
let opts: OpenWindowOptions;
202+
203+
if (config.relativeToCursor) {
204+
[relWin, col, opts] = await Promise.all([
205+
vim.window, //
206+
vim.window.width,
207+
getRelativeWindowOptions({ width, height }),
208+
]);
209+
} else {
210+
[relWin, col] = await Promise.all([
211+
vim.window, //
212+
vim.window.width,
213+
]);
214+
opts = {
215+
relative: "win",
216+
win: relWin.id,
217+
//
218+
width,
219+
height,
220+
//
221+
// anchor: "NE", // TODO is this needed?
222+
row: 0 + (config.closeToLeft ? config.rowLowerIfCloseToLeft : 0),
223+
col,
224+
//
225+
style: "minimal",
226+
};
227+
}
218228

219229
const enter = false;
220230
const window: number | Window = await vim.openWindow(buffer, enter, opts);

0 commit comments

Comments
 (0)