summaryrefslogtreecommitdiff
path: root/modes/elpaca
diff options
context:
space:
mode:
authorJames Nguyen <james@jojojames.com>2023-03-12 18:55:42 -0400
committerJames Nguyen <james@jojojames.com>2023-03-12 18:55:42 -0400
commit88c182fbfb9055f7f51dde79b9418526e9930021 (patch)
tree1e195d9877c939c27658f5c3ff3a8bd5f106dab8 /modes/elpaca
parent19d5d9d11f1c993d5a96caaa242568579eccf02c (diff)
Tweak elpaca (#715)
Diffstat (limited to 'modes/elpaca')
-rw-r--r--modes/elpaca/evil-collection-elpaca.el50
1 files changed, 35 insertions, 15 deletions
diff --git a/modes/elpaca/evil-collection-elpaca.el b/modes/elpaca/evil-collection-elpaca.el
index eae7bba..3de73aa 100644
--- a/modes/elpaca/evil-collection-elpaca.el
+++ b/modes/elpaca/evil-collection-elpaca.el
@@ -61,6 +61,19 @@ If this is nil, match original `elpaca' behavior."
:group 'evil-collection
:type 'boolean)
+(defun evil-collection-elpaca-ui-visit-build-dir ()
+ "Visit package's build-dir."
+ (interactive)
+ (elpaca-ui-visit 'build))
+
+(defmacro evil-collection-elpaca-defsearch (name query)
+ "Return search command with NAME for QUERY."
+ (declare (indent 1) (debug t))
+ `(defun ,(intern (format "elpaca-ui-search-%s" name)) ()
+ ,(format "Search for %S" query)
+ (interactive)
+ (elpaca-ui-search ,query)))
+
(defun evil-collection-elpaca-setup ()
"Set up `evil' bindings for elpaca."
(evil-collection-define-key 'normal 'elpaca-info-mode-map
@@ -82,7 +95,10 @@ If this is nil, match original `elpaca' behavior."
(kbd "m") 'elpaca-manager
(kbd "r") 'elpaca-ui-mark-rebuild
(kbd "s") 'elpaca-ui-search
- (kbd "x") 'elpaca-ui-execute-marks)
+ (kbd "x") 'elpaca-ui-execute-marks
+ (kbd "+") 'elpaca-ui-show-hidden-rows
+ (kbd "=") 'elpaca-ui-show-hidden-rows
+ (kbd "gb") 'evil-collection-elpaca-ui-visit-build-dir)
(if evil-collection-elpaca-want-u-unmark
(evil-collection-define-key 'normal 'elpaca-ui-mode-map
@@ -101,27 +117,31 @@ If this is nil, match original `elpaca' behavior."
(if evil-collection-elpaca-want-g-filters
(evil-collection-define-key 'normal 'elpaca-ui-mode-map
- (kbd "gI") (elpaca-defsearch 'installed "#unique #installed")
- (kbd "gM") (elpaca-defsearch 'marked "#unique #marked")
- (kbd "gO") (elpaca-defsearch 'orphaned "#unique #orphan")
- (kbd "gT") (elpaca-defsearch 'tried "#unique #installed !#declared"))
+ (kbd "gI")
+ (evil-collection-elpaca-defsearch installed "#unique #installed")
+ (kbd "gM")
+ (evil-collection-elpaca-defsearch marked "#unique #marked")
+ (kbd "gO")
+ (evil-collection-elpaca-defsearch orphaned "#unique #orphan")
+ (kbd "gT")
+ (evil-collection-elpaca-defsearch tried "#unique #installed !#declared"))
(evil-collection-define-key 'normal 'elpaca-ui-mode-map
- (kbd "I") (elpaca-defsearch 'installed "#unique #installed")
- (kbd "M") (elpaca-defsearch 'marked "#unique #marked")
- (kbd "O") (elpaca-defsearch 'orphaned "#unique #orphan")
- (kbd "T") (elpaca-defsearch 'tried "#unique #installed !#declared")))
+ (kbd "I")
+ (evil-collection-elpaca-defsearch installed "#unique #installed")
+ (kbd "M")
+ (evil-collection-elpaca-defsearch marked "#unique #marked")
+ (kbd "O")
+ (evil-collection-elpaca-defsearch orphaned "#unique #orphan")
+ (kbd "T")
+ (evil-collection-elpaca-defsearch tried "#unique #installed !#declared")))
(if evil-collection-elpaca-want-movement
(evil-collection-define-key 'normal 'elpaca-ui-mode-map
(kbd "B") 'elpaca-ui-browse-package ;; b -> B
(kbd "F") 'elpaca-ui-mark-fetch ;; f -> F
(kbd "L") 'elpaca-log ;; l -> L
- ;; The original is on t but T is also a movement key as well as a
- ;; key bound to a filter. S is still an open key though and
- ;; matches [S]tatus.
- ;; t -> S
- (kbd "S") 'elpaca-status)
-
+ (kbd "gs") 'elpaca-status ;; t -> gs + gS
+ (kbd "gS") 'elpaca-status)
(evil-collection-define-key 'normal 'elpaca-ui-mode-map
(kbd "b") 'elpaca-ui-browse-package
(kbd "f") 'elpaca-ui-mark-fetch