diff options
| author | Jostein Kjønigsen | 2023-01-02 20:56:41 +0100 |
|---|---|---|
| committer | Yuan Fu | 2023-01-02 14:26:03 -0800 |
| commit | dfdf9c21cbe7896d03da011773e636fc287d97db (patch) | |
| tree | fb9157e656c9ffb42dcf0b38e5ead0281b93f77b | |
| parent | 68e68dfeefe0ac64d4ec6c31d046ae5957741109 (diff) | |
| download | emacs-dfdf9c21cbe7896d03da011773e636fc287d97db.tar.gz emacs-dfdf9c21cbe7896d03da011773e636fc287d97db.zip | |
Fontification improvements in typescript-ts-mode (bug#60500)
- highlight method-definitins in interfaces.
- only highlight variable-declarations, not variables
everywhere (consistency with other modes).
- move highlighting of method invocations to level 4
* lisp/progmodes/typescript-ts-mode.el:
(typescript-ts-mode--font-lock-settings): Update rules.
(typescript-ts-mode, tsx-ts-mode): Update feature list.
| -rw-r--r-- | lisp/progmodes/typescript-ts-mode.el | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/lisp/progmodes/typescript-ts-mode.el b/lisp/progmodes/typescript-ts-mode.el index a0ba425b3e9..e0583f4b05c 100644 --- a/lisp/progmodes/typescript-ts-mode.el +++ b/lisp/progmodes/typescript-ts-mode.el | |||
| @@ -167,6 +167,8 @@ Argument LANGUAGE is either `typescript' or `tsx'." | |||
| 167 | 167 | ||
| 168 | (method_definition | 168 | (method_definition |
| 169 | name: (property_identifier) @font-lock-function-name-face) | 169 | name: (property_identifier) @font-lock-function-name-face) |
| 170 | (method_signature | ||
| 171 | name: (property_identifier) @font-lock-function-name-face) | ||
| 170 | (required_parameter (identifier) @font-lock-variable-name-face) | 172 | (required_parameter (identifier) @font-lock-variable-name-face) |
| 171 | (optional_parameter (identifier) @font-lock-variable-name-face) | 173 | (optional_parameter (identifier) @font-lock-variable-name-face) |
| 172 | 174 | ||
| @@ -211,10 +213,8 @@ Argument LANGUAGE is either `typescript' or `tsx'." | |||
| 211 | 213 | ||
| 212 | (enum_assignment name: (property_identifier) @font-lock-type-face) | 214 | (enum_assignment name: (property_identifier) @font-lock-type-face) |
| 213 | 215 | ||
| 214 | (assignment_expression | 216 | (variable_declarator |
| 215 | left: [(identifier) @font-lock-variable-name-face | 217 | name: (identifier) @font-lock-variable-name-face) |
| 216 | (member_expression | ||
| 217 | property: (property_identifier) @font-lock-variable-name-face)]) | ||
| 218 | 218 | ||
| 219 | (for_in_statement | 219 | (for_in_statement |
| 220 | left: (identifier) @font-lock-variable-name-face) | 220 | left: (identifier) @font-lock-variable-name-face) |
| @@ -242,10 +242,6 @@ Argument LANGUAGE is either `typescript' or `tsx'." | |||
| 242 | name: (property_identifier) @font-lock-property-face) | 242 | name: (property_identifier) @font-lock-property-face) |
| 243 | (public_field_definition | 243 | (public_field_definition |
| 244 | name: (property_identifier) @font-lock-property-face) | 244 | name: (property_identifier) @font-lock-property-face) |
| 245 | (member_expression | ||
| 246 | object: (identifier) @font-lock-variable-name-face) | ||
| 247 | (member_expression | ||
| 248 | property: (_) @font-lock-property-face) | ||
| 249 | 245 | ||
| 250 | (pair key: (property_identifier) @font-lock-variable-name-face) | 246 | (pair key: (property_identifier) @font-lock-variable-name-face) |
| 251 | 247 | ||
| @@ -263,9 +259,11 @@ Argument LANGUAGE is either `typescript' or `tsx'." | |||
| 263 | left: [(identifier) @font-lock-function-name-face | 259 | left: [(identifier) @font-lock-function-name-face |
| 264 | (member_expression | 260 | (member_expression |
| 265 | property: (property_identifier) @font-lock-function-name-face)] | 261 | property: (property_identifier) @font-lock-function-name-face)] |
| 266 | right: [(function) (arrow_function)]) | 262 | right: [(function) (arrow_function)])) |
| 267 | 263 | ||
| 268 | (call_expression | 264 | :language language |
| 265 | :feature 'function | ||
| 266 | '((call_expression | ||
| 269 | function: | 267 | function: |
| 270 | [(identifier) @font-lock-function-name-face | 268 | [(identifier) @font-lock-function-name-face |
| 271 | (member_expression | 269 | (member_expression |
| @@ -377,7 +375,7 @@ Argument LANGUAGE is either `typescript' or `tsx'." | |||
| 377 | '((comment declaration) | 375 | '((comment declaration) |
| 378 | (keyword string escape-sequence) | 376 | (keyword string escape-sequence) |
| 379 | (constant expression identifier number pattern property) | 377 | (constant expression identifier number pattern property) |
| 380 | (bracket delimiter))) | 378 | (function bracket delimiter))) |
| 381 | 379 | ||
| 382 | (treesit-major-mode-setup))) | 380 | (treesit-major-mode-setup))) |
| 383 | 381 | ||
| @@ -412,7 +410,7 @@ Argument LANGUAGE is either `typescript' or `tsx'." | |||
| 412 | '((comment declaration) | 410 | '((comment declaration) |
| 413 | (keyword string escape-sequence) | 411 | (keyword string escape-sequence) |
| 414 | (constant expression identifier jsx number pattern property) | 412 | (constant expression identifier jsx number pattern property) |
| 415 | (bracket delimiter))) | 413 | (function bracket delimiter))) |
| 416 | 414 | ||
| 417 | (treesit-major-mode-setup))) | 415 | (treesit-major-mode-setup))) |
| 418 | 416 | ||