@renovatebot/good-enough-parser 1.1.24 → 1.2.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.
Files changed (166) hide show
  1. package/README.md +6 -6
  2. package/dist/cjs/index.d.ts +4 -4
  3. package/dist/cjs/index.js +7 -7
  4. package/dist/cjs/lang/groovy.d.ts +6 -6
  5. package/dist/cjs/lang/groovy.js +83 -83
  6. package/dist/cjs/lang/index.d.ts +20 -20
  7. package/dist/cjs/lang/index.js +56 -56
  8. package/dist/cjs/lang/python.d.ts +6 -6
  9. package/dist/cjs/lang/python.js +73 -73
  10. package/dist/cjs/lang/scala.d.ts +6 -6
  11. package/dist/cjs/lang/scala.js +71 -71
  12. package/dist/cjs/lang/starlark.d.ts +6 -6
  13. package/dist/cjs/lang/starlark.js +58 -58
  14. package/dist/cjs/lang/types.d.ts +6 -6
  15. package/dist/cjs/lang/types.js +2 -2
  16. package/dist/cjs/lexer/bracket.d.ts +6 -6
  17. package/dist/cjs/lexer/bracket.js +57 -57
  18. package/dist/cjs/lexer/comment.d.ts +3 -3
  19. package/dist/cjs/lexer/comment.js +44 -44
  20. package/dist/cjs/lexer/index.d.ts +5 -5
  21. package/dist/cjs/lexer/index.js +155 -155
  22. package/dist/cjs/lexer/number.d.ts +2 -2
  23. package/dist/cjs/lexer/number.js +18 -18
  24. package/dist/cjs/lexer/operator.d.ts +2 -2
  25. package/dist/cjs/lexer/operator.js +24 -24
  26. package/dist/cjs/lexer/rules.d.ts +4 -4
  27. package/dist/cjs/lexer/rules.js +74 -74
  28. package/dist/cjs/lexer/string.d.ts +2 -2
  29. package/dist/cjs/lexer/string.js +181 -181
  30. package/dist/cjs/lexer/symbol.d.ts +2 -2
  31. package/dist/cjs/lexer/symbol.js +18 -18
  32. package/dist/cjs/lexer/token.d.ts +3 -3
  33. package/dist/cjs/lexer/token.js +64 -64
  34. package/dist/cjs/lexer/types.d.ts +142 -142
  35. package/dist/cjs/lexer/types.js +2 -2
  36. package/dist/cjs/parser/cursor.d.ts +2 -2
  37. package/dist/cjs/parser/cursor.js +13 -13
  38. package/dist/cjs/parser/index.d.ts +3 -3
  39. package/dist/cjs/parser/index.js +19 -19
  40. package/dist/cjs/parser/tree.d.ts +4 -4
  41. package/dist/cjs/parser/tree.js +246 -246
  42. package/dist/cjs/parser/types.d.ts +33 -33
  43. package/dist/cjs/parser/types.js +2 -2
  44. package/dist/cjs/query/builder.d.ts +144 -144
  45. package/dist/cjs/query/builder.js +332 -332
  46. package/dist/cjs/query/handler.d.ts +2 -2
  47. package/dist/cjs/query/handler.js +10 -10
  48. package/dist/cjs/query/index.d.ts +2 -2
  49. package/dist/cjs/query/index.js +32 -32
  50. package/dist/cjs/query/matchers/abstract-matcher.d.ts +9 -9
  51. package/dist/cjs/query/matchers/abstract-matcher.js +36 -36
  52. package/dist/cjs/query/matchers/alt-matcher.d.ts +10 -10
  53. package/dist/cjs/query/matchers/alt-matcher.js +33 -33
  54. package/dist/cjs/query/matchers/anchor-matcher.d.ts +17 -17
  55. package/dist/cjs/query/matchers/anchor-matcher.js +50 -50
  56. package/dist/cjs/query/matchers/comment-matcher.d.ts +10 -10
  57. package/dist/cjs/query/matchers/comment-matcher.js +39 -39
  58. package/dist/cjs/query/matchers/index.d.ts +6 -6
  59. package/dist/cjs/query/matchers/index.js +22 -22
  60. package/dist/cjs/query/matchers/many-matcher.d.ts +13 -13
  61. package/dist/cjs/query/matchers/many-matcher.js +61 -61
  62. package/dist/cjs/query/matchers/num-matcher.d.ts +8 -8
  63. package/dist/cjs/query/matchers/num-matcher.js +34 -34
  64. package/dist/cjs/query/matchers/op-matcher.d.ts +8 -8
  65. package/dist/cjs/query/matchers/op-matcher.js +34 -34
  66. package/dist/cjs/query/matchers/seq-matcher.d.ts +14 -14
  67. package/dist/cjs/query/matchers/seq-matcher.js +76 -76
  68. package/dist/cjs/query/matchers/str-matcher.d.ts +38 -38
  69. package/dist/cjs/query/matchers/str-matcher.js +108 -108
  70. package/dist/cjs/query/matchers/sym-matcher.d.ts +8 -8
  71. package/dist/cjs/query/matchers/sym-matcher.js +34 -34
  72. package/dist/cjs/query/matchers/tree-matcher.d.ts +23 -23
  73. package/dist/cjs/query/matchers/tree-matcher.js +121 -121
  74. package/dist/cjs/query/options.d.ts +10 -10
  75. package/dist/cjs/query/options.js +149 -149
  76. package/dist/cjs/query/regex.d.ts +1 -1
  77. package/dist/cjs/query/regex.js +13 -13
  78. package/dist/cjs/query/types.d.ts +100 -100
  79. package/dist/cjs/query/types.js +2 -2
  80. package/dist/cjs/util/clone.d.ts +1 -1
  81. package/dist/cjs/util/clone.js +5 -5
  82. package/dist/cjs/util/regex.d.ts +1 -1
  83. package/dist/cjs/util/regex.js +7 -7
  84. package/dist/esm/index.d.ts +4 -4
  85. package/dist/esm/index.js +8 -8
  86. package/dist/esm/lang/groovy.d.ts +6 -6
  87. package/dist/esm/lang/groovy.js +80 -80
  88. package/dist/esm/lang/index.d.ts +20 -20
  89. package/dist/esm/lang/index.js +37 -37
  90. package/dist/esm/lang/python.d.ts +6 -6
  91. package/dist/esm/lang/python.js +70 -70
  92. package/dist/esm/lang/scala.d.ts +6 -6
  93. package/dist/esm/lang/scala.js +68 -68
  94. package/dist/esm/lang/starlark.d.ts +6 -6
  95. package/dist/esm/lang/starlark.js +55 -55
  96. package/dist/esm/lang/types.d.ts +6 -6
  97. package/dist/esm/lang/types.js +1 -1
  98. package/dist/esm/lexer/bracket.d.ts +6 -6
  99. package/dist/esm/lexer/bracket.js +49 -49
  100. package/dist/esm/lexer/comment.d.ts +3 -3
  101. package/dist/esm/lexer/comment.js +39 -39
  102. package/dist/esm/lexer/index.d.ts +5 -5
  103. package/dist/esm/lexer/index.js +136 -136
  104. package/dist/esm/lexer/number.d.ts +2 -2
  105. package/dist/esm/lexer/number.js +14 -14
  106. package/dist/esm/lexer/operator.d.ts +2 -2
  107. package/dist/esm/lexer/operator.js +20 -20
  108. package/dist/esm/lexer/rules.d.ts +4 -4
  109. package/dist/esm/lexer/rules.js +69 -69
  110. package/dist/esm/lexer/string.d.ts +2 -2
  111. package/dist/esm/lexer/string.js +177 -177
  112. package/dist/esm/lexer/symbol.d.ts +2 -2
  113. package/dist/esm/lexer/symbol.js +14 -14
  114. package/dist/esm/lexer/token.d.ts +3 -3
  115. package/dist/esm/lexer/token.js +60 -60
  116. package/dist/esm/lexer/types.d.ts +142 -142
  117. package/dist/esm/lexer/types.js +1 -1
  118. package/dist/esm/parser/cursor.d.ts +2 -2
  119. package/dist/esm/parser/cursor.js +9 -9
  120. package/dist/esm/parser/index.d.ts +3 -3
  121. package/dist/esm/parser/index.js +3 -3
  122. package/dist/esm/parser/tree.d.ts +4 -4
  123. package/dist/esm/parser/tree.js +241 -241
  124. package/dist/esm/parser/types.d.ts +33 -33
  125. package/dist/esm/parser/types.js +1 -1
  126. package/dist/esm/query/builder.d.ts +144 -144
  127. package/dist/esm/query/builder.js +304 -304
  128. package/dist/esm/query/handler.d.ts +2 -2
  129. package/dist/esm/query/handler.js +6 -6
  130. package/dist/esm/query/index.d.ts +2 -2
  131. package/dist/esm/query/index.js +2 -2
  132. package/dist/esm/query/matchers/abstract-matcher.d.ts +9 -9
  133. package/dist/esm/query/matchers/abstract-matcher.js +32 -32
  134. package/dist/esm/query/matchers/alt-matcher.d.ts +10 -10
  135. package/dist/esm/query/matchers/alt-matcher.js +29 -29
  136. package/dist/esm/query/matchers/anchor-matcher.d.ts +17 -17
  137. package/dist/esm/query/matchers/anchor-matcher.js +44 -44
  138. package/dist/esm/query/matchers/comment-matcher.d.ts +10 -10
  139. package/dist/esm/query/matchers/comment-matcher.js +35 -35
  140. package/dist/esm/query/matchers/index.d.ts +6 -6
  141. package/dist/esm/query/matchers/index.js +6 -6
  142. package/dist/esm/query/matchers/many-matcher.d.ts +13 -13
  143. package/dist/esm/query/matchers/many-matcher.js +57 -57
  144. package/dist/esm/query/matchers/num-matcher.d.ts +8 -8
  145. package/dist/esm/query/matchers/num-matcher.js +30 -30
  146. package/dist/esm/query/matchers/op-matcher.d.ts +8 -8
  147. package/dist/esm/query/matchers/op-matcher.js +30 -30
  148. package/dist/esm/query/matchers/seq-matcher.d.ts +14 -14
  149. package/dist/esm/query/matchers/seq-matcher.js +72 -72
  150. package/dist/esm/query/matchers/str-matcher.d.ts +38 -38
  151. package/dist/esm/query/matchers/str-matcher.js +102 -102
  152. package/dist/esm/query/matchers/sym-matcher.d.ts +8 -8
  153. package/dist/esm/query/matchers/sym-matcher.js +30 -30
  154. package/dist/esm/query/matchers/tree-matcher.d.ts +23 -23
  155. package/dist/esm/query/matchers/tree-matcher.js +117 -117
  156. package/dist/esm/query/options.d.ts +10 -10
  157. package/dist/esm/query/options.js +139 -139
  158. package/dist/esm/query/regex.d.ts +1 -1
  159. package/dist/esm/query/regex.js +9 -9
  160. package/dist/esm/query/types.d.ts +100 -100
  161. package/dist/esm/query/types.js +1 -1
  162. package/dist/esm/util/clone.d.ts +1 -1
  163. package/dist/esm/util/clone.js +1 -1
  164. package/dist/esm/util/regex.d.ts +1 -1
  165. package/dist/esm/util/regex.js +3 -3
  166. package/package.json +3 -3
