branch: elpa/casual
commit 3f09c8c4c43484588f3e17c877bcf7adebdec5d5
Merge: 5535891ce8 27009efb7c
Author: Charles Choi <[email protected]>
Commit: GitHub <[email protected]>

    Merge pull request #44 from deejayem/add-isearch-beginning-and-end-commands
    
    Add isearch-{beginning,end}-of-buffer commands
---
 lisp/casual-isearch-utils.el       | 4 +++-
 lisp/casual-isearch.el             | 6 ++++++
 tests/test-casual-isearch-utils.el | 8 ++++++--
 tests/test-casual-isearch.el       | 2 ++
 4 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/lisp/casual-isearch-utils.el b/lisp/casual-isearch-utils.el
index 539e5dbd8a..e37f23da3a 100644
--- a/lisp/casual-isearch-utils.el
+++ b/lisp/casual-isearch-utils.el
@@ -27,7 +27,9 @@
 (require 'casual-lib)
 
 (defconst casual-isearch-unicode-db
-  '((:previous . '("↑" "Previous"))
+  '((:first . '("⤒" "First"))
+    (:last . '("⤓" "Last"))
+    (:previous . '("↑" "Previous"))
     (:next . '("↓" "Next")))
 
   "Unicode symbol DB to use for RE-Builder Transient menus.")
diff --git a/lisp/casual-isearch.el b/lisp/casual-isearch.el
index e4be1f1cac..7961b47a4f 100644
--- a/lisp/casual-isearch.el
+++ b/lisp/casual-isearch.el
@@ -112,6 +112,12 @@
      :transient t)
     ("n" "Next" isearch-repeat-forward
      :description (lambda () (casual-isearch-unicode-get :next))
+     :transient t)
+    ("<" "First" isearch-beginning-of-buffer
+     :description (lambda () (casual-isearch-unicode-get :first))
+     :transient t)
+    (">" "Last" isearch-end-of-buffer
+     :description (lambda () (casual-isearch-unicode-get :last))
      :transient t)]]
 
   [:class transient-row
diff --git a/tests/test-casual-isearch-utils.el 
b/tests/test-casual-isearch-utils.el
index 5057d38377..48382692f1 100644
--- a/tests/test-casual-isearch-utils.el
+++ b/tests/test-casual-isearch-utils.el
@@ -30,11 +30,15 @@
 (ert-deftest test-casual-isearch-unicode-get ()
   (let ((casual-lib-use-unicode nil))
     (should (string-equal (casual-isearch-unicode-get :previous) "Previous"))
-    (should (string-equal (casual-isearch-unicode-get :next) "Next")))
+    (should (string-equal (casual-isearch-unicode-get :next) "Next"))
+    (should (string-equal (casual-isearch-unicode-get :first) "First"))
+    (should (string-equal (casual-isearch-unicode-get :last) "Last")))
 
   (let ((casual-lib-use-unicode t))
     (should (string-equal (casual-isearch-unicode-get :previous) "↑"))
-    (should (string-equal (casual-isearch-unicode-get :next) "↓"))))
+    (should (string-equal (casual-isearch-unicode-get :next) "↓"))
+    (should (string-equal (casual-isearch-unicode-get :first) "⤒"))
+    (should (string-equal (casual-isearch-unicode-get :last) "⤓"))))
 
 (provide 'test-casual-isearch-utils)
 ;;; test-casual-isearch-utils.el ends here
diff --git a/tests/test-casual-isearch.el b/tests/test-casual-isearch.el
index 50fc2386bc..baa6645786 100644
--- a/tests/test-casual-isearch.el
+++ b/tests/test-casual-isearch.el
@@ -70,6 +70,8 @@
                (:binding "H" :command isearch-highlight-lines-matching-regexp)
                (:binding "n" :command isearch-repeat-forward)
                (:binding "p" :command isearch-repeat-backward)
+               (:binding ">" :command isearch-end-of-buffer)
+               (:binding "<" :command isearch-beginning-of-buffer)
                (:binding "RET" :command isearch-exit))))
 
         (casualt-suffix-testcase-runner test-vectors

Reply via email to