Skip to content

Commit a5cf646

Browse files
committed
Fix quoted functions semantic alignment
Fixes an error where quoted functions would not align correctly with semantic indentation. Adds an example to the test sample.
1 parent 0e6816e commit a5cf646

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

clojure-ts-mode.el

+6-1
Original file line numberDiff line numberDiff line change
@@ -520,6 +520,10 @@ with the markdown_inline grammar."
520520
"Return non-nil if NODE is a Clojure keyword."
521521
(string-equal "kwd_lit" (treesit-node-type node)))
522522

523+
(defun clojure-ts--quoted-var-node-p (node)
524+
"Return non-nil if NODE is a Clojure quoted."
525+
(string-equal "var_quoting_lit" (treesit-node-type node)))
526+
523527
(defun clojure-ts--named-node-text (node)
524528
"Gets the name of a symbol or keyword NODE.
525529
This does not include the NODE's namespace."
@@ -722,7 +726,8 @@ https://github.com/weavejester/cljfmt/blob/fb26b22f569724b05c93eb2502592dfc2de89
722726
(not (treesit-node-eq (treesit-node-child parent 1 t) node))
723727
(let ((first-child (treesit-node-child parent 0 t)))
724728
(or (clojure-ts--symbol-node-p first-child)
725-
(clojure-ts--keyword-node-p first-child)))))
729+
(clojure-ts--keyword-node-p first-child)
730+
(clojure-ts--quoted-var-node-p first-child)))))
726731

727732
(defun clojure-ts--match-expression-in-body (_node parent _bol)
728733
"Match NODE if it is an expression used in a body argument.

test/samples/indentation.clj

+2
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@
6060
(clojure.core/filter even?
6161
(range 1 10))
6262

63+
(#'filter even?
64+
(range 10))
6365

6466
(filter
6567
even?

0 commit comments

Comments
 (0)