tree-sitter-sed 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/grammar.js ADDED
@@ -0,0 +1,3 @@
1
+ const defineGrammar = require("./common/grammar");
2
+
3
+ module.exports = defineGrammar("sed", "bre");
package/package.json CHANGED
@@ -1,33 +1,35 @@
1
1
  {
2
2
  "name": "tree-sitter-sed",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "description": "Tree-sitter grammars for POSIX sed.",
5
5
  "license": "MIT",
6
6
  "repository": "git+https://github.com/konomanoasa/tree-sitter-sed.git",
7
7
  "files": [
8
8
  "common/*.js",
9
9
  "common/scanner.h",
10
- "sed/grammar.js",
11
- "sed/src/*.c",
12
- "sed/src/*.json",
13
- "sed/src/tree_sitter/*.h",
14
- "sed-ere/grammar.js",
15
- "sed-ere/src/*.c",
16
- "sed-ere/src/*.json",
17
- "sed-ere/src/tree_sitter/*.h",
10
+ "grammar.js",
11
+ "queries/*.scm",
12
+ "src/*.c",
13
+ "src/*.json",
14
+ "src/tree_sitter/*.h",
15
+ "sed_ere/grammar.js",
16
+ "sed_ere/queries/*.scm",
17
+ "sed_ere/src/*.c",
18
+ "sed_ere/src/*.json",
19
+ "sed_ere/src/tree_sitter/*.h",
18
20
  "tree-sitter.json"
19
21
  ],
20
22
  "scripts": {
21
23
  "check": "biome check . && node scripts/check-scanner.js && node scripts/check-generated.js && npm test",
22
24
  "format": "biome check --write . && node scripts/check-scanner.js --write",
23
25
  "generate": "npm run tree-sitter -- generate-all",
24
- "test": "npm run tree-sitter -- test --rebuild && node --test test/parser.test.js",
26
+ "test": "npm run tree-sitter -- test-corpus --rebuild && node --test",
25
27
  "test:fuzz": "npm run tree-sitter -- fuzz-all --iterations 100 --edits 5",
26
28
  "tree-sitter": "node scripts/tree-sitter.js"
27
29
  },
28
30
  "devDependencies": {
29
- "@biomejs/biome": "2.5.5",
30
- "tree-sitter-cli": "0.26.11"
31
+ "@biomejs/biome": "2.5.11",
32
+ "tree-sitter-cli": "0.26.13"
31
33
  },
32
34
  "allowScripts": {
33
35
  "tree-sitter-cli": true
@@ -0,0 +1,122 @@
1
+ [
2
+ (address_escape)
3
+ (escaped_delimiter_token)
4
+ (quoted_character_token)
5
+ (replacement_escape_token)
6
+ (sed_newline_escape_token)
7
+ (text_backslash_escape_token)
8
+ (translation_escape_token)
9
+ ] @string.escape
10
+
11
+ [
12
+ (back_bar)
13
+ (back_plus)
14
+ (back_qm)
15
+ (left_anchor_token)
16
+ (negation_operator)
17
+ (right_anchor_token)
18
+ (zero_or_more_operator)
19
+ ] @operator
20
+
21
+ [
22
+ (case_insensitive_flag)
23
+ (global_flag)
24
+ (print_flag)
25
+ (substitution_flag)
26
+ ] @keyword.modifier
27
+
28
+ (function_verb) @keyword
29
+
30
+ (comment_text) @comment
31
+
32
+ (default_output_suppression) @keyword.directive
33
+
34
+ [
35
+ (escaped_newline_token)
36
+ (text_introducer_token)
37
+ (text_escaped_newline_token)
38
+ ] @punctuation.special
39
+
40
+ (label_token) @label
41
+
42
+ (last_line_address) @constant.builtin
43
+
44
+ [
45
+ (dup_count_token)
46
+ (line_number_address)
47
+ (occurrence_flag)
48
+ ] @number
49
+
50
+ [
51
+ (backreference_token)
52
+ (matched_text_reference_token)
53
+ (replacement_backreference_token)
54
+ ] @string.special.symbol
55
+
56
+ [
57
+ (rfile_token)
58
+ (wfile_token)
59
+ ] @string.special.path
60
+
61
+ [
62
+ (back_close_brace)
63
+ (back_close_parenthesis_token)
64
+ (back_open_brace)
65
+ (back_open_parenthesis)
66
+ (close_bracket_token)
67
+ (closing_brace_token)
68
+ (colon_close)
69
+ (open_bracket)
70
+ (open_colon)
71
+ ] @punctuation.bracket
72
+
73
+ [
74
+ (nonmatching_list_operator)
75
+ (range_operator)
76
+ ] @punctuation.special
77
+
78
+ [
79
+ (range_end_hyphen)
80
+ (trailing_hyphen)
81
+ ] @string.regexp
82
+
83
+ [
84
+ (class_name)
85
+ (coll_elem_multi)
86
+ (coll_elem_single)
87
+ (collating_element_token)
88
+ (dot_close)
89
+ (equal_close)
90
+ (meta_char)
91
+ (open_dot)
92
+ (open_equal)
93
+ (period_token)
94
+ ] @character.special
95
+
96
+ [
97
+ (address_separator_token)
98
+ (delimiter_token)
99
+ (interval_separator)
100
+ ] @punctuation.delimiter
101
+
102
+ ((command_separator) @punctuation.delimiter
103
+ (#eq? @punctuation.delimiter ";"))
104
+
105
+ (ordinary_character_token) @string.regexp
106
+
107
+ [
108
+ (replacement_literal_token)
109
+ (text_literal_token)
110
+ (translation_literal_token)
111
+ ] @string
112
+
113
+ (block_function
114
+ verb: (function_verb) @punctuation.bracket)
115
+
116
+ (comment_function
117
+ verb: (function_verb) @comment)
118
+
119
+ (comment_function
120
+ verb: (function_verb) @keyword.directive
121
+ comment: (comment
122
+ suppression: (default_output_suppression)))
@@ -1,8 +1,3 @@
1
- /**
2
- * @author konomanoasa
3
- * @license MIT
4
- */
5
-
6
1
  const defineGrammar = require("../common/grammar");
7
2
 
8
3
  module.exports = defineGrammar("sed_ere", "ere");
@@ -0,0 +1,122 @@
1
+ [
2
+ (address_escape)
3
+ (escaped_delimiter_token)
4
+ (quoted_character_token)
5
+ (replacement_escape_token)
6
+ (sed_newline_escape_token)
7
+ (text_backslash_escape_token)
8
+ (translation_escape_token)
9
+ ] @string.escape
10
+
11
+ [
12
+ (ere_alternation_operator_token)
13
+ (left_anchor_token)
14
+ (negation_operator)
15
+ (one_or_more_operator)
16
+ (repetition_modifier)
17
+ (right_anchor_token)
18
+ (zero_or_more_operator)
19
+ (zero_or_one_operator)
20
+ ] @operator
21
+
22
+ [
23
+ (case_insensitive_flag)
24
+ (global_flag)
25
+ (print_flag)
26
+ (substitution_flag)
27
+ ] @keyword.modifier
28
+
29
+ (function_verb) @keyword
30
+
31
+ (comment_text) @comment
32
+
33
+ (default_output_suppression) @keyword.directive
34
+
35
+ [
36
+ (escaped_newline_token)
37
+ (text_introducer_token)
38
+ (text_escaped_newline_token)
39
+ ] @punctuation.special
40
+
41
+ (label_token) @label
42
+
43
+ (last_line_address) @constant.builtin
44
+
45
+ [
46
+ (dup_count_token)
47
+ (line_number_address)
48
+ (occurrence_flag)
49
+ ] @number
50
+
51
+ [
52
+ (matched_text_reference_token)
53
+ (replacement_backreference_token)
54
+ ] @string.special.symbol
55
+
56
+ [
57
+ (rfile_token)
58
+ (wfile_token)
59
+ ] @string.special.path
60
+
61
+ [
62
+ (close_brace)
63
+ (close_bracket_token)
64
+ (close_parenthesis_token)
65
+ (closing_brace_token)
66
+ (colon_close)
67
+ (open_brace)
68
+ (open_bracket)
69
+ (open_colon)
70
+ (open_parenthesis)
71
+ ] @punctuation.bracket
72
+
73
+ [
74
+ (nonmatching_list_operator)
75
+ (range_operator)
76
+ ] @punctuation.special
77
+
78
+ [
79
+ (range_end_hyphen)
80
+ (trailing_hyphen)
81
+ ] @string.regexp
82
+
83
+ [
84
+ (class_name)
85
+ (coll_elem_multi)
86
+ (coll_elem_single)
87
+ (collating_element_token)
88
+ (dot_close)
89
+ (equal_close)
90
+ (meta_char)
91
+ (open_dot)
92
+ (open_equal)
93
+ (period_token)
94
+ ] @character.special
95
+
96
+ [
97
+ (address_separator_token)
98
+ (delimiter_token)
99
+ (interval_separator)
100
+ ] @punctuation.delimiter
101
+
102
+ ((command_separator) @punctuation.delimiter
103
+ (#eq? @punctuation.delimiter ";"))
104
+
105
+ (ordinary_character_token) @string.regexp
106
+
107
+ [
108
+ (replacement_literal_token)
109
+ (text_literal_token)
110
+ (translation_literal_token)
111
+ ] @string
112
+
113
+ (block_function
114
+ verb: (function_verb) @punctuation.bracket)
115
+
116
+ (comment_function
117
+ verb: (function_verb) @comment)
118
+
119
+ (comment_function
120
+ verb: (function_verb) @keyword.directive
121
+ comment: (comment
122
+ suppression: (default_output_suppression)))