diff options
| -rw-r--r-- | evil-ex.el | 7 | ||||
| -rw-r--r-- | evil-tests.el | 22 |
2 files changed, 27 insertions, 2 deletions
@@ -67,13 +67,14 @@ (range ("%" #'(evil-ex-full-range)) ("*" #'(evil-ex-last-visual-range)) + ((alt "," ";") line #'(evil-ex-range (evil-ex-current-line) $2)) (line ";" line #'(let ((tmp1 $1)) (save-excursion (goto-line tmp1) (evil-ex-range tmp1 $3)))) (line "," line #'(evil-ex-range $1 $3)) (line #'(evil-ex-range $1 nil)) - ("`" "[-a-zA-Z_<>']" ",`" "[-a-zA-Z_<>']" + ("`" marker-name ",`" marker-name #'(evil-ex-char-marker-range $2 $4))) (line (base (\? offset) search (\? offset) @@ -98,7 +99,7 @@ (offset (+ signed-number #'+)) (marker - ("'" "[-a-zA-Z_<>']" #'(evil-ex-marker $2))) + ("'" marker-name #'(evil-ex-marker $2))) (search forward backward @@ -115,6 +116,8 @@ #'(evil-ex-re-bwd $2)) ("\\?" "\\(?:[\\].\\|[^?]\\)+" "\\?" #'(evil-ex-re-bwd $2))) + (marker-name + "[]\\[-a-zA-Z_<>']") (next "\\\\/" #'(evil-ex-prev-search)) (prev diff --git a/evil-tests.el b/evil-tests.el index 8212efc..be03b05 100644 --- a/evil-tests.el +++ b/evil-tests.el @@ -7192,6 +7192,8 @@ if no previous selection") (evil-ex-line (evil-ex-marker "x") nil)))) (should (equal (evil-ex-parse "`x,`y" nil 'range) '(evil-ex-char-marker-range "x" "y"))) + (should (equal (evil-ex-parse "`[,`]" nil 'range) + '(evil-ex-char-marker-range "[" "]"))) (should (equal (evil-ex-parse "5,+" nil 'range) '(evil-ex-range (evil-ex-line (string-to-number "5") nil) @@ -7244,6 +7246,26 @@ if no previous selection") (evil-ex-last-line) (+ (evil-ex-signed-number (intern "-") (string-to-number "10"))))))) + (should (equal (evil-ex-parse "'[,']" nil 'range) + '(evil-ex-range + (evil-ex-line + (evil-ex-marker "[") + nil) + (evil-ex-line + (evil-ex-marker "]") + nil)))) + (should (equal (evil-ex-parse ",']" nil 'range) + '(evil-ex-range + (evil-ex-current-line) + (evil-ex-line + (evil-ex-marker "]") + nil)))) + (should (equal (evil-ex-parse ";']" nil 'range) + '(evil-ex-range + (evil-ex-current-line) + (evil-ex-line + (evil-ex-marker "]") + nil)))) (should (equal (evil-ex-parse ".+42" nil 'range) '(evil-ex-range (evil-ex-line |
