(use-package macrursors
:config
(dolist (mode '(corfu-mode goggles-mode beacon-mode))
(add-hook 'macrursors-pre-finish-hook mode)
(add-hook 'macrursors-post-finish-hook mode))
(define-prefix-command 'macrursors-mark-map)
(global-set-key (kbd "C-c SPC") #'macrursors-select)
(global-set-key (kbd "C->") #'macrursors-mark-next-instance-of)
(global-set-key (kbd "C-<") #'macrursors-mark-previous-instance-of)
(global-set-key (kbd "C-;") 'macrursors-mark-map)
(define-key macrursors-mark-map (kbd "C-;") #'macrursors-mark-all-lines-or-instances)
(define-key macrursors-mark-map (kbd ";") #'macrursors-mark-all-lines-or-instances)
(define-key macrursors-mark-map (kbd "l") #'macrursors-mark-all-lists)
(define-key macrursors-mark-map (kbd "s") #'macrursors-mark-all-symbols)
(define-key macrursors-mark-map (kbd "e") #'macrursors-mark-all-sexps)
(define-key macrursors-mark-map (kbd "f") #'macrursors-mark-all-defuns)
(define-key macrursors-mark-map (kbd "n") #'macrursors-mark-all-numbers)
(define-key macrursors-mark-map (kbd ".") #'macrursors-mark-all-sentences)
(define-key macrursors-mark-map (kbd "r") #'macrursors-mark-all-lines))
Imo this package declaration is very verbose. I know with use package :bind could be used to clean this up, but it still feels too "hands on". I'd like to make a way for users to have a simple setup, while advanced users could setup the package the way they wish.
My current idea is to offer a "setup function" like this.
(defun macrursors-setup ()
(define-prefix-command 'macrursors-mark-map)
(global-set-key (kbd "C-c SPC") #'macrursors-select)
(global-set-key (kbd "C->") #'macrursors-mark-next-instance-of)
(global-set-key (kbd "C-<") #'macrursors-mark-previous-instance-of)
(global-set-key (kbd "C-;") 'macrursors-mark-map)
(define-key macrursors-mark-map (kbd "C-;") #'macrursors-mark-all-lines-or-instances)
(define-key macrursors-mark-map (kbd ";") #'macrursors-mark-all-lines-or-instances)
(define-key macrursors-mark-map (kbd "l") #'macrursors-mark-all-lists)
(define-key macrursors-mark-map (kbd "s") #'macrursors-mark-all-symbols)
(define-key macrursors-mark-map (kbd "e") #'macrursors-mark-all-sexps)
(define-key macrursors-mark-map (kbd "f") #'macrursors-mark-all-defuns)
(define-key macrursors-mark-map (kbd "n") #'macrursors-mark-all-numbers)
(define-key macrursors-mark-map (kbd ".") #'macrursors-mark-all-sentences)
(define-key macrursors-mark-map (kbd "r") #'macrursors-mark-all-lines))
So that way users could have a minimal way of setting up the package like so:
(use-package macrursors
:config
(macrursors-setup))
We would need to find a common consensus as to what good "general" binds would work for macrursor defaults.
Imo this package declaration is very verbose. I know with use package
:bindcould be used to clean this up, but it still feels too "hands on". I'd like to make a way for users to have a simple setup, while advanced users could setup the package the way they wish.My current idea is to offer a "setup function" like this.
So that way users could have a minimal way of setting up the package like so:
We would need to find a common consensus as to what good "general" binds would work for macrursor defaults.