Fix errors in fontification of JavaScript import-statements (bug#61083)
Currently js-ts-mode handles imports with aliases incorrectly. To be consistent with how we otherwise do things, we should only highlight the variable which is new and/or introduced, in this case "someAlias". Attached is a patch which fontifies import-declarations somewhat more correctly. The following cases have been tested and all fontify properly: import gnu from "fsf"; // highlights gnu import { gnu2 } from "fsf2"; // highlights gnu2 import { gnu as gnu3 } from "fsf3"; // highlights gnu3 import * as gnu4 from "fsf4"; // highlights gnu4 * lisp/progmodes/js.el (js--treesit-font-lock-settings): Add new import_clause rules that adhere to the comment above.
This commit is contained in:
parent
fd145499bb
commit
00629c0396
1 changed files with 11 additions and 2 deletions
|
@ -3546,9 +3546,18 @@ This function is intended for use in `after-change-functions'."
|
|||
(identifier)
|
||||
@font-lock-function-name-face)
|
||||
value: (array (number) (function)))
|
||||
;; full module imports
|
||||
(import_clause (identifier) @font-lock-variable-name-face)
|
||||
(import_clause (named_imports (import_specifier (identifier))
|
||||
@font-lock-variable-name-face)))
|
||||
;; named imports with aliasing
|
||||
(import_clause (named_imports (import_specifier
|
||||
alias: (identifier) @font-lock-variable-name-face)))
|
||||
;; named imports without aliasing
|
||||
(import_clause (named_imports (import_specifier
|
||||
!alias
|
||||
name: (identifier) @font-lock-variable-name-face)))
|
||||
|
||||
;; full namespace import (* as alias)
|
||||
(import_clause (namespace_import (identifier) @font-lock-variable-name-face)))
|
||||
|
||||
:language 'javascript
|
||||
:feature 'property
|
||||
|
|
Loading…
Add table
Reference in a new issue