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))))