aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiguel Ángel Moreno <mail@migalmoreno.com>2022-07-26 13:46:26 +0200
committerMiguel Ángel Moreno <mail@migalmoreno.com>2022-07-26 15:30:50 +0200
commitd73f0a28156043d26e034ec922951b08df9f5a9f (patch)
treec68f44640bb0e7d865e50c926ea51af000ff55ab
parent070e68fe7086e16a2f53d643625b658f862cd280 (diff)
fdroid.el: Remove mandatory dependency on Consult and Embark
-rw-r--r--fdroid.el35
1 files changed, 18 insertions, 17 deletions
diff --git a/fdroid.el b/fdroid.el
index 3c87653..afde4a9 100644
--- a/fdroid.el
+++ b/fdroid.el
@@ -1,6 +1,4 @@
;; -*- lexical-binding: t; -*-
-(require 'consult)
-(require 'embark)
(require 'cl-lib)
(defgroup fdroid nil
@@ -58,7 +56,7 @@ and shows MESSAGE after completion."
(kill-buffer (process-buffer p)))))))))
(when (and fdroid-log-events ,message)
(message "Launching fdroidcl...")))
- (user-error "No device connected."))))
+ (user-error "No device connected"))))
(defun fdroid--list-packages (&optional keywords)
"Lists all packages in current F-Droid repository. Optionally, filter packages by KEYWORDS
@@ -115,14 +113,17 @@ for a MULTIPLE package selection."
(fdroid--build-candidate-list keywords)
(fdroid--build-candidate-list))))
(if multiple
- (consult-completing-read-multiple
+ (completing-read-multiple
"Package(s): "
candidates)
- (consult--read
- candidates
- :prompt "Package: "
- :sort nil
- :category 'fdroid))))
+ (completing-read
+ "Package: "
+ (lambda (string pred action)
+ (if (eq action 'metadata)
+ `(metadata
+ (category . fdroid)
+ (display-sort-function . ,#'identity))
+ (complete-with-action action candidates string pred)))))))
;;;###autoload
(defun fdroid-list-packages ()
@@ -207,12 +208,14 @@ for a MULTIPLE package selection."
(interactive)
(define-key mode-specific-map [?\C--] 'fdroid-map))
-(embark-define-keymap embark-fdroid-actions
- "Keymap for `fdroid' actions which take F-Droid package identifiers."
- ("i" fdroid-install)
- ("d" fdroid-download)
- ("u" fdroid-uninstall)
- ("s" fdroid-show))
+(when (require 'embark nil t)
+ (embark-define-keymap embark-fdroid-actions
+ "Keymap for `fdroid' actions which take F-Droid package identifiers."
+ ("i" fdroid-install)
+ ("d" fdroid-download)
+ ("u" fdroid-uninstall)
+ ("s" fdroid-show))
+ (add-to-list 'embark-keymap-alist '(fdroid . embark-fdroid-actions)))
(defvar fdroid-output-mode-map
(let ((map (make-sparse-keymap)))
@@ -231,8 +234,6 @@ for a MULTIPLE package selection."
(define-key fdroid-map [?s] #'fdroid-show)
(define-key fdroid-map [?I] #'fdroid-install-multiple)
-(add-to-list 'embark-keymap-alist '(fdroid . embark-fdroid-actions))
-
(provide 'fdroid)
;;; fdroid.el ends here