@@ -1668,25 +1668,33 @@ BOUND bounds the whitespace search."
1668
1668
1669
1669
(defvar clojure-ts--align-query
1670
1670
(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))))
1690
1698
1691
1699
(defvar clojure-ts--align-reader-conditionals-query
1692
1700
(treesit-query-compile 'clojure
@@ -2564,12 +2572,6 @@ function can also be used to upgrade the grammars if they are outdated."
2564
2572
(let ((treesit-language-source-alist clojure-ts-grammar-recipes))
2565
2573
(treesit-install-language-grammar grammar)))))
2566
2574
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
-
2573
2575
(defun clojure-ts--harvest-treesit-configs (mode )
2574
2576
" Harvest tree-sitter configs from MODE.
2575
2577
Return a plist with the following keys and value:
@@ -2578,10 +2580,7 @@ Return a plist with the following keys and value:
2578
2580
:simple-indent (from `treesit-simple-indent-rules' )"
2579
2581
(with-temp-buffer
2580
2582
(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
2585
2584
:simple-indent treesit-simple-indent-rules)))
2586
2585
2587
2586
(defun clojure-ts--add-config-for-mode (mode )
0 commit comments