summaryrefslogtreecommitdiff
path: root/evil-helm.el
diff options
context:
space:
mode:
authorPierre Neidhardt <ambrevar@gmail.com>2017-11-29 14:50:39 +0100
committerPierre Neidhardt <ambrevar@gmail.com>2017-11-29 14:50:39 +0100
commit0aef7f5bdecf661f988d3d748d78f8ec6ef69f3a (patch)
treeb513f92a7ace3c2a759a358ee57e2a77e95fe5fc /evil-helm.el
parent44983c4f286de9c34828fe6aea7aa612f0478c30 (diff)
evil-helm: Add support for numeric prefix in mark commands
Diffstat (limited to 'evil-helm.el')
-rw-r--r--evil-helm.el15
1 files changed, 14 insertions, 1 deletions
diff --git a/evil-helm.el b/evil-helm.el
index 304d168..f61b98a 100644
--- a/evil-helm.el
+++ b/evil-helm.el
@@ -42,6 +42,18 @@
(defvar helm-find-files-map)
(defvar helm-read-file-map)
+(defun evil-helm-toggle-visible-mark-backwards (&optional args)
+ (interactive "p")
+ (evil-helm-toggle-visible-mark args t))
+
+(defun evil-helm-toggle-visible-mark (&optional args backwards)
+ (interactive "p")
+ (unless (numberp args) (setq args 1))
+ (dotimes (_ (abs args))
+ (if (or (and (< args 0) (not backwards)) (and (> args 0) backwards))
+ (helm-toggle-visible-mark-backwards)
+ (helm-toggle-visible-mark))))
+
(defun evil-helm-setup ()
"Set up `evil' bindings for `helm'."
;; TODO: We should not modify helm-map in Emacs state but somehow it does not
@@ -61,7 +73,8 @@
"k" 'helm-previous-line
"g" 'helm-beginning-of-buffer
"G" 'helm-end-of-buffer
- (kbd "SPC") 'helm-toggle-visible-mark)
+ (kbd "SPC") 'evil-helm-toggle-visible-mark
+ (kbd "S-SPC") 'evil-helm-toggle-visible-mark-backwards)
(evil-define-key '(normal insert) helm-map
(kbd "M-j") 'helm-next-line