skir 0.0.1 → 0.0.3

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 (115) hide show
  1. package/dist/casing.d.ts +1 -4
  2. package/dist/casing.d.ts.map +1 -1
  3. package/dist/casing.js +0 -29
  4. package/dist/casing.js.map +1 -1
  5. package/dist/casing.test.js +2 -13
  6. package/dist/casing.test.js.map +1 -1
  7. package/dist/command_line_parser.d.ts +3 -3
  8. package/dist/command_line_parser.d.ts.map +1 -1
  9. package/dist/command_line_parser.js +35 -38
  10. package/dist/command_line_parser.js.map +1 -1
  11. package/dist/command_line_parser.test.js +73 -78
  12. package/dist/command_line_parser.test.js.map +1 -1
  13. package/dist/compatibility_checker.d.ts +9 -3
  14. package/dist/compatibility_checker.d.ts.map +1 -1
  15. package/dist/compatibility_checker.js +17 -4
  16. package/dist/compatibility_checker.js.map +1 -1
  17. package/dist/compatibility_checker.test.js +55 -1
  18. package/dist/compatibility_checker.test.js.map +1 -1
  19. package/dist/compiler.js +34 -17
  20. package/dist/compiler.js.map +1 -1
  21. package/dist/config.d.ts +5 -35
  22. package/dist/config.d.ts.map +1 -1
  23. package/dist/definition_finder.d.ts +1 -1
  24. package/dist/definition_finder.d.ts.map +1 -1
  25. package/dist/doc_comment_parser.d.ts +3 -0
  26. package/dist/doc_comment_parser.d.ts.map +1 -0
  27. package/dist/doc_comment_parser.js +223 -0
  28. package/dist/doc_comment_parser.js.map +1 -0
  29. package/dist/doc_comment_parser.test.d.ts +2 -0
  30. package/dist/doc_comment_parser.test.d.ts.map +1 -0
  31. package/dist/doc_comment_parser.test.js +496 -0
  32. package/dist/doc_comment_parser.test.js.map +1 -0
  33. package/dist/error_renderer.d.ts +1 -1
  34. package/dist/error_renderer.d.ts.map +1 -1
  35. package/dist/error_renderer.js +84 -65
  36. package/dist/error_renderer.js.map +1 -1
  37. package/dist/formatter.d.ts +15 -2
  38. package/dist/formatter.d.ts.map +1 -1
  39. package/dist/formatter.js +191 -234
  40. package/dist/formatter.js.map +1 -1
  41. package/dist/formatter.test.js +322 -88
  42. package/dist/formatter.test.js.map +1 -1
  43. package/dist/index.d.ts +1 -5
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +1 -4
  46. package/dist/index.js.map +1 -1
  47. package/dist/language_server.js +1 -1
  48. package/dist/language_server.js.map +1 -1
  49. package/dist/literals.d.ts +1 -2
  50. package/dist/literals.d.ts.map +1 -1
  51. package/dist/literals.js +1 -12
  52. package/dist/literals.js.map +1 -1
  53. package/dist/literals.test.js +1 -4
  54. package/dist/literals.test.js.map +1 -1
  55. package/dist/module_set.d.ts +3 -7
  56. package/dist/module_set.d.ts.map +1 -1
  57. package/dist/module_set.js +205 -51
  58. package/dist/module_set.js.map +1 -1
  59. package/dist/module_set.test.js +595 -28
  60. package/dist/module_set.test.js.map +1 -1
  61. package/dist/parser.d.ts +3 -4
  62. package/dist/parser.d.ts.map +1 -1
  63. package/dist/parser.js +186 -92
  64. package/dist/parser.js.map +1 -1
  65. package/dist/parser.test.js +243 -15
  66. package/dist/parser.test.js.map +1 -1
  67. package/dist/project_initializer.d.ts +2 -0
  68. package/dist/project_initializer.d.ts.map +1 -0
  69. package/dist/project_initializer.js +30 -0
  70. package/dist/project_initializer.js.map +1 -0
  71. package/dist/snapshotter.d.ts +3 -0
  72. package/dist/snapshotter.d.ts.map +1 -1
  73. package/dist/snapshotter.js +43 -6
  74. package/dist/snapshotter.js.map +1 -1
  75. package/dist/tokenizer.d.ts +8 -2
  76. package/dist/tokenizer.d.ts.map +1 -1
  77. package/dist/tokenizer.js +26 -20
  78. package/dist/tokenizer.js.map +1 -1
  79. package/dist/tokenizer.test.js +285 -269
  80. package/dist/tokenizer.test.js.map +1 -1
  81. package/package.json +7 -5
  82. package/src/casing.ts +1 -36
  83. package/src/command_line_parser.ts +42 -48
  84. package/src/compatibility_checker.ts +29 -7
  85. package/src/compiler.ts +35 -18
  86. package/src/definition_finder.ts +1 -1
  87. package/src/doc_comment_parser.ts +251 -0
  88. package/src/error_renderer.ts +90 -66
  89. package/src/formatter.ts +249 -238
  90. package/src/index.ts +0 -6
  91. package/src/language_server.ts +8 -8
  92. package/src/literals.ts +5 -14
  93. package/src/module_set.ts +259 -79
  94. package/src/parser.ts +214 -98
  95. package/src/project_initializer.ts +39 -0
  96. package/src/snapshotter.ts +46 -5
  97. package/src/tokenizer.ts +47 -25
  98. package/dist/encoding.d.ts +0 -2
  99. package/dist/encoding.d.ts.map +0 -1
  100. package/dist/encoding.js +0 -38
  101. package/dist/encoding.js.map +0 -1
  102. package/dist/encoding.test.d.ts +0 -2
  103. package/dist/encoding.test.d.ts.map +0 -1
  104. package/dist/encoding.test.js +0 -23
  105. package/dist/encoding.test.js.map +0 -1
  106. package/dist/index.test.d.ts +0 -2
  107. package/dist/index.test.d.ts.map +0 -1
  108. package/dist/index.test.js +0 -14
  109. package/dist/index.test.js.map +0 -1
  110. package/dist/types.d.ts +0 -375
  111. package/dist/types.d.ts.map +0 -1
  112. package/dist/types.js +0 -2
  113. package/dist/types.js.map +0 -1
  114. package/src/encoding.ts +0 -32
  115. package/src/types.ts +0 -518
