[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master cd8d3f3379e: Fix some tree-sitter :match regexps
From: |
Basil L. Contovounesios |
Subject: |
master cd8d3f3379e: Fix some tree-sitter :match regexps |
Date: |
Sat, 17 Jun 2023 15:52:13 -0400 (EDT) |
branch: master
commit cd8d3f3379ec7179fac4bb8e9c40658be15a64f6
Author: Basil L. Contovounesios <contovob@tcd.ie>
Commit: Basil L. Contovounesios <contovob@tcd.ie>
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).
---
lisp/progmodes/java-ts-mode.el | 2 +-
lisp/progmodes/js.el | 6 +++---
lisp/progmodes/ruby-ts-mode.el | 2 +-
lisp/progmodes/rust-ts-mode.el | 13 ++++++++-----
lisp/progmodes/typescript-ts-mode.el | 4 ++--
5 files changed, 15 insertions(+), 12 deletions(-)
diff --git a/lisp/progmodes/java-ts-mode.el b/lisp/progmodes/java-ts-mode.el
index d7fb833d72b..121c8550be0 100644
--- a/lisp/progmodes/java-ts-mode.el
+++ b/lisp/progmodes/java-ts-mode.el
@@ -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
diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el
index 0aeea163b31..5b1984f215f 100644
--- a/lisp/progmodes/js.el
+++ b/lisp/progmodes/js.el
@@ -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
diff --git a/lisp/progmodes/ruby-ts-mode.el b/lisp/progmodes/ruby-ts-mode.el
index 7a00977f14a..adbf18786cb 100644
--- a/lisp/progmodes/ruby-ts-mode.el
+++ b/lisp/progmodes/ruby-ts-mode.el
@@ -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))
diff --git a/lisp/progmodes/rust-ts-mode.el b/lisp/progmodes/rust-ts-mode.el
index b55af0b49e3..999c1d7ae96 100644
--- a/lisp/progmodes/rust-ts-mode.el
+++ b/lisp/progmodes/rust-ts-mode.el
@@ -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
diff --git a/lisp/progmodes/typescript-ts-mode.el
b/lisp/progmodes/typescript-ts-mode.el
index 684f69b3567..ccf0026d7ba 100644
--- a/lisp/progmodes/typescript-ts-mode.el
+++ b/lisp/progmodes/typescript-ts-mode.el
@@ -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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master cd8d3f3379e: Fix some tree-sitter :match regexps,
Basil L. Contovounesios <=