]> git.eshelyaron.com Git - emacs.git/commitdiff
Rename treesit-simple-indent-modify-rules and fix docstring
authorYuan Fu <casouri@gmail.com>
Mon, 17 Feb 2025 21:27:52 +0000 (13:27 -0800)
committerEshel Yaron <me@eshelyaron.com>
Tue, 18 Feb 2025 08:54:13 +0000 (09:54 +0100)
* lisp/treesit.el (treesit-simple-indent-modify-rules): Rename
and fix docstring.  It should be matcher, not anchor.  Also
reword a little bit.
* etc/NEWS: Update.
* lisp/textmodes/mhtml-ts-mode.el:
(mhtml-ts-mode--treesit-indent-rules): Update accordingly.

(cherry picked from commit 928bad93609773ca5e9c94cf6e8f24e895e263d3)

lisp/textmodes/mhtml-ts-mode.el
lisp/treesit.el

index 0d53176f166112b8fe64397c900dea0c40a8e79f..64f44751213289072befc9e7792a1059c27baedc 100644 (file)
@@ -324,14 +324,14 @@ NODE and PARENT are ignored."
            ;; Extended rules for js and css, to
            ;; indent appropriately when injected
            ;; into html
-           (treesit-modify-indent-rules
+           (treesit-simple-indent-modify-rules
             'javascript
             `((javascript ((parent-is "program")
                            mhtml-ts-mode--js-css-tag-bol
                            mhtml-ts-mode--js-css-indent-offset)))
             js--treesit-indent-rules
             :replace)
-           (treesit-modify-indent-rules
+           (treesit-simple-indent-modify-rules
             'css
             `((css ((parent-is "stylesheet")
                     mhtml-ts-mode--js-css-tag-bol
index f6f9a9952b74ff4a0fef48e62466f3920b0ebfb4..de9d963d7f68952613c955cfff3f6ff0700b0f51 100644 (file)
@@ -2532,12 +2532,18 @@ end of existing rules."
               (append rules existing-rules)))))
     (setf (alist-get language treesit-simple-indent-rules) new-rules)))
 
-(defun treesit-modify-indent-rules (lang new-rules rules &optional how)
-  "Modify a copy of RULES using NEW-RULES.
-As default replace rules with the same anchor.
-When HOW is :prepend NEW-RULES are prepend to RULES, when
-:append NEW-RULES are appended to RULES, when :replace (the default)
-NEW-RULES replace rule in RULES which the same anchor."
+(defun treesit-simple-indent-modify-rules (lang new-rules rules &optional how)
+  "Pick out rules for LANG in RULES, and modify it according to NEW_RULES.
+
+RULES should have the same form as `treesit-simple-indent-rules', i.e, a
+list of (LANG RULES...).  Return a new modified rules in the form
+of (LANG RULES...).
+
+If HOW is omitted or :replace, for each rule in NEW-RULES, find the old
+rule that has the same matcher, and replace it.
+
+If HOW is :prepend, just prepend NEW-RULES to the old rules; if HOW is
+:append, append NEW-RULES."
   (cond
    ((not (alist-get lang rules))
     (error "No rules for language %s in RULES" lang))