skir 0.0.1
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/README.md +447 -0
- package/dist/casing.d.ts +8 -0
- package/dist/casing.d.ts.map +1 -0
- package/dist/casing.js +49 -0
- package/dist/casing.js.map +1 -0
- package/dist/casing.test.d.ts +2 -0
- package/dist/casing.test.d.ts.map +1 -0
- package/dist/casing.test.js +134 -0
- package/dist/casing.test.js.map +1 -0
- package/dist/command_line_parser.d.ts +33 -0
- package/dist/command_line_parser.d.ts.map +1 -0
- package/dist/command_line_parser.js +171 -0
- package/dist/command_line_parser.js.map +1 -0
- package/dist/command_line_parser.test.d.ts +2 -0
- package/dist/command_line_parser.test.d.ts.map +1 -0
- package/dist/command_line_parser.test.js +302 -0
- package/dist/command_line_parser.test.js.map +1 -0
- package/dist/compatibility_checker.d.ts +68 -0
- package/dist/compatibility_checker.d.ts.map +1 -0
- package/dist/compatibility_checker.js +328 -0
- package/dist/compatibility_checker.js.map +1 -0
- package/dist/compatibility_checker.test.d.ts +2 -0
- package/dist/compatibility_checker.test.d.ts.map +1 -0
- package/dist/compatibility_checker.test.js +528 -0
- package/dist/compatibility_checker.test.js.map +1 -0
- package/dist/compiler.d.ts +3 -0
- package/dist/compiler.d.ts.map +1 -0
- package/dist/compiler.js +358 -0
- package/dist/compiler.js.map +1 -0
- package/dist/config.d.ts +47 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +23 -0
- package/dist/config.js.map +1 -0
- package/dist/definition_finder.d.ts +12 -0
- package/dist/definition_finder.d.ts.map +1 -0
- package/dist/definition_finder.js +180 -0
- package/dist/definition_finder.js.map +1 -0
- package/dist/definition_finder.test.d.ts +2 -0
- package/dist/definition_finder.test.d.ts.map +1 -0
- package/dist/definition_finder.test.js +164 -0
- package/dist/definition_finder.test.js.map +1 -0
- package/dist/encoding.d.ts +2 -0
- package/dist/encoding.d.ts.map +1 -0
- package/dist/encoding.js +38 -0
- package/dist/encoding.js.map +1 -0
- package/dist/encoding.test.d.ts +2 -0
- package/dist/encoding.test.d.ts.map +1 -0
- package/dist/encoding.test.js +23 -0
- package/dist/encoding.test.js.map +1 -0
- package/dist/error_renderer.d.ts +10 -0
- package/dist/error_renderer.d.ts.map +1 -0
- package/dist/error_renderer.js +247 -0
- package/dist/error_renderer.js.map +1 -0
- package/dist/formatter.d.ts +3 -0
- package/dist/formatter.d.ts.map +1 -0
- package/dist/formatter.js +263 -0
- package/dist/formatter.js.map +1 -0
- package/dist/formatter.test.d.ts +2 -0
- package/dist/formatter.test.d.ts.map +1 -0
- package/dist/formatter.test.js +156 -0
- package/dist/formatter.test.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/index.test.d.ts +2 -0
- package/dist/index.test.d.ts.map +1 -0
- package/dist/index.test.js +14 -0
- package/dist/index.test.js.map +1 -0
- package/dist/io.d.ts +13 -0
- package/dist/io.d.ts.map +1 -0
- package/dist/io.js +22 -0
- package/dist/io.js.map +1 -0
- package/dist/language_server.d.ts +15 -0
- package/dist/language_server.d.ts.map +1 -0
- package/dist/language_server.js +248 -0
- package/dist/language_server.js.map +1 -0
- package/dist/literals.d.ts +13 -0
- package/dist/literals.d.ts.map +1 -0
- package/dist/literals.js +100 -0
- package/dist/literals.js.map +1 -0
- package/dist/literals.test.d.ts +2 -0
- package/dist/literals.test.d.ts.map +1 -0
- package/dist/literals.test.js +149 -0
- package/dist/literals.test.js.map +1 -0
- package/dist/module_collector.d.ts +3 -0
- package/dist/module_collector.d.ts.map +1 -0
- package/dist/module_collector.js +22 -0
- package/dist/module_collector.js.map +1 -0
- package/dist/module_set.d.ts +44 -0
- package/dist/module_set.d.ts.map +1 -0
- package/dist/module_set.js +1025 -0
- package/dist/module_set.js.map +1 -0
- package/dist/module_set.test.d.ts +2 -0
- package/dist/module_set.test.d.ts.map +1 -0
- package/dist/module_set.test.js +1330 -0
- package/dist/module_set.test.js.map +1 -0
- package/dist/parser.d.ts +6 -0
- package/dist/parser.d.ts.map +1 -0
- package/dist/parser.js +971 -0
- package/dist/parser.js.map +1 -0
- package/dist/parser.test.d.ts +2 -0
- package/dist/parser.test.d.ts.map +1 -0
- package/dist/parser.test.js +1366 -0
- package/dist/parser.test.js.map +1 -0
- package/dist/snapshotter.d.ts +6 -0
- package/dist/snapshotter.d.ts.map +1 -0
- package/dist/snapshotter.js +107 -0
- package/dist/snapshotter.js.map +1 -0
- package/dist/tokenizer.d.ts +4 -0
- package/dist/tokenizer.d.ts.map +1 -0
- package/dist/tokenizer.js +192 -0
- package/dist/tokenizer.js.map +1 -0
- package/dist/tokenizer.test.d.ts +2 -0
- package/dist/tokenizer.test.d.ts.map +1 -0
- package/dist/tokenizer.test.js +425 -0
- package/dist/tokenizer.test.js.map +1 -0
- package/dist/types.d.ts +375 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +63 -0
- package/src/casing.ts +64 -0
- package/src/command_line_parser.ts +249 -0
- package/src/compatibility_checker.ts +470 -0
- package/src/compiler.ts +435 -0
- package/src/config.ts +28 -0
- package/src/definition_finder.ts +221 -0
- package/src/encoding.ts +32 -0
- package/src/error_renderer.ts +278 -0
- package/src/formatter.ts +274 -0
- package/src/index.ts +6 -0
- package/src/io.ts +33 -0
- package/src/language_server.ts +301 -0
- package/src/literals.ts +120 -0
- package/src/module_collector.ts +22 -0
- package/src/module_set.ts +1175 -0
- package/src/parser.ts +1122 -0
- package/src/snapshotter.ts +136 -0
- package/src/tokenizer.ts +216 -0
- package/src/types.ts +518 -0
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
export function formatModule(tokens) {
|
|
2
|
+
const sink = new CodeSink();
|
|
3
|
+
let inValue = false;
|
|
4
|
+
let indentDepth = 0;
|
|
5
|
+
const iterator = new TokenIterator(tokens);
|
|
6
|
+
const copyInlineComments = () => {
|
|
7
|
+
while (iterator.hasNext() &&
|
|
8
|
+
isComment(iterator.peek().text) &&
|
|
9
|
+
iterator.peek().line.lineNumber === iterator.current.line.lineNumber) {
|
|
10
|
+
// Preserve comments before line break.
|
|
11
|
+
sink.write(" " + iterator.next().text);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
const breakLine = () => {
|
|
15
|
+
copyInlineComments();
|
|
16
|
+
const { lastLineOnlyHasWhitespaces } = sink;
|
|
17
|
+
if (iterator.hasNext()) {
|
|
18
|
+
const current = iterator.current;
|
|
19
|
+
const next = iterator.peek();
|
|
20
|
+
if (next.line.lineNumber >= current.line.lineNumber + 2) {
|
|
21
|
+
// Preserve double line breaks.
|
|
22
|
+
sink.write("\n");
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (!lastLineOnlyHasWhitespaces) {
|
|
26
|
+
sink.write("\n" + " ".repeat(indentDepth));
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
const breakLineAndIndent = () => {
|
|
30
|
+
++indentDepth;
|
|
31
|
+
breakLine();
|
|
32
|
+
};
|
|
33
|
+
const unindent = () => {
|
|
34
|
+
--indentDepth;
|
|
35
|
+
sink.removeWhitespaceSuffix(" ");
|
|
36
|
+
};
|
|
37
|
+
while (iterator.hasNext()) {
|
|
38
|
+
const token = iterator.next();
|
|
39
|
+
switch (token.text) {
|
|
40
|
+
case "as":
|
|
41
|
+
case "const":
|
|
42
|
+
case "enum":
|
|
43
|
+
case "import":
|
|
44
|
+
case "method":
|
|
45
|
+
case "struct":
|
|
46
|
+
case "*":
|
|
47
|
+
case ":": {
|
|
48
|
+
sink.write(token.text + " ");
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
case "from": {
|
|
52
|
+
sink.write(" from ");
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
case "removed": {
|
|
56
|
+
if (iterator.hasNext() && iterator.peek().text === ";") {
|
|
57
|
+
sink.write("removed");
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
sink.write("removed ");
|
|
61
|
+
}
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
case "{": {
|
|
65
|
+
if (iterator.hasNext() && iterator.peek().text === "}") {
|
|
66
|
+
sink.write(inValue ? "{}" : " {}");
|
|
67
|
+
iterator.next();
|
|
68
|
+
if (!inValue) {
|
|
69
|
+
breakLine();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
sink.write(inValue ? "{" : " {");
|
|
74
|
+
breakLineAndIndent();
|
|
75
|
+
}
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
case "{|": {
|
|
79
|
+
if (iterator.hasNext() && iterator.peek().text === "|}") {
|
|
80
|
+
sink.write(inValue ? "{||}" : " {||}");
|
|
81
|
+
iterator.next();
|
|
82
|
+
if (!inValue) {
|
|
83
|
+
breakLine();
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
sink.write(inValue ? "{|" : " {|");
|
|
88
|
+
breakLineAndIndent();
|
|
89
|
+
}
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
case "}": {
|
|
93
|
+
if (inValue) {
|
|
94
|
+
sink.maybeWriteTrailingComma();
|
|
95
|
+
breakLine();
|
|
96
|
+
}
|
|
97
|
+
unindent();
|
|
98
|
+
sink.write("}");
|
|
99
|
+
if (!inValue) {
|
|
100
|
+
breakLine();
|
|
101
|
+
}
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
case "|}": {
|
|
105
|
+
if (inValue) {
|
|
106
|
+
sink.maybeWriteTrailingComma();
|
|
107
|
+
breakLine();
|
|
108
|
+
}
|
|
109
|
+
unindent();
|
|
110
|
+
sink.write("|}");
|
|
111
|
+
if (!inValue) {
|
|
112
|
+
breakLine();
|
|
113
|
+
}
|
|
114
|
+
break;
|
|
115
|
+
}
|
|
116
|
+
case "[": {
|
|
117
|
+
if (iterator.hasNext() && iterator.peek().text === "]") {
|
|
118
|
+
sink.write("[]");
|
|
119
|
+
iterator.next();
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
sink.write("[");
|
|
123
|
+
if (inValue) {
|
|
124
|
+
breakLineAndIndent();
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
break;
|
|
128
|
+
}
|
|
129
|
+
case "]": {
|
|
130
|
+
if (inValue) {
|
|
131
|
+
sink.maybeWriteTrailingComma();
|
|
132
|
+
breakLine();
|
|
133
|
+
unindent();
|
|
134
|
+
}
|
|
135
|
+
sink.write("]");
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
case ";": {
|
|
139
|
+
sink.write(";");
|
|
140
|
+
inValue = false;
|
|
141
|
+
breakLine();
|
|
142
|
+
break;
|
|
143
|
+
}
|
|
144
|
+
case "=": {
|
|
145
|
+
inValue = true;
|
|
146
|
+
sink.write(" = ");
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
149
|
+
case ",": {
|
|
150
|
+
if (inValue) {
|
|
151
|
+
sink.write(",");
|
|
152
|
+
breakLine();
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
sink.write(", ");
|
|
156
|
+
}
|
|
157
|
+
break;
|
|
158
|
+
}
|
|
159
|
+
default: {
|
|
160
|
+
if (isComment(token.text)) {
|
|
161
|
+
sink.writeComment(token.text);
|
|
162
|
+
breakLine();
|
|
163
|
+
}
|
|
164
|
+
else if (token.text.startsWith("'")) {
|
|
165
|
+
const unescapedDoubleQuoteRegex = /(?:^|[^\\])(?:\\\\)*"/;
|
|
166
|
+
if (unescapedDoubleQuoteRegex.test(token.text)) {
|
|
167
|
+
sink.write(token.text);
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
// Switch to double quotes.
|
|
171
|
+
const unquoted = token.text.slice(1, -1);
|
|
172
|
+
sink.write(`"${unquoted}"`);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
sink.write(token.text);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
const result = sink.code;
|
|
182
|
+
if (indentDepth !== 0) {
|
|
183
|
+
throw new Error(`result=${result}`);
|
|
184
|
+
}
|
|
185
|
+
return result;
|
|
186
|
+
}
|
|
187
|
+
class TokenIterator {
|
|
188
|
+
constructor(tokens) {
|
|
189
|
+
this.tokens = tokens;
|
|
190
|
+
this.nextIndex = 0;
|
|
191
|
+
}
|
|
192
|
+
next() {
|
|
193
|
+
if (this.nextIndex < this.tokens.length) {
|
|
194
|
+
return this.tokens[this.nextIndex++];
|
|
195
|
+
}
|
|
196
|
+
throw new Error();
|
|
197
|
+
}
|
|
198
|
+
peek() {
|
|
199
|
+
if (this.nextIndex < this.tokens.length) {
|
|
200
|
+
return this.tokens[this.nextIndex];
|
|
201
|
+
}
|
|
202
|
+
throw new Error();
|
|
203
|
+
}
|
|
204
|
+
hasNext() {
|
|
205
|
+
return this.nextIndex < this.tokens.length;
|
|
206
|
+
}
|
|
207
|
+
get current() {
|
|
208
|
+
const index = this.nextIndex - 1;
|
|
209
|
+
if (index < this.tokens.length) {
|
|
210
|
+
return this.tokens[index];
|
|
211
|
+
}
|
|
212
|
+
throw new Error();
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
function isComment(token) {
|
|
216
|
+
return token.startsWith("//") || token.startsWith("/*");
|
|
217
|
+
}
|
|
218
|
+
class CodeSink {
|
|
219
|
+
constructor() {
|
|
220
|
+
this._code = "";
|
|
221
|
+
// Position after the last non-whitespace character which is not part of a
|
|
222
|
+
// comment.
|
|
223
|
+
this.endPosition = 0;
|
|
224
|
+
}
|
|
225
|
+
/** Writes a token possibly preceded or followed by whitespaces. */
|
|
226
|
+
write(text) {
|
|
227
|
+
const trimmed = text.trim();
|
|
228
|
+
if (trimmed && !isComment(trimmed)) {
|
|
229
|
+
this.endPosition = trimmed.endsWith(",")
|
|
230
|
+
? 0
|
|
231
|
+
: this.code.length + text.trimEnd().length;
|
|
232
|
+
}
|
|
233
|
+
this._code += text;
|
|
234
|
+
}
|
|
235
|
+
writeComment(text) {
|
|
236
|
+
if (this.lastLineOnlyHasWhitespaces) {
|
|
237
|
+
this._code += text;
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
this._code = this.code.trimEnd() + " " + text;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
maybeWriteTrailingComma() {
|
|
244
|
+
if (this.endPosition === 0) {
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
const { code } = this;
|
|
248
|
+
this._code =
|
|
249
|
+
code.slice(0, this.endPosition) + "," + code.slice(this.endPosition);
|
|
250
|
+
}
|
|
251
|
+
removeWhitespaceSuffix(suffix) {
|
|
252
|
+
if (this.code.endsWith(suffix)) {
|
|
253
|
+
this._code = this.code.slice(0, -suffix.length);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
get lastLineOnlyHasWhitespaces() {
|
|
257
|
+
return /^$|\n\s*$/.test(this.code);
|
|
258
|
+
}
|
|
259
|
+
get code() {
|
|
260
|
+
return this._code;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
//# sourceMappingURL=formatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatter.js","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatter.test.d.ts","sourceRoot":"","sources":["../src/formatter.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { expect } from "buckwheat";
|
|
2
|
+
import { describe, it } from "mocha";
|
|
3
|
+
import { formatModule } from "./formatter.js";
|
|
4
|
+
import { tokenizeModule } from "./tokenizer.js";
|
|
5
|
+
const UNFORMATTED_MODULE = `
|
|
6
|
+
/* module */ import A from 'module.skir'; import * as foo from 'module.skir';
|
|
7
|
+
|
|
8
|
+
struct Empty1 { }
|
|
9
|
+
struct Empty2 { //
|
|
10
|
+
} /*a*///
|
|
11
|
+
|
|
12
|
+
struct S1 {
|
|
13
|
+
a: int32;
|
|
14
|
+
|
|
15
|
+
//
|
|
16
|
+
/* aaa */
|
|
17
|
+
b: string;
|
|
18
|
+
removed;
|
|
19
|
+
|
|
20
|
+
enum E {
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// doc for
|
|
27
|
+
// s2
|
|
28
|
+
struct S2 {
|
|
29
|
+
a : int32=0 /* a */;
|
|
30
|
+
b : string=1;//
|
|
31
|
+
c:[[x|foo.a.kind]?] ?;
|
|
32
|
+
removed 5, 10-12, 13;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
enum E1 {
|
|
36
|
+
A;
|
|
37
|
+
B;
|
|
38
|
+
c: bool;
|
|
39
|
+
}
|
|
40
|
+
enum E2 {
|
|
41
|
+
A=1;
|
|
42
|
+
B=2;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
method M(Request):Response;
|
|
46
|
+
|
|
47
|
+
/* a */const CONST: [Type] = [
|
|
48
|
+
1, [], {}, {
|
|
49
|
+
"a" : true,
|
|
50
|
+
'n\\\\"': null,
|
|
51
|
+
'n\\"': null, // null
|
|
52
|
+
// c doc
|
|
53
|
+
'c': [] // c
|
|
54
|
+
},
|
|
55
|
+
{||}, {|
|
|
56
|
+
"a": true,
|
|
57
|
+
|}
|
|
58
|
+
];
|
|
59
|
+
|
|
60
|
+
struct S {
|
|
61
|
+
// a
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
struct S { // a
|
|
65
|
+
// b
|
|
66
|
+
/* c */} // d
|
|
67
|
+
|
|
68
|
+
// a
|
|
69
|
+
|
|
70
|
+
/* b */ // c
|
|
71
|
+
|
|
72
|
+
//d
|
|
73
|
+
`;
|
|
74
|
+
const EXPECTED_FORMATTED_MODULE = `/* module */
|
|
75
|
+
import A from "module.skir";
|
|
76
|
+
import * as foo from "module.skir";
|
|
77
|
+
|
|
78
|
+
struct Empty1 {}
|
|
79
|
+
struct Empty2 { //
|
|
80
|
+
} /*a*/ //
|
|
81
|
+
|
|
82
|
+
struct S1 {
|
|
83
|
+
a: int32;
|
|
84
|
+
|
|
85
|
+
//
|
|
86
|
+
/* aaa */
|
|
87
|
+
b: string;
|
|
88
|
+
removed;
|
|
89
|
+
|
|
90
|
+
enum E {}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// doc for
|
|
94
|
+
// s2
|
|
95
|
+
struct S2 {
|
|
96
|
+
a: int32 = 0 /* a */
|
|
97
|
+
;
|
|
98
|
+
b: string = 1; //
|
|
99
|
+
c: [[x|foo.a.kind]?]?;
|
|
100
|
+
removed 5, 10-12, 13;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
enum E1 {
|
|
104
|
+
A;
|
|
105
|
+
B;
|
|
106
|
+
c: bool;
|
|
107
|
+
}
|
|
108
|
+
enum E2 {
|
|
109
|
+
A = 1;
|
|
110
|
+
B = 2;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
method M(Request): Response;
|
|
114
|
+
|
|
115
|
+
/* a */
|
|
116
|
+
const CONST: [Type] = [
|
|
117
|
+
1,
|
|
118
|
+
[],
|
|
119
|
+
{},
|
|
120
|
+
{
|
|
121
|
+
"a": true,
|
|
122
|
+
'n\\\\"': null,
|
|
123
|
+
"n\\"": null, // null
|
|
124
|
+
// c doc
|
|
125
|
+
"c": [], // c
|
|
126
|
+
},
|
|
127
|
+
{||},
|
|
128
|
+
{|
|
|
129
|
+
"a": true,
|
|
130
|
+
|},
|
|
131
|
+
];
|
|
132
|
+
|
|
133
|
+
struct S {
|
|
134
|
+
// a
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
struct S { // a
|
|
138
|
+
// b
|
|
139
|
+
/* c */
|
|
140
|
+
} // d
|
|
141
|
+
|
|
142
|
+
// a
|
|
143
|
+
|
|
144
|
+
/* b */ // c
|
|
145
|
+
|
|
146
|
+
//d
|
|
147
|
+
`;
|
|
148
|
+
describe("formatModule", () => {
|
|
149
|
+
it("works", () => {
|
|
150
|
+
const tokens = tokenizeModule(UNFORMATTED_MODULE, "path/to/module", "keep-comments");
|
|
151
|
+
expect(tokens.errors).toMatch([]);
|
|
152
|
+
const formatted = formatModule(tokens.result);
|
|
153
|
+
expect(formatted).toMatch(EXPECTED_FORMATTED_MODULE);
|
|
154
|
+
});
|
|
155
|
+
});
|
|
156
|
+
//# sourceMappingURL=formatter.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatter.test.js","sourceRoot":"","sources":["../src/formatter.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoE1B,CAAC;AAEF,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyEjC,CAAC;AAEF,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACf,MAAM,MAAM,GAAG,cAAc,CAC3B,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,CAChB,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type * from "./types.js";
|
|
2
|
+
export { capitalize, convertCase } from "./casing.js";
|
|
3
|
+
export { encodeInt32 } from "./encoding.js";
|
|
4
|
+
export { unquoteAndUnescape } from "./literals.js";
|
|
5
|
+
export { simpleHash } from "./parser.js";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,YAAY,CAAC;AAEhC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { expect } from "buckwheat";
|
|
2
|
+
import { describe, it } from "mocha";
|
|
3
|
+
import * as exports from "./index.js";
|
|
4
|
+
describe("index.ts", () => {
|
|
5
|
+
it("exports the right symbols", () => {
|
|
6
|
+
// The actual logic is covered in other unit tests.
|
|
7
|
+
// Here we just want to make sure the right symbols are exported.
|
|
8
|
+
let _;
|
|
9
|
+
expect(exports.convertCase("foo", "lowerCamel", "UPPER_UNDERSCORE")).toBe("FOO");
|
|
10
|
+
expect(exports.capitalize("foo")).toBe("Foo");
|
|
11
|
+
expect(exports.unquoteAndUnescape('"foo"')).toBe("foo");
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=index.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AAEtC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,mDAAmD;QACnD,iEAAiE;QACjE,IAAI,CAAiB,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC,CAAC,IAAI,CACvE,KAAK,CACN,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/io.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface FileReader {
|
|
2
|
+
readTextFile(path: string): string | undefined;
|
|
3
|
+
}
|
|
4
|
+
export interface FileWriter {
|
|
5
|
+
writeTextFile(path: string, contents: string): void;
|
|
6
|
+
}
|
|
7
|
+
declare class RealFileSystem implements FileReader, FileWriter {
|
|
8
|
+
readTextFile(path: string): string | undefined;
|
|
9
|
+
writeTextFile(path: string, contents: string): void;
|
|
10
|
+
}
|
|
11
|
+
export declare const REAL_FILE_SYSTEM: RealFileSystem;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=io.d.ts.map
|
package/dist/io.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../src/io.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAChD;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACrD;AAED,cAAM,cAAe,YAAW,UAAU,EAAE,UAAU;IACpD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAgB9C,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;CAGpD;AAED,eAAO,MAAM,gBAAgB,gBAAuB,CAAC"}
|
package/dist/io.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as fs from "fs";
|
|
2
|
+
class RealFileSystem {
|
|
3
|
+
readTextFile(path) {
|
|
4
|
+
try {
|
|
5
|
+
return fs.readFileSync(path, "utf-8");
|
|
6
|
+
}
|
|
7
|
+
catch (error) {
|
|
8
|
+
if (error &&
|
|
9
|
+
typeof error === "object" &&
|
|
10
|
+
"code" in error &&
|
|
11
|
+
error.code === "ENOENT") {
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
throw error;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
writeTextFile(path, contents) {
|
|
18
|
+
fs.writeFileSync(path, contents, "utf-8");
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export const REAL_FILE_SYSTEM = new RealFileSystem();
|
|
22
|
+
//# sourceMappingURL=io.js.map
|
package/dist/io.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"io.js","sourceRoot":"","sources":["../src/io.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAUzB,MAAM,cAAc;IAClB,YAAY,CAAC,IAAY;QACvB,IAAI,CAAC;YACH,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IACE,KAAK;gBACL,OAAO,KAAK,KAAK,QAAQ;gBACzB,MAAM,IAAI,KAAK;gBACf,KAAK,CAAC,IAAI,KAAK,QAAQ,EACvB,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,aAAa,CAAC,IAAY,EAAE,QAAgB;QAC1C,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;CACF;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare class LanguageServerModuleSet {
|
|
2
|
+
private readonly rootPath;
|
|
3
|
+
constructor(rootPath: string);
|
|
4
|
+
setFileContent(uri: string, content: string): void;
|
|
5
|
+
deleteFile(uri: string): void;
|
|
6
|
+
private reassignModulesToWorkspaces;
|
|
7
|
+
private parseSkirConfig;
|
|
8
|
+
private parseSkirModule;
|
|
9
|
+
/** Finds the workspace which contains the given module URI. */
|
|
10
|
+
private findModuleWorkspace;
|
|
11
|
+
private reassigneModulesTimeout?;
|
|
12
|
+
private readonly moduleBundles;
|
|
13
|
+
private readonly workspaces;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=language_server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language_server.d.ts","sourceRoot":"","sources":["../src/language_server.ts"],"names":[],"mappings":"AAeA,qBAAa,uBAAuB;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM;IAE7C,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IA2BlD,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAuB7B,OAAO,CAAC,2BAA2B;IAoBnC,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,eAAe;IAmBvB,+DAA+D;IAC/D,OAAO,CAAC,mBAAmB;IA8B3B,OAAO,CAAC,uBAAuB,CAAC,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmC;IACjE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgC;CAC5D"}
|