emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/clojure-ts-mode 5c52695acf: [Fix #30] Add clojure-ts-tople


From: ELPA Syncer
Subject: [nongnu] elpa/clojure-ts-mode 5c52695acf: [Fix #30] Add clojure-ts-toplevel-inside-comment-form (#31)
Date: Wed, 7 Feb 2024 15:59:26 -0500 (EST)

branch: elpa/clojure-ts-mode
commit 5c52695acf18b4f400b684fe2730d38be0b779e8
Author: Dieter Komendera <dieter@komendera.com>
Commit: GitHub <noreply@github.com>

    [Fix #30] Add clojure-ts-toplevel-inside-comment-form (#31)
    
    This is the equivalent to clojure-toplevel-inside-comment-form in 
clojure-mode.
---
 CHANGELOG.md       |  2 ++
 README.md          |  8 ++++++++
 clojure-ts-mode.el | 11 ++++++++++-
 3 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index c6bd008b59..238bb73408 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,8 @@
 
 ## main (unreleased)
 
+- Add custom option `clojure-ts-toplevel-inside-comment-form` as an equivalent 
to `clojure-toplevel-inside-comment-form` in clojure-mode (#30)
+
 ## 0.2.0
 
 - Pin grammar revision in treesit-language-source-alist
diff --git a/README.md b/README.md
index 9dc5438ff8..15dfffab02 100644
--- a/README.md
+++ b/README.md
@@ -39,6 +39,14 @@ Too highlight entire rich `comment` expression with the 
comment font face, set
 By default this is `nil`, so that anything within a `comment` expression is
 highlighted like regular clojure code.
 
+### Navigation and Evaluation
+
+To make forms inside of `(comment ...)` forms appear as toplevel forms for 
evaluation and navigation, set
+
+``` emacs-lisp
+(setq clojure-ts-toplevel-inside-comment-form t)
+```
+
 ## Rationale
 
 [clojure-mode](https://github.com/clojure-emacs/clojure-mode) has served us 
well
diff --git a/clojure-ts-mode.el b/clojure-ts-mode.el
index 1df682e374..5e50ffa065 100644
--- a/clojure-ts-mode.el
+++ b/clojure-ts-mode.el
@@ -93,6 +93,12 @@ itself."
   :type 'boolean
   :package-version '(clojure-ts-mode . "0.2.0"))
 
+(defcustom clojure-ts-toplevel-inside-comment-form nil
+  "Eval top level forms inside comment forms instead of the comment form 
itself."
+  :type 'boolean
+  :safe #'booleanp
+  :package-version '(clojure-ts-mode . "0.2.1"))
+
 (defvar clojure-ts--debug nil
   "Enables debugging messages, shows current node in mode-line.
 Only intended for use at development time.")
@@ -911,7 +917,10 @@ See `clojure-ts--font-lock-settings' for usage of 
MARKDOWN-AVAILABLE."
   (setq-local treesit-defun-prefer-top-level t)
   (setq-local treesit-defun-tactic 'top-level)
   (setq-local treesit-defun-type-regexp
-              (rx (or "list_lit" "vec_lit" "map_lit")))
+              (cons (rx (or "list_lit" "vec_lit" "map_lit"))
+                    (lambda (node)
+                      (or (not clojure-ts-toplevel-inside-comment-form)
+                          (not (clojure-ts--definition-node-p "comment" 
node))))))
   (setq-local treesit-simple-indent-rules
               (clojure-ts--configured-indent-rules))
   (setq-local treesit-defun-name-function



reply via email to

[Prev in Thread] Current Thread [Next in Thread]