emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-29 bbf1b93d43 1/3: Add more font-lock settings to css-ts-mode


From: Yuan Fu
Subject: emacs-29 bbf1b93d43 1/3: Add more font-lock settings to css-ts-mode
Date: Mon, 28 Nov 2022 18:10:06 -0500 (EST)

branch: emacs-29
commit bbf1b93d434d60c0f85eba32f69a96b8899563cc
Author: Theodor Thornhill <theo@thornhill.no>
Commit: Yuan Fu <casouri@gmail.com>

    Add more font-lock settings to css-ts-mode
    
    * lisp/textmodes/css-mode.el (css--treesit-settings): Add new
    font-lock features 'query', 'keyword', 'operator' and 'bracket'.
    (css-ts-mode): Use new features.
---
 lisp/textmodes/css-mode.el | 34 +++++++++++++++++++++++++++++++---
 1 file changed, 31 insertions(+), 3 deletions(-)

diff --git a/lisp/textmodes/css-mode.el b/lisp/textmodes/css-mode.el
index 734252ee66..b82886e397 100644
--- a/lisp/textmodes/css-mode.el
+++ b/lisp/textmodes/css-mode.el
@@ -1353,10 +1353,27 @@ for determining whether point is within a selector."
    :language 'css
    '((string_value) @font-lock-string-face)
 
+   :feature 'keyword
+   :language 'css
+   '(["@media"
+      "@import"
+      "@charset"
+      "@namespace"
+      "@keyframes"] @font-lock-builtin-face
+      ["and"
+       "or"
+       "not"
+       "only"
+       "selector"] @font-lock-keyword-face)
+
    :feature 'variable
    :language 'css
    '((plain_value) @font-lock-variable-name-face)
 
+   :language 'css
+   :feature 'operator
+   `(["=" "~=" "^=" "|=" "*=" "$="] @font-lock-operator-face)
+
    :feature 'selector
    :language 'css
    '((class_selector) @css-selector
@@ -1377,7 +1394,18 @@ for determining whether point is within a selector."
    :language 'css
    '((integer_value) @font-lock-number-face
      (float_value) @font-lock-number-face
-     (unit) @font-lock-constant-face)
+     (unit) @font-lock-constant-face
+     (important) @font-lock-builtin-face)
+
+   :feature 'query
+   :language 'css
+   '((keyword_query) @font-lock-property-face
+     (feature_name) @font-lock-property-face)
+
+
+   :feature 'bracket
+   :language 'css
+   '((["(" ")" "[" "]" "{" "}"]) @font-lock-bracket-face)
 
    :feature 'error
    :language 'css
@@ -1808,9 +1836,9 @@ can also be used to fill comments.
     (setq-local treesit-defun-type-regexp "rule_set")
     (setq-local treesit-font-lock-settings css--treesit-settings)
     (setq-local treesit-font-lock-feature-list
-                '((selector comment)
+                '((selector comment query keyword)
                   (property constant string)
-                  (error variable function)))
+                  (error variable function operator bracket)))
     ;; Tree-sitter-css, for whatever reason, cannot reliably return
     ;; the captured nodes in a given range (it instead returns the
     ;; nodes preceding range).  Before this is fixed in



reply via email to

[Prev in Thread] Current Thread [Next in Thread]