diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-10-16 22:28:56 +0200 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-10-16 22:28:56 +0200 |
commit | 44325c98d87645858f5f71eddfe8f6b12525d37c (patch) | |
tree | 9f95a543ccb58e6282f940e0c2b6f857ddccac42 /.config | |
parent | 1e6038ce30cea9f0cb13535f01a2cd3915752c7f (diff) |
emacs: Rework ‘e/join-current-and-next-line’
Diffstat (limited to '.config')
-rw-r--r-- | .config/emacs/editing.el | 16 | ||||
-rw-r--r-- | .config/emacs/modules/mm-keybindings.el | 8 |
2 files changed, 15 insertions, 9 deletions
diff --git a/.config/emacs/editing.el b/.config/emacs/editing.el index 67d73eb..1920c91 100644 --- a/.config/emacs/editing.el +++ b/.config/emacs/editing.el @@ -16,12 +16,18 @@ This function wraps `align-regexp' and implicitly prepends REGEXP with (end (max (mark) (point)))) (align-regexp start end regexp 1 1 repeat))) -(defun e/join-current-and-next-line () +(defun e/join-current-and-next-line (&optional arg beg end) "Join the current- and next lines. -Join the next line after point to the line point is currently on. This -is in effect the reverse of `join-line'." - (interactive) - (delete-indentation 1)) +This function is identical to `join-line' but it joins the current line +with the next one instead of the previous one." + (interactive + (progn (barf-if-buffer-read-only) + (cons current-prefix-arg + (and (use-region-p) + (list (region-beginning) (region-end)))))) + (delete-indentation + (unless (or beg end) (not arg)) + beg end)) (defun e/transpose-previous-chars () "Transpose the two characters preceeding point. diff --git a/.config/emacs/modules/mm-keybindings.el b/.config/emacs/modules/mm-keybindings.el index d01b447..3eab35c 100644 --- a/.config/emacs/modules/mm-keybindings.el +++ b/.config/emacs/modules/mm-keybindings.el @@ -69,7 +69,9 @@ the first command is remapped to the second command." mark-sexp e/mark-entire-sexp transpose-chars e/transpose-previous-chars - transpose-lines e/transpose-current-and-next-lines) + transpose-lines e/transpose-current-and-next-lines + + delete-indentation e/join-current-and-next-line) (with-eval-after-load 'cc-vars (setopt c-backspace-function #'backward-delete-char)) @@ -96,9 +98,7 @@ the first command is remapped to the second command." "C-c d" #'duplicate-dwim "C-c t a" #'e/align-regexp "C-c t f" #'fill-paragraph - "C-c t s" #'sort-lines - "C-c j" #'e/join-current-and-next-line - "C-c J" #'join-line) + "C-c t s" #'sort-lines) (mm-keymap-set-repeating global-map "j" #'e/join-current-and-next-line |