@@ -1,72 +1,72 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.lang = exports.parser = exports.lexer = void 0;
4
- const operators =
5
- /* prettier-ignore */ [
6
- '+', '-', '*', '/', '%', '%%', '%%%', '**',
7
- '++', '--',
8
- '+=', '++=', '-=', '*=', '/=', '%=', '**=',
9
- '==', '!=', '<', '<=', '>', '>=', '===', '!==', '<=>',
10
- '&&', '||', '!',
11
- '&', '|', '^', '~',
12
- '<<', '>>', '>>>',
13
- '?', '?:',
14
- ':=', '=', '?=',
15
- '.', '?.', '.@', '.&', '::', ':::',
16
- '=~', '==~',
17
- '*.', ':',
18
- '..', '..<',
19
- '<>',
20
- '<<=', '>>=', '>>>=', '&=', '^=', '|=', '?=',
21
- '->',
22
- ',', ';',
23
- ];
24
- const octdigit = '[0-7]';
25
- const digit = '[0-9]';
26
- const nonzerodigit = '[1-9]';
27
- const hexdigit = `(?:${digit}|[a-fA-F])`;
28
- const octinteger = `(?:0[oO](?:_?${octdigit})+)`;
29
- const hexinteger = `(?:0[xX](?:_?${hexdigit})+)`;
30
- const decinteger = `(?:${nonzerodigit}(?:_?${digit})*|0+(?:_?0)*)`;
31
- const integer = `(?:${decinteger}|${octinteger}|${hexinteger})`;
32
- const digitpart = `(?:${digit}(?:_?${digit})*)`;
33
- const fraction = `(?:\\.${digitpart})`;
34
- const exponent = `(?:[eE][-+]?${digitpart})`;
35
- const pointfloat = `(?:${digitpart}?${fraction}|${digitpart}\\.)`;
36
- const exponentfloat = `(?:(?:${digitpart}|${pointfloat})${exponent})`;
37
- const floatnumber = `(?:${pointfloat}|${exponentfloat})`;
38
- const numbers = new RegExp(`(?:${integer}|${floatnumber})`);
39
- const templates = [
40
- {
41
- type: 'var',
42
- startsWith: '$',
43
- symbols: /[a-zA-Z_][a-zA-Z0-9_]+/,
44
- },
45
- { type: 'expr', startsWith: '${', endsWith: '}' },
46
- ];
47
- exports.lexer = {
48
- joinLines: '\\',
49
- comments: [
50
- { type: 'line-comment', startsWith: '//' },
51
- { type: 'multiline-comment', startsWith: '/*', endsWith: '*/' },
52
- ],
53
- symbols: /[_a-zA-Z][_a-zA-Z0-9]*/,
54
- numbers,
55
- operators,
56
- brackets: [
57
- { startsWith: '{', endsWith: '}' },
58
- { startsWith: '[', endsWith: ']' },
59
- { startsWith: '(', endsWith: ')' },
60
- ],
61
- strings: [
62
- { startsWith: '"', escapeChar: '\\' },
63
- { startsWith: 'raw"', endsWith: '"' },
64
- { startsWith: 's"', templates, endsWith: '"', escapeChar: '\\' },
65
- { startsWith: 'f"', templates, endsWith: '"', escapeChar: '\\' },
66
- ],
67
- };
68
- exports.parser = {
69
- useIndentBlocks: false,
70
- };
71
- exports.lang = { lexer: exports.lexer, parser: exports.parser };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.lang = exports.parser = exports.lexer = void 0;
4
+ const operators =
5
+ /* prettier-ignore */ [
6
+ '+', '-', '*', '/', '%', '%%', '%%%', '**',
7
+ '++', '--',
8
+ '+=', '++=', '-=', '*=', '/=', '%=', '**=',
9
+ '==', '!=', '<', '<=', '>', '>=', '===', '!==', '<=>',
10
+ '&&', '||', '!',
11
+ '&', '|', '^', '~',
12
+ '<<', '>>', '>>>',
13
+ '?', '?:',
14
+ ':=', '=', '?=',
15
+ '.', '?.', '.@', '.&', '::', ':::',
16
+ '=~', '==~',
17
+ '*.', ':',
18
+ '..', '..<',
19
+ '<>',
20
+ '<<=', '>>=', '>>>=', '&=', '^=', '|=', '?=',
21
+ '->',
22
+ ',', ';',
23
+ ];
24
+ const octdigit = '[0-7]';
25
+ const digit = '[0-9]';
26
+ const nonzerodigit = '[1-9]';
27
+ const hexdigit = `(?:${digit}|[a-fA-F])`;
28
+ const octinteger = `(?:0[oO](?:_?${octdigit})+)`;
29
+ const hexinteger = `(?:0[xX](?:_?${hexdigit})+)`;
30
+ const decinteger = `(?:${nonzerodigit}(?:_?${digit})*|0+(?:_?0)*)`;
31
+ const integer = `(?:${decinteger}|${octinteger}|${hexinteger})`;
32
+ const digitpart = `(?:${digit}(?:_?${digit})*)`;
33
+ const fraction = `(?:\\.${digitpart})`;
34
+ const exponent = `(?:[eE][-+]?${digitpart})`;
35
+ const pointfloat = `(?:${digitpart}?${fraction}|${digitpart}\\.)`;
36
+ const exponentfloat = `(?:(?:${digitpart}|${pointfloat})${exponent})`;
37
+ const floatnumber = `(?:${pointfloat}|${exponentfloat})`;
38
+ const numbers = new RegExp(`(?:${integer}|${floatnumber})`);
39
+ const templates = [
40
+ {
41
+ type: 'var',
42
+ startsWith: '$',
43
+ symbols: /[a-zA-Z_][a-zA-Z0-9_]+/,
44
+ },
45
+ { type: 'expr', startsWith: '${', endsWith: '}' },
46
+ ];
47
+ exports.lexer = {
48
+ joinLines: '\\',
49
+ comments: [
50
+ { type: 'line-comment', startsWith: '//' },
51
+ { type: 'multiline-comment', startsWith: '/*', endsWith: '*/' },
52
+ ],
53
+ symbols: /[_a-zA-Z][_a-zA-Z0-9]*/,
54
+ numbers,
55
+ operators,
56
+ brackets: [
57
+ { startsWith: '{', endsWith: '}' },
58
+ { startsWith: '[', endsWith: ']' },
59
+ { startsWith: '(', endsWith: ')' },
60
+ ],
61
+ strings: [
62
+ { startsWith: '"', escapeChar: '\\' },
63
+ { startsWith: 'raw"', endsWith: '"' },
64
+ { startsWith: 's"', templates, endsWith: '"', escapeChar: '\\' },
65
+ { startsWith: 'f"', templates, endsWith: '"', escapeChar: '\\' },
66
+ ],
67
+ };
68
+ exports.parser = {
69
+ useIndentBlocks: false,
70
+ };
71
+ exports.lang = { lexer: exports.lexer, parser: exports.parser };
72
72
  //# sourceMappingURL=scala.js.map
