branch: elpa/geiser-racket
commit a608b028ad475449f97d728422238c05b9bbc1a6
Author: Jose Antonio Ortega Ruiz <[email protected]>
Commit: Jose Antonio Ortega Ruiz <[email protected]>
Racket: new commands to show and hide test submodules
The new commands, being racket-specific, are called
geiser-racket-{show,hide,toggle}-tests, and have no default binding in
geiser-mode (since they don't have any meaning in Guile).
The implementation is based on more generic functions in geiser-edit
that allow hiding of any top-level form, given its name, so we will
probably find new forms to hide in the future.
Hiding is limited to top-level forms, which i think is fine for the only
use case we have in mind right now.
---
elisp/geiser-racket.el | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/elisp/geiser-racket.el b/elisp/geiser-racket.el
index 4fbc017..9e00c4d 100644
--- a/elisp/geiser-racket.el
+++ b/elisp/geiser-racket.el
@@ -370,6 +370,27 @@ using start-geiser, a procedure in the geiser/server
module."
(setq geiser-image-cache-dir
(geiser-eval--send/result '(:eval (image-cache) geiser/user)))))
+
+;;; Additional commands
+
+(defconst geiser-racket--test-module "module+ test")
+
+(defun geiser-racket-toggle-tests ()
+ "Toggle visibility of test module fragments of the form (module+ test).
+
+When hidden, the test module forms are shown as an ellipsis."
+ (interactive)
+ (geiser-edit--toggle-visibility geiser-racket--test-module))
+
+(defun geiser-racket-show-tests ()
+ "Unconditionally shows all test modules."
+ (interactive)
+ (geiser-edit--show geiser-racket--test-module))
+
+(defun geiser-racket-hide-tests ()
+ "Unconditionally hides all visible test modules."
+ (interactive)
+ (geiser-edit--hide geiser-racket--test-module))
;;; Implementation definition: