branch: elpa/casual
commit 414b39b8d85a6814137d9629c9ec15cc0a77c620
Author: Charles Choi <[email protected]>
Commit: Charles Choi <[email protected]>

    Added occur support to Casual RE-Builder
    
    - Invoke occur for regexp defined in RE-Builder.
---
 lisp/casual-re-builder-utils.el | 12 ++++++++++++
 lisp/casual-re-builder.el       |  3 +++
 tests/test-casual-re-builder.el |  1 +
 3 files changed, 16 insertions(+)

diff --git a/lisp/casual-re-builder-utils.el b/lisp/casual-re-builder-utils.el
index 37772655bc..87ca1a58f1 100644
--- a/lisp/casual-re-builder-utils.el
+++ b/lisp/casual-re-builder-utils.el
@@ -108,5 +108,17 @@ This is useful for commands such as `dired-do-find-regexp' 
and
   (interactive)
   (info "(elisp) Rx Notation"))
 
+(defun casual-reb-occur ()
+  "Run `occur' with the current `reb-regexp' in the `re-builder' target buffer.
+
+This code is taken from Argletrough post on Reddit.
+URL 
`https://www.reddit.com/r/emacs/comments/1j2qs3f/integration_of_rebuilder_and_occur_use_rx_syntax/'"
+  (interactive)
+  (let ((target-buffer reb-target-buffer)
+        (regexp (with-current-buffer reb-target-buffer reb-regexp)))
+    (reb-quit)
+    (switch-to-buffer target-buffer)
+    (occur regexp)))
+
 (provide 'casual-re-builder-utils)
 ;;; casual-re-builder-utils.el ends here
diff --git a/lisp/casual-re-builder.el b/lisp/casual-re-builder.el
index b7249e8ad1..e31502d843 100644
--- a/lisp/casual-re-builder.el
+++ b/lisp/casual-re-builder.el
@@ -83,6 +83,9 @@ regexp interactively.
     ("s" "Subexp mode" reb-enter-subexp-mode)
     ("f" "Force update" reb-force-update :transient t)]]
 
+  ["Misc"
+   ("o" "Occur" casual-reb-occur)]
+
   [:class transient-row
           (casual-lib-quit-one)
           ("i" "ⓘ Regexp Syntax" casual-re-builder-regexp-info
diff --git a/tests/test-casual-re-builder.el b/tests/test-casual-re-builder.el
index e724453c88..170975a0f4 100644
--- a/tests/test-casual-re-builder.el
+++ b/tests/test-casual-re-builder.el
@@ -45,6 +45,7 @@
     (push (casualt-suffix-test-vector "," #'casual-re-builder-settings-tmenu) 
test-vectors)
     (push (casualt-suffix-test-vector "i" #'casual-re-builder-regexp-info) 
test-vectors)
     (push (casualt-suffix-test-vector "q" #'reb-quit) test-vectors)
+    (push (casualt-suffix-test-vector "o" #'casual-reb-occur) test-vectors)
     (casualt-suffix-testbench-runner test-vectors
                                      #'casual-re-builder-tmenu
                                      '(lambda () (random 5000))))

Reply via email to