@@ -1,7 +1,7 @@
1
- import type { LexerConfig } from '../lexer/types';
2
- import type { ParserConfig } from '../parser/types';
3
- import type { LanguageConfig } from './types';
4
- export declare const lexer: LexerConfig;
5
- export declare const parser: ParserConfig;
6
- export declare const lang: LanguageConfig;
1
+ import type { LexerConfig } from '../lexer/types';
2
+ import type { ParserConfig } from '../parser/types';
3
+ import type { LanguageConfig } from './types';
4
+ export declare const lexer: LexerConfig;
5
+ export declare const parser: ParserConfig;
6
+ export declare const lang: LanguageConfig;
7
7
  //# sourceMappingURL=starlark.d.ts.map
@@ -1,59 +1,59 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.lang = exports.parser = exports.lexer = void 0;
4
- /**
5
- * @see https://github.com/bazelbuild/starlark/blob/master/spec.md#lexical-elements
6
- */
7
- const operators =
8
- /* prettier-ignore */ [
9
- '+', '-', '*', '//', '%', '**',
10
- '~', '&', '|', '^', '<<', '>>',
11
- '.', ',', '=', ';', ':',
12
- '<', '>', '>=', '<=', '==', '!=',
13
- '+=', '-=', '*=', '//=', '%=',
14
- '&=', '|=', '^=', '<<=', '>>=',
15
- ];
16
- const octdigit = '[0-7]';
17
- const digit = '[0-9]';
18
- const nonzerodigit = '[1-9]';
19
- const hexdigit = `(?:${digit}|[a-fA-F])`;
20
- const octinteger = `(?:0[oO](?:_?${octdigit})+)`;
21
- const hexinteger = `(?:0[xX](?:_?${hexdigit})+)`;
22
- const decinteger = `(?:${nonzerodigit}(?:_?${digit})*|0+(?:_?0)*)`;
23
- const integer = `(?:${decinteger}|${octinteger}|${hexinteger})`;
24
- const digitpart = `(?:${digit}(?:_?${digit})*)`;
25
- const fraction = `(?:\\.${digitpart})`;
26
- const exponent = `(?:[eE][-+]?${digitpart})`;
27
- const pointfloat = `(?:${digitpart}?${fraction}|${digitpart}\\.)`;
28
- const exponentfloat = `(?:(?:${digitpart}|${pointfloat})${exponent})`;
29
- const floatnumber = `(?:${pointfloat}|${exponentfloat})`;
30
- const numbers = new RegExp(`(?:${integer}|${floatnumber})`);
31
- exports.lexer = {
32
- joinLines: '\\',
33
- comments: [{ type: 'line-comment', startsWith: '#' }],
34
- symbols: /[_a-zA-Z][_a-zA-Z0-9]*/,
35
- numbers,
36
- operators,
37
- brackets: [
38
- { startsWith: '{', endsWith: '}' },
39
- { startsWith: '[', endsWith: ']' },
40
- { startsWith: '(', endsWith: ')' },
41
- ],
42
- strings: [
43
- { startsWith: "'", escapeChar: '\\' },
44
- { startsWith: '"', escapeChar: '\\' },
45
- { startsWith: "'''", escapeChar: '\\' },
46
- { startsWith: '"""', escapeChar: '\\' },
47
- { startsWith: "r'", endsWith: "'" },
48
- { startsWith: 'r"', endsWith: '"' },
49
- { startsWith: "rb'", endsWith: "'" },
50
- { startsWith: 'rb"', endsWith: '"' },
51
- { startsWith: "br'", endsWith: "'" },
52
- { startsWith: 'br"', endsWith: '"' },
53
- ],
54
- };
55
- exports.parser = {
56
- useIndentBlocks: true,
57
- };
58
- exports.lang = { lexer: exports.lexer, parser: exports.parser };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.lang = exports.parser = exports.lexer = void 0;
4
+ /**
5
+ * @see https://github.com/bazelbuild/starlark/blob/master/spec.md#lexical-elements
6
+ */
7
+ const operators =
8
+ /* prettier-ignore */ [
9
+ '+', '-', '*', '//', '%', '**',
10
+ '~', '&', '|', '^', '<<', '>>',
11
+ '.', ',', '=', ';', ':',
12
+ '<', '>', '>=', '<=', '==', '!=',
13
+ '+=', '-=', '*=', '//=', '%=',
14
+ '&=', '|=', '^=', '<<=', '>>=',
15
+ ];
16
+ const octdigit = '[0-7]';
17
+ const digit = '[0-9]';
18
+ const nonzerodigit = '[1-9]';
19
+ const hexdigit = `(?:${digit}|[a-fA-F])`;
20
+ const octinteger = `(?:0[oO](?:_?${octdigit})+)`;
21
+ const hexinteger = `(?:0[xX](?:_?${hexdigit})+)`;
22
+ const decinteger = `(?:${nonzerodigit}(?:_?${digit})*|0+(?:_?0)*)`;
23
+ const integer = `(?:${decinteger}|${octinteger}|${hexinteger})`;
24
+ const digitpart = `(?:${digit}(?:_?${digit})*)`;
25
+ const fraction = `(?:\\.${digitpart})`;
26
+ const exponent = `(?:[eE][-+]?${digitpart})`;
27
+ const pointfloat = `(?:${digitpart}?${fraction}|${digitpart}\\.)`;
28
+ const exponentfloat = `(?:(?:${digitpart}|${pointfloat})${exponent})`;
29
+ const floatnumber = `(?:${pointfloat}|${exponentfloat})`;
30
+ const numbers = new RegExp(`(?:${integer}|${floatnumber})`);
31
+ exports.lexer = {
32
+ joinLines: '\\',
33
+ comments: [{ type: 'line-comment', startsWith: '#' }],
34
+ symbols: /[_a-zA-Z][_a-zA-Z0-9]*/,
35
+ numbers,
36
+ operators,
37
+ brackets: [
38
+ { startsWith: '{', endsWith: '}' },
39
+ { startsWith: '[', endsWith: ']' },
40
+ { startsWith: '(', endsWith: ')' },
41
+ ],
42
+ strings: [
43
+ { startsWith: "'", escapeChar: '\\' },
44
+ { startsWith: '"', escapeChar: '\\' },
45
+ { startsWith: "'''", escapeChar: '\\' },
46
+ { startsWith: '"""', escapeChar: '\\' },
47
+ { startsWith: "r'", endsWith: "'" },
48
+ { startsWith: 'r"', endsWith: '"' },
49
+ { startsWith: "rb'", endsWith: "'" },
50
+ { startsWith: 'rb"', endsWith: '"' },
51
+ { startsWith: "br'", endsWith: "'" },
52
+ { startsWith: 'br"', endsWith: '"' },
53
+ ],
54
+ };
55
+ exports.parser = {
56
+ useIndentBlocks: true,
57
+ };
58
+ exports.lang = { lexer: exports.lexer, parser: exports.parser };
59
59
  //# sourceMappingURL=starlark.js.map
