Skip to content

Commit f09381d

Browse files
committed
Merge pull request #1 from codemod-com/string-expr-escape-seq
String expr escape seq
2 parents 745d3c6 + 1c77ff5 commit f09381d

17 files changed

+8655
-8119
lines changed

.github/workflows/publish.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,5 @@ jobs:
1616
uses: tree-sitter/workflows/.github/workflows/package-crates.yml@main
1717
secrets:
1818
CARGO_REGISTRY_TOKEN: ${{secrets.CARGO_TOKEN}}
19+
with:
20+
allow_dirty: true

Cargo.lock

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

Cargo.toml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
2-
name = "tree-sitter-angular"
2+
name = "tree-sitter-angular-codemod"
33
description = "Angular grammar for tree-sitter"
4-
version = "0.5.0"
4+
version = "0.5.6"
55
keywords = ["incremental", "parsing", "angular"]
66
categories = ["parsing", "text-editors"]
77
repository = "https://github.com/tree-sitter/tree-sitter-angular"
@@ -19,8 +19,9 @@ include = [
1919
path = "bindings/rust/lib.rs"
2020

2121
[dependencies]
22-
tree-sitter = "~0.22.5"
23-
tree-sitter-html = "~0.20.3"
22+
tree-sitter-language = "0.1.0"
23+
tree-sitter = "~0.24.5"
24+
tree-sitter-html = "~0.23.0"
2425

2526
[build-dependencies]
2627
cc = "1.0"

bindings/rust/build.rs

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bindings/rust/lib.rs

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

grammar.js

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ module.exports = grammar(HTML, {
189189
alias('for', $.control_keyword),
190190
'(',
191191
field('declaration', $.for_declaration),
192-
optional(field('reference', $.for_reference)),
192+
optional(seq(';', field('reference', $.for_reference))),
193193
')',
194194
field('body', $.statement_block),
195195
),
@@ -209,12 +209,11 @@ module.exports = grammar(HTML, {
209209
field('value', $.expression),
210210
';',
211211
alias('track', $.special_keyword),
212-
field('track', $.expression),
212+
field('track', $._any_expression),
213213
),
214214

215215
for_reference: ($) =>
216216
seq(
217-
';',
218217
alias('let', $.special_keyword),
219218
field('alias', $.assignment_expression),
220219
repeat(seq(choice(';', ','), field('alias', $.assignment_expression))),
@@ -502,11 +501,34 @@ module.exports = grammar(HTML, {
502501
// Identifier
503502
identifier: () => /[a-zA-Z_0-9\-\$]+/,
504503

504+
_escape_sequence: (_) =>
505+
token.immediate(
506+
seq(
507+
'\\',
508+
choice(
509+
/[^xu0-7]/,
510+
/[0-7]{1,3}/,
511+
/x[0-9a-fA-F]{2}/,
512+
/u[0-9a-fA-F]{4}/,
513+
/u\{[0-9a-fA-F]+\}/,
514+
/[\r?][\n\u2028\u2029]/,
515+
),
516+
),
517+
),
518+
505519
// String
506520
string: ($) =>
507521
choice(
508-
seq($._double_quote, repeat(token.immediate(/[^"]/)), $._double_quote),
509-
seq($._single_quote, repeat(token.immediate(/[^']/)), $._single_quote),
522+
seq(
523+
$._double_quote,
524+
repeat(choice(token.immediate(/[^"]/), $._escape_sequence)),
525+
$._double_quote,
526+
),
527+
seq(
528+
$._single_quote,
529+
repeat(choice(token.immediate(/[^']/), $._escape_sequence)),
530+
$._single_quote,
531+
),
510532
),
511533

512534
// Number

package-lock.json

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

package.json

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"name": "tree-sitter-angular",
3-
"version": "0.5.0",
2+
"name": "@codemod.com/tree-sitter-angular",
3+
"version": "0.5.6",
44
"description": "Tree-sitter grammar for the Angular framework",
55
"main": "bindings/node",
66
"types": "bindings/node",
@@ -17,6 +17,9 @@
1717
"type": "git",
1818
"url": "git+https://github.com/dlvandenberg/tree-sitter-angular.git"
1919
},
20+
"publishConfig": {
21+
"access": "public"
22+
},
2023
"keywords": [
2124
"Treesitter",
2225
"Angular",
@@ -58,13 +61,5 @@
5861
"tree_sitter": {
5962
"optional": true
6063
}
61-
},
62-
"tree-sitter": [
63-
{
64-
"scope": "source.angular",
65-
"file-types": [
66-
"component.html"
67-
]
68-
}
69-
]
64+
}
7065
}

0 commit comments

Comments
 (0)