skir 0.0.1 → 0.0.2

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