aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Dalziel <tom_dl@hotmail.com>2022-01-07 16:16:22 +0100
committerTom Dalziel <33435574+tomdl89@users.noreply.github.com>2022-01-07 17:37:12 +0100
commit3232f9413f1bc0b4155fa20aaa8649d0f0c505d7 (patch)
tree538dca98ce65b0c4f85f6702a576a97107956c98
parent8afda6f6493a7f32c31d0e948e65ade06e17d1be (diff)
Add `evil-want-empty-ex-last-command` to vars
fixes #883
-rw-r--r--evil-ex.el7
-rw-r--r--evil-vars.el5
2 files changed, 10 insertions, 2 deletions
diff --git a/evil-ex.el b/evil-ex.el
index 488fc20..4ee28b8 100644
--- a/evil-ex.el
+++ b/evil-ex.el
@@ -192,18 +192,21 @@ is appended to the line."
":"
(or initial-input
(and evil-ex-previous-command
+ evil-want-empty-ex-last-command
(propertize evil-ex-previous-command 'face 'shadow)))
evil-ex-completion-map
nil
'evil-ex-history
- evil-ex-previous-command
+ (when evil-want-empty-ex-last-command
+ evil-ex-previous-command)
t)))
(evil-ex-execute result)))
(defun evil-ex-execute (result)
"Execute RESULT as an ex command on `evil-ex-current-buffer'."
;; empty input means repeating the previous command
- (when (zerop (length result))
+ (when (and (zerop (length result))
+ evil-want-empty-ex-last-command)
(setq result evil-ex-previous-command))
;; parse data
(evil-ex-update nil nil nil result)
diff --git a/evil-vars.el b/evil-vars.el
index 3887bb4..e4eded6 100644
--- a/evil-vars.el
+++ b/evil-vars.el
@@ -1943,6 +1943,11 @@ Otherwise the previous command is assumed as substitute.")
(define-key evil-ex-search-keymap [escape] 'abort-recursive-edit)
(set-keymap-parent evil-ex-search-keymap minibuffer-local-map)
+(defcustom evil-want-empty-ex-last-command t
+ "Whether to default to evil-ex-previous-command at empty ex prompt."
+ :type 'boolean
+ :group 'evil)
+
(defconst evil-version
(eval-when-compile
(with-temp-buffer