Skip to content

Commit 2947333

Browse files
authored
Merge pull request #115 from crystal-lang-tools/keidax/escape-cleanup
Use `escape_sequence` for all escape types
2 parents 8503ec7 + 5beca6b commit 2947333

File tree

8 files changed

+193
-165
lines changed

8 files changed

+193
-165
lines changed

grammar.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -706,7 +706,7 @@ module.exports = grammar({
706706
'\'',
707707
choice(
708708
alias(token.immediate(prec(1, /[^\\]/)), $.literal_content),
709-
$.char_escape_sequence,
709+
alias($.char_escape_sequence, $.escape_sequence),
710710
),
711711
token.immediate('\''),
712712
),
@@ -731,8 +731,8 @@ module.exports = grammar({
731731
_string_literal_content: $ => repeat1(choice(
732732
$._line_continuation,
733733
alias($._delimited_string_contents, $.literal_content),
734-
$.string_escape_sequence,
735-
$.ignored_backslash,
734+
alias($.string_escape_sequence, $.escape_sequence),
735+
alias($.ignored_backslash, $.escape_sequence),
736736
$.interpolation,
737737
)),
738738

@@ -779,8 +779,8 @@ module.exports = grammar({
779779
_string_percent_literal_content: $ => repeat1(choice(
780780
alias($._delimited_string_contents, $.literal_content),
781781
$.interpolation,
782-
$.string_escape_sequence,
783-
$.ignored_backslash,
782+
alias($.string_escape_sequence, $.escape_sequence),
783+
alias($.ignored_backslash, $.escape_sequence),
784784
)),
785785

786786
string_array_percent_literal: $ => seq(
@@ -803,7 +803,7 @@ module.exports = grammar({
803803
$._delimited_array_element_start,
804804
repeat(choice(
805805
alias($._delimited_string_contents, $.literal_content),
806-
alias($.percent_array_escape_sequence, $.ignored_backslash),
806+
alias($.percent_array_escape_sequence, $.escape_sequence),
807807
)),
808808
$._delimited_array_element_end,
809809
),
@@ -818,8 +818,8 @@ module.exports = grammar({
818818
repeat(choice(
819819
alias($.heredoc_content, $.literal_content),
820820
$.interpolation,
821-
seq(/\s*/, $.string_escape_sequence),
822-
seq(/\s*/, $.ignored_backslash),
821+
seq(/\s*/, alias($.string_escape_sequence, $.escape_sequence)),
822+
seq(/\s*/, alias($.ignored_backslash, $.escape_sequence)),
823823
$._line_continuation,
824824
)),
825825
$.heredoc_end,
@@ -860,8 +860,8 @@ module.exports = grammar({
860860
seq(
861861
repeat(choice(
862862
symbol_content,
863-
$.string_escape_sequence,
864-
$.ignored_backslash,
863+
alias($.string_escape_sequence, $.escape_sequence),
864+
alias($.ignored_backslash, $.escape_sequence),
865865
)),
866866
token.immediate('"'),
867867
),

queries/nvim/highlights.scm

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,9 @@
7676
(string
7777
(literal_content) @string)
7878

79+
(string
80+
(escape_sequence) @string.escape)
81+
7982
(symbol
8083
[
8184
":"
@@ -86,12 +89,18 @@
8689
(symbol
8790
(literal_content) @string.special.symbol)
8891

92+
(symbol
93+
(escape_sequence) @character)
94+
8995
(command
9096
"`" @string.special)
9197

9298
(command
9399
(literal_content) @string.special)
94100

101+
(command
102+
(escape_sequence) @character)
103+
95104
(regex
96105
"/" @punctuation.bracket)
97106

@@ -103,19 +112,23 @@
103112
(heredoc_body
104113
(literal_content) @string)
105114

115+
(heredoc_body
116+
(escape_sequence) @string.escape)
117+
106118
[
107119
(heredoc_start)
108120
(heredoc_end)
109121
] @label
110122

111-
(string_escape_sequence) @string.escape
112-
113123
(char
114124
"'" @character)
115125

116126
(char
117127
(literal_content) @character)
118128

129+
(char
130+
(escape_sequence) @string.escape)
131+
119132
(integer) @number
120133

121134
(float) @number.float

src/grammar.json

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

0 commit comments

Comments
 (0)