summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/textmodes/mhtml-ts-mode.el4
-rw-r--r--lisp/treesit.el18
2 files changed, 14 insertions, 8 deletions
diff --git a/lisp/textmodes/mhtml-ts-mode.el b/lisp/textmodes/mhtml-ts-mode.el
index 0d53176f166..64f44751213 100644
--- a/lisp/textmodes/mhtml-ts-mode.el
+++ b/lisp/textmodes/mhtml-ts-mode.el
@@ -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
diff --git a/lisp/treesit.el b/lisp/treesit.el
index cd95524fdf4..efc3b153ee8 100644
--- a/lisp/treesit.el
+++ b/lisp/treesit.el
@@ -2540,12 +2540,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))