branch: externals/easy-kill commit cf5488ad7f92de7c4f708f1f601a6805bd70b918 Merge: 3ca8018 02dcebc Author: Leo Liu <sdl....@gmail.com> Commit: Leo Liu <sdl....@gmail.com>
Merge pull request #20 from knu/delete-region Implement easy-kill-delete-region. --- easy-kill.el | 7 +++++++ test.el | 12 ++++++++++++ 2 files changed, 19 insertions(+) diff --git a/easy-kill.el b/easy-kill.el index 40d537a..684a209 100644 --- a/easy-kill.el +++ b/easy-kill.el @@ -124,6 +124,7 @@ deprecated." (define-key map "?" 'easy-kill-help) (define-key map [remap set-mark-command] 'easy-kill-mark-region) (define-key map [remap kill-region] 'easy-kill-region) + (define-key map [remap delete-region] 'easy-kill-delete-region) (define-key map [remap keyboard-quit] 'easy-kill-abort) (define-key map [remap exchange-point-and-mark] 'easy-kill-exchange-point-and-mark) @@ -539,6 +540,12 @@ checked." (setq deactivate-mark t) (easy-kill-echo "Appended"))) +(put 'easy-kill-delete-region 'easy-kill-exit t) +(defun easy-kill-delete-region () + (interactive) + (pcase (easy-kill-get bounds) + (`(,beg . ,end) (delete-region beg end)))) + (put 'easy-kill-unhighlight 'easy-kill-exit t) (defun easy-kill-unhighlight () (interactive) diff --git a/test.el b/test.el index 8386aa6..599920a 100644 --- a/test.el +++ b/test.el @@ -82,6 +82,18 @@ (call-interactively #'easy-kill-append) (should (string= (car kill-ring) "abc")))) +(ert-deftest test-easy-kill-delete-region () + (with-temp-buffer + (insert "abc def ghi") + (backward-word 2) + (kill-new "test") + (easy-kill) + (easy-kill-thing 'word) + (call-interactively #'easy-kill-delete-region) + (should (string= (car kill-ring) "test")) + (should (string= (buffer-substring-no-properties (point-min) (point)) "abc ")) + (should (string= (buffer-substring-no-properties (point) (point-max)) " ghi")))) + ;;; Make sure the old format of easy-kill-alist is still supported. (ert-deftest test-old-easy-kill-alist () (let ((easy-kill-alist '((?w . word)