@@ -138,6 +138,10 @@ function! EasyMotion#S(num_strokes, visualmode, direction) " {{{
138138 call s: EasyMotion (re , a: direction , a: visualmode ? visualmode () : ' ' , is_inclusive)
139139 return s: EasyMotion_is_cancelled
140140endfunction " }}}
141+ function ! EasyMotion#OverwinF (num_strokes) " {{{
142+ let re = s: findMotion (a: num_strokes , s: DIRECTION .bidirection)
143+ return EasyMotion#overwin#move (re )
144+ endfunction " }}}
141145function ! EasyMotion#T (num_strokes, visualmode , direction) " {{{
142146 if a: direction == 1
143147 let is_inclusive = 0
@@ -272,7 +276,8 @@ let s:config = {
272276\ ' visualmode' : s: FALSE ,
273277\ ' direction' : s: DIRECTION .forward,
274278\ ' inclusive' : s: FALSE ,
275- \ ' accept_cursor_pos' : s: FALSE
279+ \ ' accept_cursor_pos' : s: FALSE ,
280+ \ ' overwin' : s: FALSE
276281\ }
277282
278283function ! s: default_config () abort
@@ -284,9 +289,13 @@ endfunction
284289
285290function ! EasyMotion#go (... ) abort
286291 let c = extend (s: default_config (), get (a: , 1 , {}))
287- let s: current .is_operator = mode (1 ) == # ' no' ? 1 : 0
288- call s: EasyMotion (c .pattern, c .direction, c .visualmode ? visualmode () : ' ' , c .inclusive, c )
289- return s: EasyMotion_is_cancelled
292+ if c .overwin
293+ return EasyMotion#overwin#move (c .pattern)
294+ else
295+ let s: current .is_operator = mode (1 ) == # ' no' ? 1 : 0
296+ call s: EasyMotion (c .pattern, c .direction, c .visualmode ? visualmode () : ' ' , c .inclusive, c )
297+ return s: EasyMotion_is_cancelled
298+ endif
290299endfunction
291300function ! EasyMotion#User (pattern, visualmode , direction, inclusive, ... ) " {{{
292301 let s: current .is_operator = mode (1 ) == # ' no' ? 1 : 0
0 commit comments