@@ -1,7 +1,7 @@
1
- import type { LexerConfig } from '../lexer/types';
2
- import type { ParserConfig } from '../parser/types';
3
- export interface LanguageConfig {
4
- lexer: LexerConfig;
5
- parser: ParserConfig;
6
- }
1
+ import type { LexerConfig } from '../lexer/types';
2
+ import type { ParserConfig } from '../parser/types';
3
+ export interface LanguageConfig {
4
+ lexer: LexerConfig;
5
+ parser: ParserConfig;
6
+ }
7
7
  //# sourceMappingURL=types.d.ts.map
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=types.js.map
@@ -1,7 +1,7 @@
1
- import type { BracketOption, StatesMap } from './types';
2
- export declare function isBracketKey(key: string): boolean;
3
- export declare function isLeftKey(key: string): boolean;
4
- export declare function isRightKey(key: string): boolean;
5
- export declare function getCounterpartBracketKey(rightKey: string): string | undefined;
6
- export declare function configBrackets(states: StatesMap, opts: BracketOption[]): StatesMap;
1
+ import type { BracketOption, StatesMap } from './types';
2
+ export declare function isBracketKey(key: string): boolean;
3
+ export declare function isLeftKey(key: string): boolean;
4
+ export declare function isRightKey(key: string): boolean;
5
+ export declare function getCounterpartBracketKey(rightKey: string): string | undefined;
6
+ export declare function configBrackets(states: StatesMap, opts: BracketOption[]): StatesMap;
7
7
  //# sourceMappingURL=bracket.d.ts.map
