Skip to content

Commit 0b30585

Browse files
rrudakovbbatsov
authored andcommitted
Cleanup some code
- Remove 'append' from clojure-ts--align-query and extend it to match :let vector in 'for' and 'doseq' forms. - Remove hack with setting ':override t' for embedded parsers; it was added before I figured out how to not fontify some strings.
1 parent a16c6b4 commit 0b30585

File tree

1 file changed

+28
-29
lines changed

1 file changed

+28
-29
lines changed

clojure-ts-mode.el

Lines changed: 28 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1668,25 +1668,33 @@ BOUND bounds the whitespace search."
16681668

16691669
(defvar clojure-ts--align-query
16701670
(treesit-query-compile 'clojure
1671-
(append
1672-
`(((map_lit) @map)
1673-
((ns_map_lit) @ns-map)
1674-
((list_lit
1675-
((sym_lit) @sym
1676-
(:match ,(clojure-ts-symbol-regexp clojure-ts-align-binding-forms) @sym))
1677-
(vec_lit) @bindings-vec))
1678-
((list_lit
1679-
((sym_lit) @sym
1680-
(:match ,(clojure-ts-symbol-regexp clojure-ts-align-cond-forms) @sym)))
1681-
@cond)
1682-
((anon_fn_lit
1683-
((sym_lit) @sym
1684-
(:match ,(clojure-ts-symbol-regexp clojure-ts-align-binding-forms) @sym))
1685-
(vec_lit) @bindings-vec))
1686-
((anon_fn_lit
1687-
((sym_lit) @sym
1688-
(:match ,(clojure-ts-symbol-regexp clojure-ts-align-cond-forms) @sym)))
1689-
@cond)))))
1671+
`(((map_lit) @map)
1672+
((ns_map_lit) @ns-map)
1673+
((list_lit
1674+
((sym_lit) @sym
1675+
(:match ,(clojure-ts-symbol-regexp clojure-ts-align-binding-forms) @sym))
1676+
(vec_lit) @bindings-vec))
1677+
((list_lit
1678+
:anchor
1679+
((sym_lit) @sym
1680+
(:match ,(rx bol (or "for" "doseq") eol) @sym))
1681+
(vec_lit
1682+
((kwd_lit) @kwd
1683+
(:equal ":let" @kwd))
1684+
:anchor
1685+
(vec_lit) @bindings-vec)))
1686+
((list_lit
1687+
((sym_lit) @sym
1688+
(:match ,(clojure-ts-symbol-regexp clojure-ts-align-cond-forms) @sym)))
1689+
@cond)
1690+
((anon_fn_lit
1691+
((sym_lit) @sym
1692+
(:match ,(clojure-ts-symbol-regexp clojure-ts-align-binding-forms) @sym))
1693+
(vec_lit) @bindings-vec))
1694+
((anon_fn_lit
1695+
((sym_lit) @sym
1696+
(:match ,(clojure-ts-symbol-regexp clojure-ts-align-cond-forms) @sym)))
1697+
@cond))))
16901698

16911699
(defvar clojure-ts--align-reader-conditionals-query
16921700
(treesit-query-compile 'clojure
@@ -2564,12 +2572,6 @@ function can also be used to upgrade the grammars if they are outdated."
25642572
(let ((treesit-language-source-alist clojure-ts-grammar-recipes))
25652573
(treesit-install-language-grammar grammar)))))
25662574

2567-
(defsubst clojure-ts--font-lock-setting-update-override (setting)
2568-
"Return SETTING with override set to TRUE."
2569-
(let ((new-setting (copy-tree setting)))
2570-
(setf (nth 3 new-setting) t)
2571-
new-setting))
2572-
25732575
(defun clojure-ts--harvest-treesit-configs (mode)
25742576
"Harvest tree-sitter configs from MODE.
25752577
Return a plist with the following keys and value:
@@ -2578,10 +2580,7 @@ Return a plist with the following keys and value:
25782580
:simple-indent (from `treesit-simple-indent-rules')"
25792581
(with-temp-buffer
25802582
(funcall mode)
2581-
;; We need to set :override t for all external queries, otherwise new faces
2582-
;; won't be applied on top of the string face defined for `clojure-ts-mode'.
2583-
(list :font-lock (seq-map #'clojure-ts--font-lock-setting-update-override
2584-
treesit-font-lock-settings)
2583+
(list :font-lock treesit-font-lock-settings
25852584
:simple-indent treesit-simple-indent-rules)))
25862585

25872586
(defun clojure-ts--add-config-for-mode (mode)

0 commit comments

Comments
 (0)