Skip to content

Commit 9b46e66

Browse files
ValdezFOmaramaanq
authored andcommitted
feat: alternative syntax for named groups
1 parent 7ba126f commit 9b46e66

File tree

6 files changed

+1746
-1447
lines changed

6 files changed

+1746
-1447
lines changed

grammar.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ module.exports = grammar({
6565
$.character_class_escape,
6666
$._character_escape,
6767
$.backreference_escape,
68+
$.named_group_backreference,
6869
$.anonymous_capturing_group,
6970
$.named_capturing_group,
7071
$.non_capturing_group,
@@ -150,7 +151,7 @@ module.exports = grammar({
150151

151152
anonymous_capturing_group: $ => seq('(', $.pattern, ')'),
152153

153-
named_capturing_group: $ => seq('(?<', $.group_name, '>', $.pattern, ')'),
154+
named_capturing_group: $ => seq(choice('(?<', '(?P<'), $.group_name, '>', $.pattern, ')'),
154155

155156
non_capturing_group: $ => seq('(?:', $.pattern, ')'),
156157

@@ -184,6 +185,8 @@ module.exports = grammar({
184185

185186
backreference_escape: $ => seq('\\k', '<', $.group_name, '>'),
186187

188+
named_group_backreference: $ => seq('(?P=', $.group_name, ')'),
189+
187190
decimal_escape: _ => /\\[1-9][0-9]*/,
188191

189192
character_class_escape: $ => choice(

queries/highlights.scm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
"(?"
55
"(?:"
66
"(?<"
7+
"(?P<"
8+
"(?P="
79
">"
810
"["
911
"]"

src/grammar.json

Lines changed: 32 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/node-types.json

Lines changed: 27 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)