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.
This commit is contained in:
Jostein Kjønigsen 2023-01-02 20:56:41 +01:00 committed by Yuan Fu
parent 68e68dfeef
commit dfdf9c21cb
No known key found for this signature in database
GPG key ID: 56E19BC57664A442

View file

@ -167,6 +167,8 @@ Argument LANGUAGE is either `typescript' or `tsx'."
(method_definition (method_definition
name: (property_identifier) @font-lock-function-name-face) name: (property_identifier) @font-lock-function-name-face)
(method_signature
name: (property_identifier) @font-lock-function-name-face)
(required_parameter (identifier) @font-lock-variable-name-face) (required_parameter (identifier) @font-lock-variable-name-face)
(optional_parameter (identifier) @font-lock-variable-name-face) (optional_parameter (identifier) @font-lock-variable-name-face)
@ -211,10 +213,8 @@ Argument LANGUAGE is either `typescript' or `tsx'."
(enum_assignment name: (property_identifier) @font-lock-type-face) (enum_assignment name: (property_identifier) @font-lock-type-face)
(assignment_expression (variable_declarator
left: [(identifier) @font-lock-variable-name-face name: (identifier) @font-lock-variable-name-face)
(member_expression
property: (property_identifier) @font-lock-variable-name-face)])
(for_in_statement (for_in_statement
left: (identifier) @font-lock-variable-name-face) left: (identifier) @font-lock-variable-name-face)
@ -242,10 +242,6 @@ Argument LANGUAGE is either `typescript' or `tsx'."
name: (property_identifier) @font-lock-property-face) name: (property_identifier) @font-lock-property-face)
(public_field_definition (public_field_definition
name: (property_identifier) @font-lock-property-face) name: (property_identifier) @font-lock-property-face)
(member_expression
object: (identifier) @font-lock-variable-name-face)
(member_expression
property: (_) @font-lock-property-face)
(pair key: (property_identifier) @font-lock-variable-name-face) (pair key: (property_identifier) @font-lock-variable-name-face)
@ -263,9 +259,11 @@ Argument LANGUAGE is either `typescript' or `tsx'."
left: [(identifier) @font-lock-function-name-face left: [(identifier) @font-lock-function-name-face
(member_expression (member_expression
property: (property_identifier) @font-lock-function-name-face)] property: (property_identifier) @font-lock-function-name-face)]
right: [(function) (arrow_function)]) right: [(function) (arrow_function)]))
(call_expression :language language
:feature 'function
'((call_expression
function: function:
[(identifier) @font-lock-function-name-face [(identifier) @font-lock-function-name-face
(member_expression (member_expression
@ -377,7 +375,7 @@ Argument LANGUAGE is either `typescript' or `tsx'."
'((comment declaration) '((comment declaration)
(keyword string escape-sequence) (keyword string escape-sequence)
(constant expression identifier number pattern property) (constant expression identifier number pattern property)
(bracket delimiter))) (function bracket delimiter)))
(treesit-major-mode-setup))) (treesit-major-mode-setup)))
@ -412,7 +410,7 @@ Argument LANGUAGE is either `typescript' or `tsx'."
'((comment declaration) '((comment declaration)
(keyword string escape-sequence) (keyword string escape-sequence)
(constant expression identifier jsx number pattern property) (constant expression identifier jsx number pattern property)
(bracket delimiter))) (function bracket delimiter)))
(treesit-major-mode-setup))) (treesit-major-mode-setup)))