Skip to content

Commit 88c0bf0

Browse files
committed
Correctly passthrough inclusivity/exclusivity, closes #33
1 parent a5a7010 commit 88c0bf0

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

evil-easymotion.el

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,12 @@
163163
#'evilem--default-collect-postprocess)
164164
points)))
165165

166+
(defun evilem--compute-inclusivity (funcs)
167+
(when (and (= (length funcs) 1)
168+
(evil-has-command-properties-p (car funcs)))
169+
`(setq evil-this-type
170+
',(evil-get-command-property (car funcs) :type))))
171+
166172
(cl-defmacro evilem-make-motion (name
167173
funcs
168174
&key
@@ -181,7 +187,7 @@
181187
(require 'avy)
182188
(avy-with ,name
183189
(evil-without-repeat
184-
(setq evil-this-type 'inclusive)
190+
,(evilem--compute-inclusivity funcs)
185191
(cl-letf* ,bind
186192
,(when pre-hook `(funcall ,(if (functionp pre-hook)
187193
pre-hook
@@ -337,24 +343,28 @@
337343
(evilem-define (kbd (concat prefix " t")) #'evil-repeat-find-char
338344
:name 'evilem--motion-evil-find-char-to
339345
:pre-hook (save-excursion
346+
(setq evil-this-type 'inclusive)
340347
(call-interactively #'evil-find-char-to))
341348
:bind ((evil-cross-lines t)))
342349

343350
(evilem-define (kbd (concat prefix " T")) #'evil-repeat-find-char
344351
:name 'evilem--motion-evil-find-char-to-backward
345352
:pre-hook (save-excursion
353+
(setq evil-this-type 'exclusive)
346354
(call-interactively #'evil-find-char-to-backward))
347355
:bind ((evil-cross-lines t)))
348356

349357
(evilem-define (kbd (concat prefix " f")) #'evil-repeat-find-char
350358
:name 'evilem--motion-evil-find-char
351359
:pre-hook (save-excursion
360+
(setq evil-this-type 'inclusive)
352361
(call-interactively #'evil-find-char))
353362
:bind ((evil-cross-lines t)))
354363

355364
(evilem-define (kbd (concat prefix " F")) #'evil-repeat-find-char
356365
:name 'evilem--motion-evil-find-char-backward
357366
:pre-hook (save-excursion
367+
(setq evil-this-type 'exclusive)
358368
(call-interactively #'evil-find-char-backward))
359369
:bind ((evil-cross-lines t)))
360370

0 commit comments

Comments
 (0)