Backport: Fix some tree-sitter :match regexps
This was originally installed on 2023-06-17 in the emacs-29 release
branch and later reverted. This backport follows the Emacs 29.1
release (bug#64019).
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.
(cherry picked from commit cd8d3f3379
)
This commit is contained in:
parent
092a2ecb08
commit
ba60070b81
5 changed files with 15 additions and 12 deletions
|
@ -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
|
||||
|
|
|
@ -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.")
|
||||
|
@ -3540,7 +3540,7 @@ Check if a node type is available, then return the right font lock rules."
|
|||
: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)
|
||||
|
||||
|
@ -3646,7 +3646,7 @@ Check if a node type is available, then return the right font lock rules."
|
|||
: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
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -198,7 +198,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
|
||||
|
@ -345,7 +345,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
|
||||
|
|
Loading…
Add table
Reference in a new issue