diff options
author | Miguel Ángel Moreno <mail@migalmoreno.com> | 2022-05-09 13:57:00 +0200 |
---|---|---|
committer | Miguel Ángel Moreno <mail@migalmoreno.com> | 2022-05-09 13:57:00 +0200 |
commit | 5cac3702e561ec073001969c27b75e402f6eafbc (patch) | |
tree | 4feed29f4e6d25def1e8c59fe1ffd4b9842ed136 | |
parent | ad56a6a03a98e42f4e30a98bb22252875d8f0254 (diff) |
fdroid.el: Adds mode for *fdroid-show* buffers and fixes bindings
-rw-r--r-- | fdroid.el | 22 |
1 files changed, 21 insertions, 1 deletions
@@ -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 |