[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/racket-mode 381d9320de 2/4: Limit show/hide test submodule
|
From: |
ELPA Syncer |
|
Subject: |
[nongnu] elpa/racket-mode 381d9320de 2/4: Limit show/hide test submodules to racket-mode |
|
Date: |
Thu, 9 Nov 2023 13:00:07 -0500 (EST) |
branch: elpa/racket-mode
commit 381d9320dec8d3624aa1bedbd7acbca1254dea55
Author: Greg Hendershott <git@greghendershott.com>
Commit: Greg Hendershott <git@greghendershott.com>
Limit show/hide test submodules to racket-mode
Won't work in racket-hash-lang-mode for multiple reasons; add comment
about those.
---
racket-edit.el | 16 ++++++++++++----
racket-mode.el | 6 +++++-
2 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/racket-edit.el b/racket-edit.el
index dadbaa532a..f4475c8c92 100644
--- a/racket-edit.el
+++ b/racket-edit.el
@@ -24,11 +24,19 @@
;;; code folding
-;;;###autoload
-(add-to-list 'hs-special-modes-alist
- '(racket-mode "(" ")" ";" nil nil))
-
(defun racket--for-all-tests (verb f)
+ ;; For this to work in `racket-hash-lang-mode', (a) we'd need to
+ ;; learn the test submodule spans from analysis of fully-expanded
+ ;; code (as we can do on the `pdb` branch with a sufficiently new
+ ;; Racket). And then, (b) we'd need to do the hiding ourselves,
+ ;; without `hs-minor-mode', which AFAICT demands regexps for block
+ ;; starts and ends. We'd want a "positional" not regexp flavor,
+ ;; which AFAIK we'd need to implement ourselves.
+ ;;
+ ;; TL;DR: For now require `racket-mode'.
+ (racket--assert-racket-mode)
+ (unless (bound-and-true-p hs-minor-mode)
+ (user-error "hs-minor-mode is not enabled"))
(save-excursion
(goto-char (point-min))
(let ((n 0))
diff --git a/racket-mode.el b/racket-mode.el
index 8ed1345b9a..e594d18192 100644
--- a/racket-mode.el
+++ b/racket-mode.el
@@ -175,6 +175,11 @@
(setq-local indent-line-function #'racket-indent-line)
(setq-local indent-tabs-mode nil)
;; -----------------------------------------------------------------
+ ;; Code folding
+ (add-to-list 'hs-special-modes-alist
+ '(racket-mode "(" ")" ";" nil nil))
+ (hs-minor-mode 1)
+ ;; -----------------------------------------------------------------
;;; Misc
(setq-local local-abbrev-table racket-mode-abbrev-table)
(setq-local paragraph-start (concat "$\\|" page-delimiter))
@@ -185,7 +190,6 @@
(setq-local outline-regexp ";;; \\|(....")
(setq-local beginning-of-defun-function
#'racket--beginning-of-defun-function)
(setq-local imenu-create-index-function #'racket-imenu-create-index-function)
- (hs-minor-mode t)
(setq-local completion-at-point-functions (list #'racket-complete-at-point))
(setq-local eldoc-documentation-function nil)
(add-hook 'xref-backend-functions