mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-06 06:20:55 -08:00
Adapt recent css-ts-mode changes to mhtml-ts-mode
* lisp/textmodes/css-mode.el (css--treesit-thing-settings): (css-ts-mode--outline-predicate): New variables. (css-ts-mode): Set treesit-outline-predicate. * lisp/textmodes/mhtml-ts-mode.el (mhtml-ts-mode--treesit-thing-settings): Use css--treesit-thing-settings and css--treesit-defun-type-regexp. (mhtml-ts-mode): Use 'css-ts-mode--outline-predicate' for 'treesit-aggregated-outline-predicate'.
This commit is contained in:
parent
a5e82110b0
commit
888a2b5394
2 changed files with 37 additions and 30 deletions
|
|
@ -1780,6 +1780,33 @@ rgb()/rgba()."
|
||||||
(replace-regexp-in-string "[\n ]+" " " s)))
|
(replace-regexp-in-string "[\n ]+" " " s)))
|
||||||
res)))))))
|
res)))))))
|
||||||
|
|
||||||
|
(defvar css--treesit-thing-settings
|
||||||
|
`((css (list
|
||||||
|
,(rx bos (or "keyframe_block_list"
|
||||||
|
"block"
|
||||||
|
"pseudo_class_arguments"
|
||||||
|
"pseudo_class_with_selector_arguments"
|
||||||
|
"pseudo_class_nth_child_arguments"
|
||||||
|
"pseudo_element_arguments"
|
||||||
|
"feature_query"
|
||||||
|
"parenthesized_query"
|
||||||
|
"selector_query"
|
||||||
|
"parenthesized_value"
|
||||||
|
"grid_value"
|
||||||
|
"arguments")
|
||||||
|
eos))
|
||||||
|
(sentence
|
||||||
|
,(rx bos (or "import_statement"
|
||||||
|
"charset_statement"
|
||||||
|
"namespace_statement"
|
||||||
|
"postcss_statement"
|
||||||
|
"at_rule"
|
||||||
|
"declaration")
|
||||||
|
eos))
|
||||||
|
(text
|
||||||
|
,(rx bos "comment" eos))))
|
||||||
|
"Settings for `treesit-thing-settings'.")
|
||||||
|
|
||||||
(defvar css--treesit-font-lock-feature-list
|
(defvar css--treesit-font-lock-feature-list
|
||||||
'((selector comment query keyword)
|
'((selector comment query keyword)
|
||||||
(property constant string)
|
(property constant string)
|
||||||
|
|
@ -1796,6 +1823,10 @@ rgb()/rgba()."
|
||||||
nil nil))
|
nil nil))
|
||||||
"Settings for `treesit-simple-imenu'.")
|
"Settings for `treesit-simple-imenu'.")
|
||||||
|
|
||||||
|
(defvar css-ts-mode--outline-predicate
|
||||||
|
(nth 1 (car css--treesit-simple-imenu-settings))
|
||||||
|
"Predicate for `treesit-outline-predicate'.")
|
||||||
|
|
||||||
(defvar css--treesit-defun-type-regexp
|
(defvar css--treesit-defun-type-regexp
|
||||||
(rx bos (or "rule_set" "keyframe_block") eos)
|
(rx bos (or "rule_set" "keyframe_block") eos)
|
||||||
"Settings for `treesit-defun-type-regexp'.")
|
"Settings for `treesit-defun-type-regexp'.")
|
||||||
|
|
@ -1859,33 +1890,8 @@ can also be used to fill comments.
|
||||||
(setq-local treesit-font-lock-settings css--treesit-settings)
|
(setq-local treesit-font-lock-settings css--treesit-settings)
|
||||||
(setq-local treesit-font-lock-feature-list css--treesit-font-lock-feature-list)
|
(setq-local treesit-font-lock-feature-list css--treesit-font-lock-feature-list)
|
||||||
(setq-local treesit-simple-imenu-settings css--treesit-simple-imenu-settings)
|
(setq-local treesit-simple-imenu-settings css--treesit-simple-imenu-settings)
|
||||||
(setq-local treesit-thing-settings
|
(setq-local treesit-outline-predicate css-ts-mode--outline-predicate)
|
||||||
`((css
|
(setq-local treesit-thing-settings css--treesit-thing-settings)
|
||||||
(list
|
|
||||||
,(rx bos (or "keyframe_block_list"
|
|
||||||
"block"
|
|
||||||
"pseudo_class_arguments"
|
|
||||||
"pseudo_class_with_selector_arguments"
|
|
||||||
"pseudo_class_nth_child_arguments"
|
|
||||||
"pseudo_element_arguments"
|
|
||||||
"feature_query"
|
|
||||||
"parenthesized_query"
|
|
||||||
"selector_query"
|
|
||||||
"parenthesized_value"
|
|
||||||
"grid_value"
|
|
||||||
"arguments")
|
|
||||||
eos))
|
|
||||||
(sentence
|
|
||||||
,(rx bos (or "import_statement"
|
|
||||||
"charset_statement"
|
|
||||||
"namespace_statement"
|
|
||||||
"postcss_statement"
|
|
||||||
"at_rule"
|
|
||||||
"declaration"
|
|
||||||
)
|
|
||||||
eos))
|
|
||||||
(text
|
|
||||||
,(rx bos (or "comment") eos)))))
|
|
||||||
|
|
||||||
(treesit-major-mode-setup)
|
(treesit-major-mode-setup)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -313,8 +313,9 @@ NODE and PARENT are ignored."
|
||||||
(car js--treesit-thing-settings)
|
(car js--treesit-thing-settings)
|
||||||
`((defun ,js--treesit-defun-type-regexp)))
|
`((defun ,js--treesit-defun-type-regexp)))
|
||||||
;; CSS thing settings
|
;; CSS thing settings
|
||||||
`(css
|
(append
|
||||||
(defun ,(regexp-opt (list css--treesit-defun-type-regexp)))))
|
(car css--treesit-thing-settings)
|
||||||
|
`((defun ,css--treesit-defun-type-regexp))))
|
||||||
"Settings for `treesit-thing-settings'.")
|
"Settings for `treesit-thing-settings'.")
|
||||||
|
|
||||||
;; We use a function instead of a variable, because
|
;; We use a function instead of a variable, because
|
||||||
|
|
@ -585,7 +586,7 @@ Powered by tree-sitter."
|
||||||
`((html . ,#'html-ts-mode--outline-predicate)
|
`((html . ,#'html-ts-mode--outline-predicate)
|
||||||
;; TODO: add a predicate like for html above
|
;; TODO: add a predicate like for html above
|
||||||
(javascript . "\\`function_declaration\\'")
|
(javascript . "\\`function_declaration\\'")
|
||||||
(css . "\\`rule_set\\'")))
|
(css . ,css-ts-mode--outline-predicate)))
|
||||||
|
|
||||||
(treesit-major-mode-setup)
|
(treesit-major-mode-setup)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue