Fix wrong capture in typescript-ts-mode (bug#60167)

An example of the issue could be:

    <Menu.Item>
        {({ active }) => (
          link
            ? <Link to={link}> {text}</Link>
            : <a href="#" onClick={onClick}>{text}</a>
        )}
    </Menu.Item>

Here 'link' as well as a lot of the other constructs inside of the
parenthesized expression will be font-locked with
'font-lock-variable-name-face'.  We only want to capture the
identifier.

* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings): Make the variable capture
only capture the identifier, and not the whole expression.
This commit is contained in:
Theodor Thornhill 2022-12-17 20:07:59 +01:00 committed by Yuan Fu
parent cb8ccdd267
commit 5b2e6d04ce
No known key found for this signature in database
GPG key ID: 56E19BC57664A442

View file

@ -231,7 +231,7 @@ Argument LANGUAGE is either `typescript' or `tsx'."
(arguments (identifier) @font-lock-variable-name-face)
(parenthesized_expression (identifier) @font-lock-variable-name-face)
(parenthesized_expression (_ (identifier)) @font-lock-variable-name-face))
(parenthesized_expression (_ (identifier) @font-lock-variable-name-face)))
:language language
:override t
@ -316,10 +316,7 @@ Argument LANGUAGE is either `typescript' or `tsx'."
:language language
:feature 'escape-sequence
:override t
'((escape_sequence) @font-lock-escape-face)
))
'((escape_sequence) @font-lock-escape-face)))
;;;###autoload
(add-to-list 'auto-mode-alist '("\\.ts\\'" . typescript-ts-mode))