Fix some tree-sitter :match regexps

This was originally installed on 2023-06-17 in the emacs-29 release
branch and later reverted.  The intention is to backport it after
Emacs 29.1 is released.

The shy groups were caught by modified versions of the GNU ELPA
packages xr and relint:
- https://github.com/mattiase/xr/pull/6
- https://github.com/mattiase/relint/pull/14

* lisp/progmodes/ruby-ts-mode.el (ruby-ts--s-p-query): Quote special
character in regexp.
* lisp/progmodes/java-ts-mode.el (java-ts-mode--font-lock-settings):
* lisp/progmodes/js.el (js--plain-method-re):
(js--treesit-font-lock-settings):
* lisp/progmodes/rust-ts-mode.el (rust-ts-mode--font-lock-settings):
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings): Replace character
alternative [\\d], which matches '\' or 'd', with the most likely
intention [0-9].  Fix shy groups mistyped as optional colons.
Remove unneeded numbered :match group in rust-ts-mode (bug#64019).
This commit is contained in:
Basil L. Contovounesios 2023-06-13 13:53:31 +01:00
parent fef27d28fa
commit cd8d3f3379
5 changed files with 15 additions and 12 deletions

View file

@ -168,7 +168,7 @@ the available version of Tree-sitter for java."
:override t
:feature 'constant
`(((identifier) @font-lock-constant-face
(:match "\\`[A-Z_][A-Z_\\d]*\\'" @font-lock-constant-face))
(:match "\\`[A-Z_][0-9A-Z_]*\\'" @font-lock-constant-face))
[(true) (false)] @font-lock-constant-face)
:language 'java
:override t

View file

@ -106,7 +106,7 @@ name.")
(defconst js--plain-method-re
(concat "^\\s-*?\\(" js--dotted-name-re "\\)\\.prototype"
"\\.\\(" js--name-re "\\)\\s-*?=\\s-*?\\(\\(:?async[ \t\n]+\\)function\\)\\_>")
"\\.\\(" js--name-re "\\)\\s-*?=\\s-*?\\(\\(?:async[ \t\n]+\\)function\\)\\_>")
"Regexp matching an explicit JavaScript prototype \"method\" declaration.
Group 1 is a (possibly-dotted) class name, group 2 is a method name,
and group 3 is the `function' keyword.")
@ -3493,7 +3493,7 @@ This function is intended for use in `after-change-functions'."
:language 'javascript
:feature 'constant
'(((identifier) @font-lock-constant-face
(:match "\\`[A-Z_][A-Z_\\d]*\\'" @font-lock-constant-face))
(:match "\\`[A-Z_][0-9A-Z_]*\\'" @font-lock-constant-face))
[(true) (false) (null)] @font-lock-constant-face)
@ -3612,7 +3612,7 @@ This function is intended for use in `after-change-functions'."
:feature 'number
'((number) @font-lock-number-face
((identifier) @font-lock-number-face
(:match "\\`\\(:?NaN\\|Infinity\\)\\'" @font-lock-number-face)))
(:match "\\`\\(?:NaN\\|Infinity\\)\\'" @font-lock-number-face)))
:language 'javascript
:feature 'operator

View file

@ -1021,7 +1021,7 @@ leading double colon is not added."
(:match "\\`\\$[#\"'`:?]" @global_var))
;; ?' ?" ?` are character literals.
((character) @char
(:match "\\`?[#\"'`:?]" @char))
(:match "\\`\\?[#\"'`:?]" @char))
;; Symbols like :+, :<=> or :foo=.
((simple_symbol) @symbol
(:match "\\s." @symbol))

View file

@ -143,7 +143,7 @@
eol))
@font-lock-builtin-face)))
((identifier) @font-lock-type-face
(:match "\\`\\(:?Err\\|Ok\\|None\\|Some\\)\\'" @font-lock-type-face)))
(:match "\\`\\(?:Err\\|Ok\\|None\\|Some\\)\\'" @font-lock-type-face)))
:language 'rust
:feature 'comment
@ -232,9 +232,12 @@
(type_identifier) @font-lock-type-face
((scoped_identifier name: (identifier) @rust-ts-mode--fontify-tail))
((scoped_identifier path: (identifier) @font-lock-type-face)
(:match
"\\`\\(u8\\|u16\\|u32\\|u64\\|u128\\|usize\\|i8\\|i16\\|i32\\|i64\\|i128\\|isize\\|char\\|str\\)\\'"
@font-lock-type-face))
(:match ,(rx bos
(or "u8" "u16" "u32" "u64" "u128" "usize"
"i8" "i16" "i32" "i64" "i128" "isize"
"char" "str")
eos)
@font-lock-type-face))
((scoped_identifier path: (identifier) @rust-ts-mode--fontify-scope))
((scoped_type_identifier path: (identifier) @rust-ts-mode--fontify-scope))
(type_identifier) @font-lock-type-face)
@ -249,7 +252,7 @@
:feature 'constant
`((boolean_literal) @font-lock-constant-face
((identifier) @font-lock-constant-face
(:match "\\`[A-Z][A-Z\\d_]*\\'" @font-lock-constant-face)))
(:match "\\`[A-Z][0-9A-Z_]*\\'" @font-lock-constant-face)))
:language 'rust
:feature 'variable

View file

@ -153,7 +153,7 @@ Argument LANGUAGE is either `typescript' or `tsx'."
:language language
:feature 'constant
`(((identifier) @font-lock-constant-face
(:match "\\`[A-Z_][A-Z_\\d]*\\'" @font-lock-constant-face))
(:match "\\`[A-Z_][0-9A-Z_]*\\'" @font-lock-constant-face))
[(true) (false) (null)] @font-lock-constant-face)
:language language
@ -311,7 +311,7 @@ Argument LANGUAGE is either `typescript' or `tsx'."
:feature 'number
`((number) @font-lock-number-face
((identifier) @font-lock-number-face
(:match "\\`\\(:?NaN\\|Infinity\\)\\'" @font-lock-number-face)))
(:match "\\`\\(?:NaN\\|Infinity\\)\\'" @font-lock-number-face)))
:language language
:feature 'operator