@@ -1,58 +1,58 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.configBrackets = exports.getCounterpartBracketKey = exports.isRightKey = exports.isLeftKey = exports.isBracketKey = void 0;
4
- function isBracketKey(key) {
5
- return key.startsWith('bracket$');
6
- }
7
- exports.isBracketKey = isBracketKey;
8
- function isLeftKey(key) {
9
- return key.endsWith('$left');
10
- }
11
- exports.isLeftKey = isLeftKey;
12
- function isRightKey(key) {
13
- return key.endsWith('$right');
14
- }
15
- exports.isRightKey = isRightKey;
16
- function getCounterpartBracketKey(rightKey) {
17
- const [tokenName, idx, side] = rightKey.split('$');
18
- const sides = new Set(['left', 'right']);
19
- let result;
20
- if (tokenName === 'bracket' && typeof side === 'string' && sides.has(side)) {
21
- sides.delete(side);
22
- const [counterpart] = [...sides];
23
- result = [tokenName, idx, counterpart].join('$');
24
- }
25
- return result;
26
- }
27
- exports.getCounterpartBracketKey = getCounterpartBracketKey;
28
- function configBrackets(states, opts) {
29
- const bracketDefs = {};
30
- opts.forEach((option, idx) => {
31
- const tokenKey = `bracket$${idx}`;
32
- const leftTokenKey = `${tokenKey}$left`;
33
- const leftTokenRule = {
34
- t: 'string',
35
- type: leftTokenKey,
36
- match: option.startsWith,
37
- chunk: option.startsWith,
38
- };
39
- const rightTokenKey = `${tokenKey}$right`;
40
- const rightTokenRule = {
41
- t: 'string',
42
- type: rightTokenKey,
43
- match: option.endsWith,
44
- chunk: option.endsWith,
45
- };
46
- bracketDefs[leftTokenKey] = leftTokenRule;
47
- bracketDefs[rightTokenKey] = rightTokenRule;
48
- });
49
- return {
50
- ...states,
51
- $: {
52
- ...states.$,
53
- ...bracketDefs,
54
- },
55
- };
56
- }
57
- exports.configBrackets = configBrackets;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.configBrackets = exports.getCounterpartBracketKey = exports.isRightKey = exports.isLeftKey = exports.isBracketKey = void 0;
4
+ function isBracketKey(key) {
5
+ return key.startsWith('bracket$');
6
+ }
7
+ exports.isBracketKey = isBracketKey;
8
+ function isLeftKey(key) {
9
+ return key.endsWith('$left');
10
+ }
11
+ exports.isLeftKey = isLeftKey;
12
+ function isRightKey(key) {
13
+ return key.endsWith('$right');
14
+ }
15
+ exports.isRightKey = isRightKey;
16
+ function getCounterpartBracketKey(rightKey) {
17
+ const [tokenName, idx, side] = rightKey.split('$');
18
+ const sides = new Set(['left', 'right']);
19
+ let result;
20
+ if (tokenName === 'bracket' && typeof side === 'string' && sides.has(side)) {
21
+ sides.delete(side);
22
+ const [counterpart] = [...sides];
23
+ result = [tokenName, idx, counterpart].join('$');
24
+ }
25
+ return result;
26
+ }
27
+ exports.getCounterpartBracketKey = getCounterpartBracketKey;
28
+ function configBrackets(states, opts) {
29
+ const bracketDefs = {};
30
+ opts.forEach((option, idx) => {
31
+ const tokenKey = `bracket$${idx}`;
32
+ const leftTokenKey = `${tokenKey}$left`;
33
+ const leftTokenRule = {
34
+ t: 'string',
35
+ type: leftTokenKey,
36
+ match: option.startsWith,
37
+ chunk: option.startsWith,
38
+ };
39
+ const rightTokenKey = `${tokenKey}$right`;
40
+ const rightTokenRule = {
41
+ t: 'string',
42
+ type: rightTokenKey,
43
+ match: option.endsWith,
44
+ chunk: option.endsWith,
45
+ };
46
+ bracketDefs[leftTokenKey] = leftTokenRule;
47
+ bracketDefs[rightTokenKey] = rightTokenRule;
48
+ });
49
+ return {
50
+ ...states,
51
+ $: {
52
+ ...states.$,
53
+ ...bracketDefs,
54
+ },
55
+ };
56
+ }
57
+ exports.configBrackets = configBrackets;
58
58
  //# sourceMappingURL=bracket.js.map
