Fix #2756: make C-a/C-e truly shift-select aware

This commit is contained in:
Henrik Lissner 2020-03-28 00:41:04 -04:00
parent 7d71584a8d
commit 8f685a3c31
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
2 changed files with 8 additions and 12 deletions

View file

@ -155,11 +155,8 @@ in some cases."
"Jump between the indentation column (first non-whitespace character) and the
beginning of the line. The opposite of
`doom/forward-to-last-non-comment-or-eol'."
(interactive "d")
(interactive "^d")
(let ((pt (or point (point))))
(when (and shift-select-mode this-command-keys-shift-translated)
(set-mark pt)
(activate-mark))
(cl-destructuring-bind (bol bot _eot _eol)
(doom--bol-bot-eot-eol pt)
(cond ((> pt bot)
@ -180,11 +177,8 @@ beginning of the line. The opposite of
(defun doom/forward-to-last-non-comment-or-eol (&optional point)
"Jumps between the last non-blank, non-comment character in the line and the
true end of the line. The opposite of `doom/backward-to-bol-or-indent'."
(interactive "d")
(interactive "^d")
(let ((pt (or point (point))))
(when (and shift-select-mode this-command-keys-shift-translated)
(set-mark pt)
(activate-mark))
(cl-destructuring-bind (_bol _bot eot eol)
(doom--bol-bot-eot-eol pt)
(cond ((< pt eot)

View file

@ -378,10 +378,12 @@
;; A Doom convention where C-s on popups and interactive searches will invoke
;; ivy/helm for their superior filtering.
(define-key! :keymaps +default-minibuffer-maps
"C-s" (if (featurep! :completion ivy)
#'counsel-minibuffer-history
#'helm-minibuffer-history))
(when-let (command (cond ((featurep! :completion ivy)
#'counsel-minibuffer-history)
((featurep! :completion helm)
#'helm-minibuffer-history)))
(define-key! :keymaps +default-minibuffer-maps
"C-s" command))
;; Smarter C-a/C-e for both Emacs and Evil. C-a will jump to indentation.
;; Pressing it again will send you to the true bol. Same goes for C-e, except