[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
emacs-29 6187d001f28 1/4: Fontify some keywords in type face in c-ts-mod
From: |
Yuan Fu |
Subject: |
emacs-29 6187d001f28 1/4: Fontify some keywords in type face in c-ts-mode |
Date: |
Tue, 6 Dec 2022 16:44:41 -0500 (EST) |
branch: emacs-29
commit 6187d001f28e65b642dbb5e3001b97c5bdc39918
Author: Yuan Fu <casouri@gmail.com>
Commit: Yuan Fu <casouri@gmail.com>
Fontify some keywords in type face in c-ts-mode
* lisp/progmodes/c-ts-mode.el (c-ts-mode--keywords): Remove some keywords.
(c-ts-mode--type-keywords): New variables.
(c-ts-mode--font-lock-settings): New rule.
---
lisp/progmodes/c-ts-mode.el | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/lisp/progmodes/c-ts-mode.el b/lisp/progmodes/c-ts-mode.el
index 1bd093cfa2d..400af2db19e 100644
--- a/lisp/progmodes/c-ts-mode.el
+++ b/lisp/progmodes/c-ts-mode.el
@@ -169,9 +169,9 @@ MODE is either `c' or `cpp'."
'("break" "case" "const" "continue"
"default" "do" "else" "enum"
"extern" "for" "goto" "if" "inline"
- "long" "register" "return" "short"
- "signed" "sizeof" "static" "struct"
- "switch" "typedef" "union" "unsigned"
+ "register" "return"
+ "sizeof" "static" "struct"
+ "switch" "typedef" "union"
"volatile" "while")))
(if (eq mode 'cpp)
(append c-keywords
@@ -188,6 +188,10 @@ MODE is either `c' or `cpp'."
"xor" "xor_eq"))
(append '("auto") c-keywords))))
+(defvar c-ts-mode--type-keywords
+ '("long" "short" "signed" "unsigned")
+ "Keywords that should be considered as part of a type.")
+
(defvar c-ts-mode--operators
'("=" "-" "*" "/" "+" "%" "~" "|" "&" "^" "<<" ">>" "->"
"." "<" "<=" ">=" ">" "==" "!=" "!" "&&" "||" "-="
@@ -263,7 +267,8 @@ MODE is either `c' or `cpp'."
(qualified_identifier
scope: (namespace_identifier) @font-lock-type-face)
- (operator_cast) type: (type_identifier) @font-lock-type-face)))
+ (operator_cast) type: (type_identifier) @font-lock-type-face))
+ [,@c-ts-mode--type-keywords] @font-lock-type-face)
:language mode
:feature 'definition