@@ -1,4 +1,4 @@
1
- import type { CommentOption, StatesMap } from './types';
2
- export declare function esc(input: string): string;
3
- export declare function configComments(states: StatesMap, opts: CommentOption[]): StatesMap;
1
+ import type { CommentOption, StatesMap } from './types';
2
+ export declare function esc(input: string): string;
3
+ export declare function configComments(states: StatesMap, opts: CommentOption[]): StatesMap;
4
4
  //# sourceMappingURL=comment.d.ts.map
@@ -1,45 +1,45 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.configComments = exports.esc = void 0;
4
- function esc(input) {
5
- return input.replace(/[.*+\-?^${}()|[\]\\]/g, '\\$&');
6
- }
7
- exports.esc = esc;
8
- function configComments(states, opts) {
9
- const commentRules = {};
10
- opts.forEach((option, idx) => {
11
- const tokenName = `comment$${idx}`;
12
- const start = esc(option.startsWith);
13
- if (option.type === 'line-comment') {
14
- const anyChars = '.*?';
15
- const rule = {
16
- t: 'regex',
17
- type: tokenName,
18
- match: new RegExp(`${start}${anyChars}$`),
19
- chunk: option.startsWith,
20
- };
21
- commentRules[tokenName] = rule;
22
- }
23
- else if (option.type === 'multiline-comment') {
24
- const anyChars = '[^]*?';
25
- const end = esc(option.endsWith);
26
- const rule = {
27
- t: 'regex',
28
- type: tokenName,
29
- match: new RegExp(`${start}${anyChars}${end}`),
30
- lineBreaks: true,
31
- chunk: option.startsWith,
32
- };
33
- commentRules[tokenName] = rule;
34
- }
35
- });
36
- return {
37
- ...states,
38
- $: {
39
- ...states.$,
40
- ...commentRules,
41
- },
42
- };
43
- }
44
- exports.configComments = configComments;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.configComments = exports.esc = void 0;
4
+ function esc(input) {
5
+ return input.replace(/[.*+\-?^${}()|[\]\\]/g, '\\$&');
6
+ }
7
+ exports.esc = esc;
8
+ function configComments(states, opts) {
9
+ const commentRules = {};
10
+ opts.forEach((option, idx) => {
11
+ const tokenName = `comment$${idx}`;
12
+ const start = esc(option.startsWith);
13
+ if (option.type === 'line-comment') {
14
+ const anyChars = '.*?';
15
+ const rule = {
16
+ t: 'regex',
17
+ type: tokenName,
18
+ match: new RegExp(`${start}${anyChars}$`),
19
+ chunk: option.startsWith,
20
+ };
21
+ commentRules[tokenName] = rule;
22
+ }
23
+ else if (option.type === 'multiline-comment') {
24
+ const anyChars = '[^]*?';
25
+ const end = esc(option.endsWith);
26
+ const rule = {
27
+ t: 'regex',
28
+ type: tokenName,
29
+ match: new RegExp(`${start}${anyChars}${end}`),
30
+ lineBreaks: true,
31
+ chunk: option.startsWith,
32
+ };
33
+ commentRules[tokenName] = rule;
34
+ }
35
+ });
36
+ return {
37
+ ...states,
38
+ $: {
39
+ ...states.$,
40
+ ...commentRules,
41
+ },
42
+ };
43
+ }
44
+ exports.configComments = configComments;
45
45
  //# sourceMappingURL=comment.js.map
@@ -1,6 +1,6 @@
1
- import type { Lexer, LexerConfig, OrderedStatesMap } from './types';
2
- export * from './token';
3
- export * from './types';
4
- export declare function configureLexerRules(lexerConfig: LexerConfig): OrderedStatesMap;
5
- export declare function createLexer(options: LexerConfig): Lexer;
1
+ import type { Lexer, LexerConfig, OrderedStatesMap } from './types';
2
+ export * from './token';
3
+ export * from './types';
4
+ export declare function configureLexerRules(lexerConfig: LexerConfig): OrderedStatesMap;
5
+ export declare function createLexer(options: LexerConfig): Lexer;
6
6
  //# sourceMappingURL=index.d.ts.map