diff options
| author | Yuan Fu | 2025-11-28 00:10:17 -0800 |
|---|---|---|
| committer | Yuan Fu | 2025-11-28 00:12:28 -0800 |
| commit | 2c19f6087efe466894e1fe47121515d32d6a6d1c (patch) | |
| tree | 848fbf5def2debb8ba324a5250e86b0535f285a9 /lisp/textmodes | |
| parent | 85f2bf2bc7ba0a6557e992601658530f562e00d2 (diff) | |
| download | emacs-2c19f6087efe466894e1fe47121515d32d6a6d1c.tar.gz emacs-2c19f6087efe466894e1fe47121515d32d6a6d1c.zip | |
Remove the cached values in tree-sitter modes (bug#79363)
The cached values are not needed anymore since Emacs now caches
the compiled queries.
* lisp/progmodes/cmake-ts-mode.el:
(cmake-ts-mode--indent-rules-cached): Remove.
(cmake-ts-mode--indent-rules): Return values directly.
(cmake-ts-mode--font-lock-settings-cached): Remove.
(cmake-ts-mode--font-lock-settings): Return values directly.
* lisp/progmodes/php-ts-mode.el:
(php-ts-mode--font-lock-settings-cached): Remove.
(php-ts-mode--font-lock-settings): Return values directly.
(php-ts-mode--custom-html-font-lock-settings-cached): Remove.
(php-ts-mode--custom-html-font-lock-settings): Return values directly.
* lisp/textmodes/mhtml-ts-mode.el:
(mhtml-ts-mode--treesit-font-lock-settings-cached): Remove.
(mhtml-ts-mode--treesit-font-lock-settings): Return values directly.
(mhtml-ts-mode--treesit-indent-rules-cached): Remove.
(mhtml-ts-mode--treesit-indent-rules): Return values directly.
* lisp/progmodes/cmake-ts-mode.el:
(cmake-ts-mode--indent-rules-cached): Remove
(cmake-ts-mode--indent-rules): Return values directly.
(cmake-ts-mode--font-lock-settings-cached): Remove.
(cmake-ts-mode--font-lock-settings): Return values directly.
* lisp/progmodes/csharp-mode.el:
(csharp-ts-mode--font-lock-settings-cached): Remove.
(csharp-ts-mode--font-lock-settings): Return values directly.
Diffstat (limited to 'lisp/textmodes')
| -rw-r--r-- | lisp/textmodes/mhtml-ts-mode.el | 80 |
1 files changed, 32 insertions, 48 deletions
diff --git a/lisp/textmodes/mhtml-ts-mode.el b/lisp/textmodes/mhtml-ts-mode.el index b97555de2fc..fe68f17a6da 100644 --- a/lisp/textmodes/mhtml-ts-mode.el +++ b/lisp/textmodes/mhtml-ts-mode.el | |||
| @@ -259,28 +259,20 @@ NODE and PARENT are ignored." | |||
| 259 | css--treesit-font-lock-feature-list)) | 259 | css--treesit-font-lock-feature-list)) |
| 260 | "Settings for `treesit-font-lock-feature-list'.") | 260 | "Settings for `treesit-font-lock-feature-list'.") |
| 261 | 261 | ||
| 262 | (defvar mhtml-ts-mode--treesit-font-lock-settings-cached nil | ||
| 263 | "Cached tree-sitter font-lock settings for `mhtml-ts-mode'.") | ||
| 264 | |||
| 265 | (defun mhtml-ts-mode--treesit-font-lock-settings () | 262 | (defun mhtml-ts-mode--treesit-font-lock-settings () |
| 266 | "Return tree-sitter font-lock settings for `mhtml-ts-mode'. | 263 | "Return tree-sitter font-lock settings for `mhtml-ts-mode'." |
| 267 | 264 | (append html-ts-mode--font-lock-settings | |
| 268 | Tree-sitter font-lock settings are evaluated the first time this | 265 | (js--treesit-font-lock-settings) |
| 269 | function is called. Subsequent calls return the first evaluated value." | 266 | ;; Let's replace a css rule with a new one that adds |
| 270 | (or mhtml-ts-mode--treesit-font-lock-settings-cached | 267 | ;; color to the css value. |
| 271 | (setq mhtml-ts-mode--treesit-font-lock-settings-cached | 268 | (treesit-replace-font-lock-feature-settings |
| 272 | (append html-ts-mode--font-lock-settings | 269 | (treesit-font-lock-rules |
| 273 | (js--treesit-font-lock-settings) | 270 | :language 'css |
| 274 | ;; Let's replace a css rule with a new one that adds | 271 | :override t |
| 275 | ;; color to the css value. | 272 | :feature 'variable |
| 276 | (treesit-replace-font-lock-feature-settings | 273 | '((plain_value) @mhtml-ts-mode--colorize-css-value |
| 277 | (treesit-font-lock-rules | 274 | (color_value) @mhtml-ts-mode--colorize-css-value)) |
| 278 | :language 'css | 275 | css--treesit-settings))) |
| 279 | :override t | ||
| 280 | :feature 'variable | ||
| 281 | '((plain_value) @mhtml-ts-mode--colorize-css-value | ||
| 282 | (color_value) @mhtml-ts-mode--colorize-css-value)) | ||
| 283 | css--treesit-settings))))) | ||
| 284 | 276 | ||
| 285 | (defvar mhtml-ts-mode--treesit-thing-settings | 277 | (defvar mhtml-ts-mode--treesit-thing-settings |
| 286 | ;; In addition to putting together the various definitions, we need to | 278 | ;; In addition to putting together the various definitions, we need to |
| @@ -300,34 +292,26 @@ function is called. Subsequent calls return the first evaluated value." | |||
| 300 | `((defun ,css--treesit-defun-type-regexp)))) | 292 | `((defun ,css--treesit-defun-type-regexp)))) |
| 301 | "Settings for `treesit-thing-settings'.") | 293 | "Settings for `treesit-thing-settings'.") |
| 302 | 294 | ||
| 303 | (defvar mhtml-ts-mode--treesit-indent-rules-cached nil | ||
| 304 | "Cached tree-sitter indent rules for `mhtml-ts-mode'.") | ||
| 305 | |||
| 306 | (defun mhtml-ts-mode--treesit-indent-rules () | 295 | (defun mhtml-ts-mode--treesit-indent-rules () |
| 307 | "Return tree-sitter indent rules for `mhtml-ts-mode'. | 296 | "Return tree-sitter indent rules for `mhtml-ts-mode'." |
| 308 | 297 | (treesit--indent-rules-optimize | |
| 309 | Tree-sitter indent rules are evaluated the first time this function | 298 | (append html-ts-mode--indent-rules |
| 310 | is called. Subsequent calls return the first evaluated value." | 299 | ;; Extended rules for js and css, to indent |
| 311 | (or mhtml-ts-mode--treesit-indent-rules-cached | 300 | ;; appropriately when injected into html |
| 312 | (setq mhtml-ts-mode--treesit-indent-rules-cached | 301 | (treesit-simple-indent-modify-rules |
| 313 | (treesit--indent-rules-optimize | 302 | 'javascript |
| 314 | (append html-ts-mode--indent-rules | 303 | `((javascript ((parent-is "program") |
| 315 | ;; Extended rules for js and css, to indent | 304 | mhtml-ts-mode--js-css-tag-bol |
| 316 | ;; appropriately when injected into html | 305 | mhtml-ts-mode--js-css-indent-offset))) |
| 317 | (treesit-simple-indent-modify-rules | 306 | (js--treesit-indent-rules) |
| 318 | 'javascript | 307 | :replace) |
| 319 | `((javascript ((parent-is "program") | 308 | (treesit-simple-indent-modify-rules |
| 320 | mhtml-ts-mode--js-css-tag-bol | 309 | 'css |
| 321 | mhtml-ts-mode--js-css-indent-offset))) | 310 | `((css ((parent-is "stylesheet") |
| 322 | (js--treesit-indent-rules) | 311 | mhtml-ts-mode--js-css-tag-bol |
| 323 | :replace) | 312 | mhtml-ts-mode--js-css-indent-offset))) |
| 324 | (treesit-simple-indent-modify-rules | 313 | css--treesit-indent-rules |
| 325 | 'css | 314 | :prepend)))) |
| 326 | `((css ((parent-is "stylesheet") | ||
| 327 | mhtml-ts-mode--js-css-tag-bol | ||
| 328 | mhtml-ts-mode--js-css-indent-offset))) | ||
| 329 | css--treesit-indent-rules | ||
| 330 | :prepend)))))) | ||
| 331 | 315 | ||
| 332 | (defvar mhtml-ts-mode--treesit-aggregated-simple-imenu-settings | 316 | (defvar mhtml-ts-mode--treesit-aggregated-simple-imenu-settings |
| 333 | `((html ,@html-ts-mode--treesit-simple-imenu-settings) | 317 | `((html ,@html-ts-mode--treesit-simple-imenu-settings) |