aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiguel Ángel Moreno <mail@migalmoreno.com>2022-05-09 13:57:00 +0200
committerMiguel Ángel Moreno <mail@migalmoreno.com>2022-05-09 13:57:00 +0200
commit5cac3702e561ec073001969c27b75e402f6eafbc (patch)
tree4feed29f4e6d25def1e8c59fe1ffd4b9842ed136
parentad56a6a03a98e42f4e30a98bb22252875d8f0254 (diff)
fdroid.el: Adds mode for *fdroid-show* buffers and fixes bindings
-rw-r--r--fdroid.el22
1 files changed, 21 insertions, 1 deletions
diff --git a/fdroid.el b/fdroid.el
index 84fec38..8ccc10a 100644
--- a/fdroid.el
+++ b/fdroid.el
@@ -193,9 +193,18 @@ for a MULTIPLE package selection."
(let ((result (buffer-substring (point-min) (point-max))))
(switch-to-buffer
(with-current-buffer (get-buffer-create "*fdroid-show*")
- (insert result)
+ (fdroid-output-mode)
+ (let ((inhibit-read-only t))
+ (erase-buffer)
+ (insert result))
(current-buffer))))))
+;;;###autoload
+(defun fdroid-default-keybindings ()
+ "Binds the `C-c C-' prefix to `fdroid' actions."
+ (interactive)
+ (global-set-key (kbd "C-c C--") 'fdroid-map))
+
(embark-define-keymap embark-fdroid-actions
"Keymap for `fdroid' actions which take F-Droid package identifiers."
("i" fdroid-install)
@@ -203,6 +212,15 @@ for a MULTIPLE package selection."
("u" fdroid-uninstall)
("s" fdroid-show))
+(defvar fdroid-output-mode-map
+ (let ((map (make-sparse-keymap)))
+ (define-key map [?q] #'kill-this-buffer)
+ map)
+ "Map for *fdroid-show* buffers.")
+
+(define-derived-mode fdroid-output-mode special-mode "F-Droid Output"
+ "Major mode for *fdroid-show* buffers.")
+
(define-prefix-command 'fdroid-map)
(define-key fdroid-map [?l] #'fdroid-list-packages)
(define-key fdroid-map [?i] #'fdroid-install)
@@ -214,3 +232,5 @@ for a MULTIPLE package selection."
(add-to-list 'embark-keymap-alist '(fdroid . embark-fdroid-actions))
(provide 'fdroid)
+
+;;; fdroid.el ends here