@@ -0,0 +1,223 @@
1
+ import { assert } from "node:console";
2
+ export function parseDocComments(docComments) {
3
+ const parser = new DocCommentsParser(docComments);
4
+ return parser.parse();
5
+ }
6
+ class DocCommentsParser {
7
+ constructor(docComments) {
8
+ this.docComments = docComments;
9
+ this.pieces = [];
10
+ this.errors = [];
11
+ this.currentText = "";
12
+ this.docCommentIndex = -1;
13
+ this.charIndex = -1;
14
+ this.contentOffset = -1;
15
+ }
16
+ parse() {
17
+ while (this.nextDocComment()) {
18
+ this.parseCurrentDocComment();
19
+ }
20
+ // Add any remaining text
21
+ if (this.currentText.length > 0) {
22
+ this.pieces.push({ kind: "text", text: this.currentText });
23
+ }
24
+ const text = this.docComments
25
+ .map((c) => c.text.slice(c.text.startsWith("/// ") ? 4 : 3))
26
+ .join("\n");
27
+ return {
28
+ result: {
29
+ text: text,
30
+ pieces: this.pieces,
31
+ },
32
+ errors: this.errors,
33
+ };
34
+ }
35
+ parseCurrentDocComment() {
36
+ // Matches unescaped [ or ], OR escaped [[ or ]]
37
+ const specialCharRegex = /\[\[|\]\]|\[|\]/g;
38
+ while (this.charIndex < this.content.length) {
39
+ // Find next special character or escaped bracket
40
+ specialCharRegex.lastIndex = this.charIndex;
41
+ const match = specialCharRegex.exec(this.content);
42
+ if (!match) {
43
+ // No more special characters, add rest as text
44
+ this.currentText += this.content.slice(this.charIndex);
45
+ break;
46
+ }
47
+ // Add text before the special character
48
+ if (match.index > this.charIndex) {
49
+ this.currentText += this.content.slice(this.charIndex, match.index);
50
+ }
51
+ const matched = match[0];
52
+ this.charIndex = match.index;
53
+ if (matched === "[[") {
54
+ // Escaped left bracket
55
+ this.currentText += "[";
56
+ this.charIndex += 2;
57
+ }
58
+ else if (matched === "]]") {
59
+ // Escaped right bracket
60
+ this.currentText += "]";
61
+ this.charIndex += 2;
62
+ }
63
+ else if (matched === "[") {
64
+ // Start of a reference - save current text if any
65
+ if (this.currentText.length > 0) {
66
+ this.pieces.push({ kind: "text", text: this.currentText });
67
+ this.currentText = "";
68
+ }
69
+ // Parse the reference
70
+ const reference = this.parseReference();
71
+ this.pieces.push(reference);
72
+ }
73
+ else if (matched === "]") {
74
+ // Unmatched right bracket - treat as text
75
+ this.currentText += matched;
76
+ this.charIndex++;
77
+ }
78
+ }
79
+ // Add newline between comment lines (except after the last line)
80
+ if (this.docCommentIndex < this.docComments.length - 1) {
81
+ this.currentText += "\n";
82
+ }
83
+ }
84
+ parseReference() {
85
+ const { content, docComment } = this;
86
+ const leftBracketCharIndex = this.charIndex;
87
+ const startPosition = docComment.position + leftBracketCharIndex;
88
+ const rightBracketCharIndex = content.indexOf("]", leftBracketCharIndex);
89
+ // End position: right after the closing bracket or at end of the line if
90
+ // not found.
91
+ const endCharIndex = rightBracketCharIndex < 0 ? content.length : rightBracketCharIndex + 1;
92
+ const referenceText = content.slice(leftBracketCharIndex, endCharIndex);
93
+ const referenceRange = {
94
+ text: referenceText,
95
+ originalText: referenceText,
96
+ position: startPosition,
97
+ line: docComment.line,
98
+ colNumber: startPosition - docComment.line.position,
99
+ };
100
+ let hasError = false;
101
+ if (rightBracketCharIndex < 0) {
102
+ hasError = true;
103
+ this.errors.push({
104
+ token: referenceRange,
105
+ message: "Unterminated reference",
106
+ });
107
+ }
108
+ // Move past the left bracket
109
+ this.charIndex++;
110
+ const wordRegex = /[a-zA-Z][_a-zA-Z0-9]*/g;
111
+ const tokens = [];
112
+ while (this.charIndex < endCharIndex) {
113
+ const char = content[this.charIndex];
114
+ const position = docComment.position + this.charIndex;
115
+ const makeToken = (text) => ({
116
+ text: text,
117
+ originalText: text,
118
+ position: position,
119
+ line: docComment.line,
120
+ colNumber: position - docComment.line.position,
121
+ });
122
+ if (char === ".") {
123
+ // Dot token
124
+ tokens.push(makeToken("."));
125
+ this.charIndex++;
126
+ }
127
+ else if (/^[a-zA-Z]/.test(char)) {
128
+ // Start of a word token - use regex to match the whole word
129
+ wordRegex.lastIndex = this.charIndex;
130
+ const match = wordRegex.exec(content);
131
+ const word = match[0];
132
+ tokens.push(makeToken(word));
133
+ this.charIndex += word.length;
134
+ }
135
+ else if (char === "]") {
136
+ // Reached the end of the reference
137
+ tokens.push(makeToken("]"));
138
+ this.charIndex++;
139
+ }
140
+ else {
141
+ // Invalid character in reference (including whitespace)
142
+ const column = this.docComment.colNumber + this.charIndex;
143
+ hasError = true;
144
+ this.errors.push({
145
+ token: referenceRange,
146
+ message: `Invalid character in reference at column ${column + 1}`,
147
+ });
148
+ // Exit loop
149
+ this.charIndex = endCharIndex;
150
+ }
151
+ }
152
+ const nameChain = hasError ? [] : this.parseNameChain(tokens);
153
+ return {
154
+ kind: "reference",
155
+ nameChain: nameChain,
156
+ absolute: tokens[0]?.text === ".",
157
+ referee: undefined,
158
+ docComment: this.docComment,
159
+ referenceRange: referenceRange,
160
+ };
161
+ }
162
+ parseNameChain(tokens) {
163
+ const nameChain = [];
164
+ let expect = "identifier or '.'";
165
+ for (const token of tokens) {
166
+ let expected;
167
+ if (/^[a-zA-Z]/.test(token.text)) {
168
+ expected = expect === "identifier or '.'" || expect === "identifier";
169
+ expect = "'.' or ']'";
170
+ nameChain.push(token);
171
+ }
172
+ else if (token.text === ".") {
173
+ expected = expect === "identifier or '.'" || expect === "'.' or ']'";
174
+ expect = "identifier";
175
+ }
176
+ else {
177
+ assert(token.text === "]");
178
+ expected = expect === "'.' or ']'";
179
+ }
180
+ if (!expected) {
181
+ this.errors.push({
182
+ token: token,
183
+ expected: expect,
184
+ });
185
+ return [];
186
+ }
187
+ if (token.text === "]") {
188
+ return nameChain;
189
+ }
190
+ }
191
+ // An error has already been pushed to signify the unterminated reference.
192
+ return [];
193
+ }
194
+ /// The current doc comment being parsed.
195
+ get docComment() {
196
+ return this.docComments[this.docCommentIndex];
197
+ }
198
+ /// The text of the current doc comment being parsed.
199
+ get content() {
200
+ return this.docComment.text;
201
+ }
202
+ nextDocComment() {
203
+ if (this.docCommentIndex < this.docComments.length - 1) {
204
+ this.docCommentIndex++;
205
+ const { content } = this;
206
+ if (content.startsWith("/// ")) {
207
+ this.contentOffset = 4;
208
+ }
209
+ else if (content.startsWith("///")) {
210
+ this.contentOffset = 3;
211
+ }
212
+ else {
213
+ throw new Error("Expected doc comment to start with ///");
214
+ }
215
+ this.charIndex = this.contentOffset;
216
+ return true;
217
+ }
218
+ else {
219
+ return false;
220
+ }
221
+ }
222
+ }
223
+ //# sourceMappingURL=doc_comment_parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doc_comment_parser.js","sourceRoot":"","sources":["../src/doc_comment_parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=doc_comment_parser.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doc_comment_parser.test.d.ts","sourceRoot":"","sources":["../src/doc_comment_parser.test.ts"],"names":[],"mappings":""}