From: Yuan Fu Date: Tue, 6 Dec 2022 08:15:30 +0000 (-0800) Subject: Fontify some keywords in type face in c-ts-mode X-Git-Tag: emacs-29.0.90~1333 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=6187d001f28;p=emacs.git 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. --- 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