>From 9dc7d1151eb15880285d4015efa1579f9e8817ed Mon Sep 17 00:00:00 2001 From: Theodor Thornhill Date: Sun, 6 Nov 2022 13:48:39 +0100 Subject: [PATCH] Make treesit-simple-indent-rules accept function * lisp/treesit.el (treesit-simple-indent): Make treesit-simple-indent accept a function that returns a list of the same type as before. (treesit-simple-indent-rules): Document said change. --- lisp/treesit.el | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lisp/treesit.el b/lisp/treesit.el index 84be69d8b7..18c9abd658 100644 --- a/lisp/treesit.el +++ b/lisp/treesit.el @@ -882,7 +882,8 @@ treesit--indent-verbose "If non-nil, log progress when indenting.") (defvar-local treesit-simple-indent-rules nil - "A list of indent rule settings. + "A list, or a function that returns a list of indent rule settings. + Each indent rule setting should be (LANGUAGE . RULES), where LANGUAGE is a language symbol, and RULES is a list of @@ -1292,7 +1293,9 @@ treesit-simple-indent (cons nil nil)) (let* ((language (treesit-node-language parent)) (rules (alist-get language - treesit-simple-indent-rules))) + (if (functionp treesit-simple-indent-rules) + (funcall treesit-simple-indent-rules) + treesit-simple-indent-rules)))) (cl-loop for rule in rules for pred = (nth 0 rule) for anchor = (nth 1 rule) -- 2.34.1