diff options
| author | Theodor Thornhill | 2022-11-28 09:35:15 +0100 |
|---|---|---|
| committer | Yuan Fu | 2022-11-28 14:56:08 -0800 |
| commit | bbf1b93d434d60c0f85eba32f69a96b8899563cc (patch) | |
| tree | a1e76009ca6732924c4c079f926e2f6956544efb | |
| parent | f794263da20b813623eab88df9233d774216276e (diff) | |
| download | emacs-bbf1b93d434d60c0f85eba32f69a96b8899563cc.tar.gz emacs-bbf1b93d434d60c0f85eba32f69a96b8899563cc.zip | |
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.
| -rw-r--r-- | lisp/textmodes/css-mode.el | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/lisp/textmodes/css-mode.el b/lisp/textmodes/css-mode.el index 734252ee66f..b82886e3974 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." | |||
| 1353 | :language 'css | 1353 | :language 'css |
| 1354 | '((string_value) @font-lock-string-face) | 1354 | '((string_value) @font-lock-string-face) |
| 1355 | 1355 | ||
| 1356 | :feature 'keyword | ||
| 1357 | :language 'css | ||
| 1358 | '(["@media" | ||
| 1359 | "@import" | ||
| 1360 | "@charset" | ||
| 1361 | "@namespace" | ||
| 1362 | "@keyframes"] @font-lock-builtin-face | ||
| 1363 | ["and" | ||
| 1364 | "or" | ||
| 1365 | "not" | ||
| 1366 | "only" | ||
| 1367 | "selector"] @font-lock-keyword-face) | ||
| 1368 | |||
| 1356 | :feature 'variable | 1369 | :feature 'variable |
| 1357 | :language 'css | 1370 | :language 'css |
| 1358 | '((plain_value) @font-lock-variable-name-face) | 1371 | '((plain_value) @font-lock-variable-name-face) |
| 1359 | 1372 | ||
| 1373 | :language 'css | ||
| 1374 | :feature 'operator | ||
| 1375 | `(["=" "~=" "^=" "|=" "*=" "$="] @font-lock-operator-face) | ||
| 1376 | |||
| 1360 | :feature 'selector | 1377 | :feature 'selector |
| 1361 | :language 'css | 1378 | :language 'css |
| 1362 | '((class_selector) @css-selector | 1379 | '((class_selector) @css-selector |
| @@ -1377,7 +1394,18 @@ for determining whether point is within a selector." | |||
| 1377 | :language 'css | 1394 | :language 'css |
| 1378 | '((integer_value) @font-lock-number-face | 1395 | '((integer_value) @font-lock-number-face |
| 1379 | (float_value) @font-lock-number-face | 1396 | (float_value) @font-lock-number-face |
| 1380 | (unit) @font-lock-constant-face) | 1397 | (unit) @font-lock-constant-face |
| 1398 | (important) @font-lock-builtin-face) | ||
| 1399 | |||
| 1400 | :feature 'query | ||
| 1401 | :language 'css | ||
| 1402 | '((keyword_query) @font-lock-property-face | ||
| 1403 | (feature_name) @font-lock-property-face) | ||
| 1404 | |||
| 1405 | |||
| 1406 | :feature 'bracket | ||
| 1407 | :language 'css | ||
| 1408 | '((["(" ")" "[" "]" "{" "}"]) @font-lock-bracket-face) | ||
| 1381 | 1409 | ||
| 1382 | :feature 'error | 1410 | :feature 'error |
| 1383 | :language 'css | 1411 | :language 'css |
| @@ -1808,9 +1836,9 @@ can also be used to fill comments. | |||
| 1808 | (setq-local treesit-defun-type-regexp "rule_set") | 1836 | (setq-local treesit-defun-type-regexp "rule_set") |
| 1809 | (setq-local treesit-font-lock-settings css--treesit-settings) | 1837 | (setq-local treesit-font-lock-settings css--treesit-settings) |
| 1810 | (setq-local treesit-font-lock-feature-list | 1838 | (setq-local treesit-font-lock-feature-list |
| 1811 | '((selector comment) | 1839 | '((selector comment query keyword) |
| 1812 | (property constant string) | 1840 | (property constant string) |
| 1813 | (error variable function))) | 1841 | (error variable function operator bracket))) |
| 1814 | ;; Tree-sitter-css, for whatever reason, cannot reliably return | 1842 | ;; Tree-sitter-css, for whatever reason, cannot reliably return |
| 1815 | ;; the captured nodes in a given range (it instead returns the | 1843 | ;; the captured nodes in a given range (it instead returns the |
| 1816 | ;; nodes preceding range). Before this is fixed in | 1844 | ;; nodes preceding range). Before this is fixed in |