@@ -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