@typespec/compiler 0.56.0-dev.1 → 0.56.0-dev.11
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/dist/manifest.js +2 -2
- package/dist/src/config/config-interpolation.js +4 -7
- package/dist/src/config/config-interpolation.js.map +1 -1
- package/dist/src/config/config-loader.js +5 -7
- package/dist/src/config/config-loader.js.map +1 -1
- package/dist/src/config/config-to-options.js +8 -10
- package/dist/src/config/config-to-options.js.map +1 -1
- package/dist/src/core/binder.js +8 -8
- package/dist/src/core/binder.js.map +1 -1
- package/dist/src/core/checker.d.ts.map +1 -1
- package/dist/src/core/checker.js +118 -174
- package/dist/src/core/checker.js.map +1 -1
- package/dist/src/core/cli/actions/compile/args.js +3 -6
- package/dist/src/core/cli/actions/compile/args.js.map +1 -1
- package/dist/src/core/cli/actions/compile/compile.js +2 -2
- package/dist/src/core/cli/actions/compile/compile.js.map +1 -1
- package/dist/src/core/cli/actions/compile/watch.js +1 -2
- package/dist/src/core/cli/actions/compile/watch.js.map +1 -1
- package/dist/src/core/cli/actions/info.js +1 -2
- package/dist/src/core/cli/actions/info.js.map +1 -1
- package/dist/src/core/cli/actions/vs.js +1 -2
- package/dist/src/core/cli/actions/vs.js.map +1 -1
- package/dist/src/core/cli/install-vsix.js +1 -2
- package/dist/src/core/cli/install-vsix.js.map +1 -1
- package/dist/src/core/cli/utils.js +7 -9
- package/dist/src/core/cli/utils.js.map +1 -1
- package/dist/src/core/decorator-utils.js +6 -12
- package/dist/src/core/decorator-utils.js.map +1 -1
- package/dist/src/core/deprecation.js +2 -3
- package/dist/src/core/deprecation.js.map +1 -1
- package/dist/src/core/diagnostic-creator.js +1 -2
- package/dist/src/core/diagnostic-creator.js.map +1 -1
- package/dist/src/core/entrypoint-resolution.js +1 -1
- package/dist/src/core/entrypoint-resolution.js.map +1 -1
- package/dist/src/core/external-error.js +4 -5
- package/dist/src/core/external-error.js.map +1 -1
- package/dist/src/core/formatter-fs.js +2 -2
- package/dist/src/core/formatter-fs.js.map +1 -1
- package/dist/src/core/helpers/discriminator-utils.js +2 -4
- package/dist/src/core/helpers/discriminator-utils.js.map +1 -1
- package/dist/src/core/helpers/operation-utils.js +1 -2
- package/dist/src/core/helpers/operation-utils.js.map +1 -1
- package/dist/src/core/helpers/type-name-utils.js +8 -11
- package/dist/src/core/helpers/type-name-utils.js.map +1 -1
- package/dist/src/core/helpers/usage-resolver.js +2 -4
- package/dist/src/core/helpers/usage-resolver.js.map +1 -1
- package/dist/src/core/install.js +1 -1
- package/dist/src/core/install.js.map +1 -1
- package/dist/src/core/library.js +2 -3
- package/dist/src/core/library.js.map +1 -1
- package/dist/src/core/linter.js +4 -7
- package/dist/src/core/linter.js.map +1 -1
- package/dist/src/core/logger/console-sink.js +2 -3
- package/dist/src/core/logger/console-sink.js.map +1 -1
- package/dist/src/core/logger/tracer.js +1 -1
- package/dist/src/core/logger/tracer.js.map +1 -1
- package/dist/src/core/module-resolver.js +3 -4
- package/dist/src/core/module-resolver.js.map +1 -1
- package/dist/src/core/numeric.d.ts +26 -0
- package/dist/src/core/numeric.d.ts.map +1 -0
- package/dist/src/core/numeric.js +171 -0
- package/dist/src/core/numeric.js.map +1 -0
- package/dist/src/core/parser.d.ts.map +1 -1
- package/dist/src/core/parser.js +14 -15
- package/dist/src/core/parser.js.map +1 -1
- package/dist/src/core/program.js +28 -37
- package/dist/src/core/program.js.map +1 -1
- package/dist/src/core/projection-members.js +2 -2
- package/dist/src/core/projection-members.js.map +1 -1
- package/dist/src/core/projector.js +3 -8
- package/dist/src/core/projector.js.map +1 -1
- package/dist/src/core/scanner.js +1 -1
- package/dist/src/core/scanner.js.map +1 -1
- package/dist/src/core/schema-validator.js +1 -2
- package/dist/src/core/schema-validator.js.map +1 -1
- package/dist/src/core/semantic-walker.js +2 -4
- package/dist/src/core/semantic-walker.js.map +1 -1
- package/dist/src/core/source-file.js +1 -1
- package/dist/src/core/source-file.js.map +1 -1
- package/dist/src/core/type-utils.js +2 -2
- package/dist/src/core/type-utils.js.map +1 -1
- package/dist/src/emitter-framework/asset-emitter.js +10 -14
- package/dist/src/emitter-framework/asset-emitter.js.map +1 -1
- package/dist/src/emitter-framework/builders/array-builder.js +7 -17
- package/dist/src/emitter-framework/builders/array-builder.js.map +1 -1
- package/dist/src/emitter-framework/builders/object-builder.js +1 -0
- package/dist/src/emitter-framework/builders/object-builder.js.map +1 -1
- package/dist/src/emitter-framework/builders/string-builder.js +23 -31
- package/dist/src/emitter-framework/builders/string-builder.js.map +1 -1
- package/dist/src/emitter-framework/custom-key-map.js +6 -19
- package/dist/src/emitter-framework/custom-key-map.js.map +1 -1
- package/dist/src/emitter-framework/placeholder.js +3 -12
- package/dist/src/emitter-framework/placeholder.js.map +1 -1
- package/dist/src/emitter-framework/ref-scope.js +1 -2
- package/dist/src/emitter-framework/ref-scope.js.map +1 -1
- package/dist/src/emitter-framework/reference-cycle.js +11 -19
- package/dist/src/emitter-framework/reference-cycle.js.map +1 -1
- package/dist/src/emitter-framework/type-emitter.js +1 -0
- package/dist/src/emitter-framework/type-emitter.js.map +1 -1
- package/dist/src/emitter-framework/types.js +10 -8
- package/dist/src/emitter-framework/types.js.map +1 -1
- package/dist/src/formatter/parser.js +4 -3
- package/dist/src/formatter/parser.js.map +1 -1
- package/dist/src/formatter/print/comment-handler.js +3 -4
- package/dist/src/formatter/print/comment-handler.js.map +1 -1
- package/dist/src/formatter/print/printer.js +5 -8
- package/dist/src/formatter/print/printer.js.map +1 -1
- package/dist/src/init/init.js +2 -2
- package/dist/src/init/init.js.map +1 -1
- package/dist/src/init/scaffold.js +11 -17
- package/dist/src/init/scaffold.js.map +1 -1
- package/dist/src/lib/decorators.d.ts.map +1 -1
- package/dist/src/lib/decorators.js +41 -37
- package/dist/src/lib/decorators.js.map +1 -1
- package/dist/src/lib/encoded-names.js +3 -5
- package/dist/src/lib/encoded-names.js.map +1 -1
- package/dist/src/lib/service.js +3 -5
- package/dist/src/lib/service.js.map +1 -1
- package/dist/src/server/compile-service.js +6 -7
- package/dist/src/server/compile-service.js.map +1 -1
- package/dist/src/server/completion.d.ts.map +1 -1
- package/dist/src/server/completion.js +15 -18
- package/dist/src/server/completion.js.map +1 -1
- package/dist/src/server/file-service.js +2 -4
- package/dist/src/server/file-service.js.map +1 -1
- package/dist/src/server/server.js +2 -4
- package/dist/src/server/server.js.map +1 -1
- package/dist/src/server/serverlib.d.ts.map +1 -1
- package/dist/src/server/serverlib.js +25 -34
- package/dist/src/server/serverlib.js.map +1 -1
- package/dist/src/server/symbol-structure.js +2 -4
- package/dist/src/server/symbol-structure.js.map +1 -1
- package/dist/src/server/type-details.js +5 -9
- package/dist/src/server/type-details.js.map +1 -1
- package/dist/src/server/type-signature.js +3 -4
- package/dist/src/server/type-signature.js.map +1 -1
- package/dist/src/server/update-manager.js +15 -28
- package/dist/src/server/update-manager.js.map +1 -1
- package/dist/src/testing/rule-tester.js +2 -3
- package/dist/src/testing/rule-tester.js.map +1 -1
- package/dist/src/testing/test-host.js +6 -6
- package/dist/src/testing/test-host.js.map +1 -1
- package/dist/src/testing/test-server-host.js +7 -11
- package/dist/src/testing/test-server-host.js.map +1 -1
- package/dist/src/testing/test-utils.js +5 -5
- package/dist/src/testing/test-utils.js.map +1 -1
- package/dist/src/testing/types.js +1 -0
- package/dist/src/testing/types.js.map +1 -1
- package/dist/src/utils/duplicate-tracker.js +4 -13
- package/dist/src/utils/duplicate-tracker.js.map +1 -1
- package/dist/src/utils/misc.js +53 -75
- package/dist/src/utils/misc.js.map +1 -1
- package/dist/src/yaml/diagnostics.js +4 -5
- package/dist/src/yaml/diagnostics.js.map +1 -1
- package/package.json +8 -12
- package/templates/emitter-ts/eslint.config.js +11 -0
- package/templates/library-ts/eslint.config.js +11 -0
- package/templates/scaffolding.json +4 -4
- package/templates/emitter-ts/.eslintrc.yml +0 -14
- package/templates/library-ts/.eslintrc.yml +0 -14
|
@@ -86,7 +86,7 @@ export function createCompileService({ compilerHost, serverHost, fileService, fi
|
|
|
86
86
|
return { ...defaultConfig, projectRoot: getDirectoryPath(mainFile) };
|
|
87
87
|
}
|
|
88
88
|
const cached = await fileSystemCache.get(configPath);
|
|
89
|
-
if (cached
|
|
89
|
+
if (cached?.data) {
|
|
90
90
|
return cached.data;
|
|
91
91
|
}
|
|
92
92
|
const config = await loadTypeSpecConfigFile(compilerHost, configPath);
|
|
@@ -94,12 +94,11 @@ export function createCompileService({ compilerHost, serverHost, fileService, fi
|
|
|
94
94
|
return config;
|
|
95
95
|
}
|
|
96
96
|
async function getScript(document) {
|
|
97
|
-
var _a, _b;
|
|
98
97
|
const file = await compilerHost.readFile(await fileService.getPath(document));
|
|
99
|
-
const cached =
|
|
98
|
+
const cached = compilerHost.parseCache?.get(file);
|
|
100
99
|
if (cached === undefined) {
|
|
101
100
|
const parsed = parse(file, { docs: true, comments: true });
|
|
102
|
-
|
|
101
|
+
compilerHost.parseCache?.set(file, parsed);
|
|
103
102
|
return parsed;
|
|
104
103
|
}
|
|
105
104
|
else {
|
|
@@ -132,12 +131,12 @@ export function createCompileService({ compilerHost, serverHost, fileService, fi
|
|
|
132
131
|
let pkg;
|
|
133
132
|
const pkgPath = joinPaths(dir, "package.json");
|
|
134
133
|
const cached = await fileSystemCache.get(pkgPath);
|
|
135
|
-
if (cached
|
|
134
|
+
if (cached?.data) {
|
|
136
135
|
pkg = cached.data;
|
|
137
136
|
}
|
|
138
137
|
else {
|
|
139
138
|
[pkg] = await loadFile(compilerHost, pkgPath, JSON.parse, logMainFileSearchDiagnostic, options);
|
|
140
|
-
await fileSystemCache.setData(pkgPath, pkg
|
|
139
|
+
await fileSystemCache.setData(pkgPath, pkg ?? {});
|
|
141
140
|
}
|
|
142
141
|
const tspMain = resolveTspMain(pkg);
|
|
143
142
|
if (typeof tspMain === "string") {
|
|
@@ -145,7 +144,7 @@ export function createCompileService({ compilerHost, serverHost, fileService, fi
|
|
|
145
144
|
}
|
|
146
145
|
const candidate = joinPaths(dir, mainFile);
|
|
147
146
|
const stat = await doIO(() => compilerHost.stat(candidate), candidate, logMainFileSearchDiagnostic, options);
|
|
148
|
-
if (stat
|
|
147
|
+
if (stat?.isFile()) {
|
|
149
148
|
return candidate;
|
|
150
149
|
}
|
|
151
150
|
const parentDir = getDirectoryPath(dir);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile-service.js","sourceRoot":"","sources":["../../../src/server/compile-service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"compile-service.js","sourceRoot":"","sources":["../../../src/server/compile-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../../src/server/completion.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,cAAc,EACd,gBAAgB,EAGjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAGL,IAAI,EAEJ,OAAO,EAKP,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAY1B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,gBAAgB,CAAC;IACzB,IAAI,EAAE,kBAAkB,CAAC;IACzB,WAAW,EAAE,cAAc,CAAC;CAC7B,CAAC;AAEF,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,IAAI,GAAG,SAAS,GACrB,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../../src/server/completion.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,cAAc,EACd,gBAAgB,EAGjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAGL,IAAI,EAEJ,OAAO,EAKP,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAY1B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,gBAAgB,CAAC;IACzB,IAAI,EAAE,kBAAkB,CAAC;IACzB,WAAW,EAAE,cAAc,CAAC;CAC7B,CAAC;AAEF,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,IAAI,GAAG,SAAS,GACrB,OAAO,CAAC,cAAc,CAAC,CA2BzB"}
|
|
@@ -6,17 +6,17 @@ import { printId } from "../formatter/print/printer.js";
|
|
|
6
6
|
import { findProjectRoot, loadFile, resolveTspMain } from "../utils/misc.js";
|
|
7
7
|
import { getSymbolDetails } from "./type-details.js";
|
|
8
8
|
export async function resolveCompletion(context, node) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
addKeywordCompletion("root", completions);
|
|
9
|
+
if (node === undefined ||
|
|
10
|
+
node.kind === SyntaxKind.InvalidStatement ||
|
|
11
|
+
(node.kind === SyntaxKind.Identifier &&
|
|
12
|
+
(node.parent?.kind === SyntaxKind.TypeSpecScript ||
|
|
13
|
+
node.parent?.kind === SyntaxKind.NamespaceStatement))) {
|
|
14
|
+
addKeywordCompletion("root", context.completions);
|
|
15
15
|
}
|
|
16
16
|
else {
|
|
17
17
|
switch (node.kind) {
|
|
18
18
|
case SyntaxKind.NamespaceStatement:
|
|
19
|
-
addKeywordCompletion("namespace", completions);
|
|
19
|
+
addKeywordCompletion("namespace", context.completions);
|
|
20
20
|
break;
|
|
21
21
|
case SyntaxKind.Identifier:
|
|
22
22
|
addDirectiveCompletion(context, node);
|
|
@@ -29,7 +29,7 @@ export async function resolveCompletion(context, node) {
|
|
|
29
29
|
break;
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
return completions;
|
|
32
|
+
return context.completions;
|
|
33
33
|
}
|
|
34
34
|
const keywords = [
|
|
35
35
|
// Root only
|
|
@@ -164,7 +164,6 @@ async function addRelativePathCompletion({ program, completions, file }, node) {
|
|
|
164
164
|
* Add completion options for an identifier.
|
|
165
165
|
*/
|
|
166
166
|
function addIdentifierCompletion({ program, completions }, node) {
|
|
167
|
-
var _a, _b, _c;
|
|
168
167
|
const result = program.checker.resolveCompletions(node);
|
|
169
168
|
if (result.size === 0) {
|
|
170
169
|
return;
|
|
@@ -172,7 +171,7 @@ function addIdentifierCompletion({ program, completions }, node) {
|
|
|
172
171
|
for (const [key, { sym, label, suffix }] of result) {
|
|
173
172
|
let kind;
|
|
174
173
|
let deprecated = false;
|
|
175
|
-
const type =
|
|
174
|
+
const type = sym.type ?? program.checker.getTypeForNode(sym.declarations[0]);
|
|
176
175
|
if (sym.flags & (131072 /* SymbolFlags.Function */ | 16384 /* SymbolFlags.Decorator */)) {
|
|
177
176
|
kind = CompletionItemKind.Function;
|
|
178
177
|
}
|
|
@@ -180,7 +179,7 @@ function addIdentifierCompletion({ program, completions }, node) {
|
|
|
180
179
|
sym.declarations[0].kind !== SyntaxKind.NamespaceStatement) {
|
|
181
180
|
kind = CompletionItemKind.Module;
|
|
182
181
|
}
|
|
183
|
-
else if (
|
|
182
|
+
else if (sym.declarations[0]?.kind === SyntaxKind.AliasStatement) {
|
|
184
183
|
kind = CompletionItemKind.Variable;
|
|
185
184
|
deprecated = getDeprecationDetails(program, sym.declarations[0]) !== undefined;
|
|
186
185
|
}
|
|
@@ -190,7 +189,7 @@ function addIdentifierCompletion({ program, completions }, node) {
|
|
|
190
189
|
}
|
|
191
190
|
const documentation = getSymbolDetails(program, sym);
|
|
192
191
|
const item = {
|
|
193
|
-
label: label
|
|
192
|
+
label: label ?? key,
|
|
194
193
|
documentation: documentation
|
|
195
194
|
? {
|
|
196
195
|
kind: MarkupKind.Markdown,
|
|
@@ -198,21 +197,20 @@ function addIdentifierCompletion({ program, completions }, node) {
|
|
|
198
197
|
}
|
|
199
198
|
: undefined,
|
|
200
199
|
kind,
|
|
201
|
-
insertText: printId(key) + (suffix
|
|
200
|
+
insertText: printId(key) + (suffix ?? ""),
|
|
202
201
|
};
|
|
203
202
|
if (deprecated) {
|
|
204
203
|
item.tags = [CompletionItemTag.Deprecated];
|
|
205
204
|
}
|
|
206
205
|
completions.items.push(item);
|
|
207
206
|
}
|
|
208
|
-
if (
|
|
207
|
+
if (node.parent?.kind === SyntaxKind.TypeReference) {
|
|
209
208
|
addKeywordCompletion("identifier", completions);
|
|
210
209
|
}
|
|
211
210
|
}
|
|
212
211
|
const directiveNames = ["suppress", "deprecated"];
|
|
213
212
|
function addDirectiveCompletion({ completions }, node) {
|
|
214
|
-
|
|
215
|
-
if (!(((_a = node.parent) === null || _a === void 0 ? void 0 : _a.kind) === SyntaxKind.DirectiveExpression && node.parent.target === node)) {
|
|
213
|
+
if (!(node.parent?.kind === SyntaxKind.DirectiveExpression && node.parent.target === node)) {
|
|
216
214
|
return;
|
|
217
215
|
}
|
|
218
216
|
for (const directive of directiveNames) {
|
|
@@ -223,8 +221,7 @@ function addDirectiveCompletion({ completions }, node) {
|
|
|
223
221
|
}
|
|
224
222
|
}
|
|
225
223
|
function getCompletionItemKind(program, target) {
|
|
226
|
-
|
|
227
|
-
switch ((_a = target.node) === null || _a === void 0 ? void 0 : _a.kind) {
|
|
224
|
+
switch (target.node?.kind) {
|
|
228
225
|
case SyntaxKind.EnumStatement:
|
|
229
226
|
case SyntaxKind.UnionStatement:
|
|
230
227
|
return CompletionItemKind.Enum;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../../src/server/completion.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,kBAAkB,EAClB,iBAAiB,EAGjB,UAAU,EACV,QAAQ,GACT,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAQL,UAAU,GAGX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EAChB,6BAA6B,EAC7B,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AASrD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAA0B,EAC1B,IAAsB;IAEtB,
|
|
1
|
+
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../../src/server/completion.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,11 +21,10 @@ export function createFileService({ serverHost }) {
|
|
|
21
21
|
* operation.
|
|
22
22
|
*/
|
|
23
23
|
function upToDate(document) {
|
|
24
|
-
var _a;
|
|
25
24
|
if (!("version" in document)) {
|
|
26
25
|
return true;
|
|
27
26
|
}
|
|
28
|
-
return document.version ===
|
|
27
|
+
return document.version === serverHost.getOpenDocumentByURL(document.uri)?.version;
|
|
29
28
|
}
|
|
30
29
|
async function fileURLToRealPath(url) {
|
|
31
30
|
return getNormalizedRealPath(compilerHost, compilerHost.fileURLToPath(url));
|
|
@@ -39,11 +38,10 @@ export function createFileService({ serverHost }) {
|
|
|
39
38
|
return path;
|
|
40
39
|
}
|
|
41
40
|
function getURL(path) {
|
|
42
|
-
var _a;
|
|
43
41
|
if (isUntitled(path)) {
|
|
44
42
|
return path;
|
|
45
43
|
}
|
|
46
|
-
return
|
|
44
|
+
return pathToURLMap.get(path) ?? compilerHost.pathToFileURL(path);
|
|
47
45
|
}
|
|
48
46
|
function getOpenDocument(path) {
|
|
49
47
|
const url = getURL(path);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-service.js","sourceRoot":"","sources":["../../../src/server/file-service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAkBzD,MAAM,UAAU,iBAAiB,CAAC,EAAE,UAAU,EAAsB;IAClE,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;IAC7C,0EAA0E;IAC1E,yEAAyE;IACzE,0EAA0E;IAC1E,0EAA0E;IAC1E,cAAc;IACd,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE/C,OAAO;QACL,QAAQ;QACR,iBAAiB;QACjB,OAAO;QACP,MAAM;QACN,eAAe;KAChB,CAAC;IAEF;;;;;OAKG;IACH,SAAS,QAAQ,CAAC,QAA+C
|
|
1
|
+
{"version":3,"file":"file-service.js","sourceRoot":"","sources":["../../../src/server/file-service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAkBzD,MAAM,UAAU,iBAAiB,CAAC,EAAE,UAAU,EAAsB;IAClE,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;IAC7C,0EAA0E;IAC1E,yEAAyE;IACzE,0EAA0E;IAC1E,0EAA0E;IAC1E,cAAc;IACd,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE/C,OAAO;QACL,QAAQ;QACR,iBAAiB;QACjB,OAAO;QACP,MAAM;QACN,eAAe;KAChB,CAAC;IAEF;;;;;OAKG;IACH,SAAS,QAAQ,CAAC,QAA+C;QAC/D,IAAI,CAAC,CAAC,SAAS,IAAI,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,QAAQ,CAAC,OAAO,KAAK,UAAU,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACrF,CAAC;IAED,KAAK,UAAU,iBAAiB,CAAC,GAAW;QAC1C,OAAO,qBAAqB,CAAC,YAAY,EAAE,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,UAAU,OAAO,CAAC,QAA+C;QACpE,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,QAAQ,CAAC,GAAG,CAAC;QACtB,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnD,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,MAAM,CAAC,IAAY;QAC1B,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,SAAS,eAAe,CAAC,IAAY;QACnC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChE,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,SAAiB;IACnC,OAAO,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -54,8 +54,7 @@ function main() {
|
|
|
54
54
|
profileSession.connect();
|
|
55
55
|
}
|
|
56
56
|
connection.onInitialize(async (params) => {
|
|
57
|
-
|
|
58
|
-
if ((_a = params.capabilities.workspace) === null || _a === void 0 ? void 0 : _a.workspaceFolders) {
|
|
57
|
+
if (params.capabilities.workspace?.workspaceFolders) {
|
|
59
58
|
clientHasWorkspaceFolderCapability = true;
|
|
60
59
|
}
|
|
61
60
|
return await s.initialize(params);
|
|
@@ -87,10 +86,9 @@ function main() {
|
|
|
87
86
|
connection.listen();
|
|
88
87
|
}
|
|
89
88
|
function fatalError(e) {
|
|
90
|
-
var _a;
|
|
91
89
|
// If we failed to send any log messages over LSP pipe, send them to
|
|
92
90
|
// stderr before exiting.
|
|
93
|
-
for (const pending of
|
|
91
|
+
for (const pending of server?.pendingMessages ?? []) {
|
|
94
92
|
// eslint-disable-next-line no-console
|
|
95
93
|
console.error(pending);
|
|
96
94
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/server/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAEL,gBAAgB,EAEhB,aAAa,EAEb,gBAAgB,GACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,IAAI,MAAM,GAAuB,SAAS,CAAC;AAE3C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;AAC3D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,MAAM,CAAC;AACpE,IAAI,cAA6C,CAAC;AAElD,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;AAC7C,IAAI,CAAC;IACH,IAAI,EAAE,CAAC;AACT,CAAC;AAAC,OAAO,CAAC,EAAE,CAAC;IACX,UAAU,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,IAAI;IACX,0EAA0E;IAC1E,wEAAwE;IACxE,gBAAgB;IAChB,MAAM,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAE7D,IAAI,kCAAkC,GAAG,KAAK,CAAC;IAC/C,MAAM,UAAU,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC;IAElD,MAAM,IAAI,GAAe;QACvB,YAAY,EAAE,QAAQ;QACtB,eAAe,CAAC,MAAgC;YAC9C,KAAK,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QACD,GAAG,CAAC,OAAe;YACjB,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QACD,oBAAoB,CAAC,GAAW;YAC9B,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QACD,SAAS,CAAC,WAAqD;YAC7D,OAAO,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACrD,CAAC;KACF,CAAC;IAEF,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,GAAG,CAAC,CAAC;IACX,CAAC,CAAC,GAAG,CAAC,6BAA6B,eAAe,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpC,IAAI,UAAU,EAAE,CAAC;QACf,CAAC,CAAC,GAAG,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAC;QAC3C,cAAc,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QACzC,cAAc,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/server/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverlib.d.ts","sourceRoot":"","sources":["../../../src/server/serverlib.ts"],"names":[],"mappings":"AAwFA,OAAO,EAGL,MAAM,EACN,UAAU,EAGX,MAAM,YAAY,CAAC;AAEpB,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"serverlib.d.ts","sourceRoot":"","sources":["../../../src/server/serverlib.ts"],"names":[],"mappings":"AAwFA,OAAO,EAGL,MAAM,EACN,UAAU,EAGX,MAAM,YAAY,CAAC;AAEpB,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAk3BrD"}
|
|
@@ -76,7 +76,6 @@ export function createServer(host) {
|
|
|
76
76
|
log,
|
|
77
77
|
};
|
|
78
78
|
async function initialize(params) {
|
|
79
|
-
var _a, _b;
|
|
80
79
|
const tokenLegend = {
|
|
81
80
|
tokenTypes: Object.keys(SemanticTokenKind)
|
|
82
81
|
.filter((x) => Number.isNaN(Number(x)))
|
|
@@ -114,8 +113,8 @@ export function createServer(host) {
|
|
|
114
113
|
commands: [Commands.APPLY_CODE_FIX],
|
|
115
114
|
},
|
|
116
115
|
};
|
|
117
|
-
if (
|
|
118
|
-
for (const w of
|
|
116
|
+
if (params.capabilities.workspace?.workspaceFolders) {
|
|
117
|
+
for (const w of params.workspaceFolders ?? []) {
|
|
119
118
|
workspaceFolders.push({
|
|
120
119
|
...w,
|
|
121
120
|
path: ensureTrailingDirectorySeparator(await fileService.fileURLToRealPath(w.uri)),
|
|
@@ -256,7 +255,6 @@ export function createServer(host) {
|
|
|
256
255
|
compileService.notifyChange(change.document);
|
|
257
256
|
}
|
|
258
257
|
async function reportDiagnostics({ program, document }) {
|
|
259
|
-
var _a, _b, _c;
|
|
260
258
|
currentDiagnosticIndex.clear();
|
|
261
259
|
// Group diagnostics by file.
|
|
262
260
|
//
|
|
@@ -267,7 +265,7 @@ export function createServer(host) {
|
|
|
267
265
|
const diagnosticMap = new Map();
|
|
268
266
|
diagnosticMap.set(document, []);
|
|
269
267
|
for (const each of program.sourceFiles.values()) {
|
|
270
|
-
const document =
|
|
268
|
+
const document = each.file?.document;
|
|
271
269
|
if (document) {
|
|
272
270
|
diagnosticMap.set(document, []);
|
|
273
271
|
}
|
|
@@ -275,7 +273,7 @@ export function createServer(host) {
|
|
|
275
273
|
for (const each of program.diagnostics) {
|
|
276
274
|
let diagDocument;
|
|
277
275
|
const location = getSourceLocation(each.target, { locateId: true });
|
|
278
|
-
if (location
|
|
276
|
+
if (location?.file) {
|
|
279
277
|
diagDocument = location.file.document;
|
|
280
278
|
}
|
|
281
279
|
else {
|
|
@@ -289,8 +287,8 @@ export function createServer(host) {
|
|
|
289
287
|
if (!diagDocument || !fileService.upToDate(diagDocument)) {
|
|
290
288
|
continue;
|
|
291
289
|
}
|
|
292
|
-
const start = diagDocument.positionAt(
|
|
293
|
-
const end = diagDocument.positionAt(
|
|
290
|
+
const start = diagDocument.positionAt(location?.pos ?? 0);
|
|
291
|
+
const end = diagDocument.positionAt(location?.end ?? 0);
|
|
294
292
|
const range = Range.create(start, end);
|
|
295
293
|
const severity = convertSeverity(each.severity);
|
|
296
294
|
const diagnostic = VSDiagnostic.create(range, each.message, severity, each.code, "TypeSpec");
|
|
@@ -314,7 +312,7 @@ export function createServer(host) {
|
|
|
314
312
|
}
|
|
315
313
|
const { program, document, script } = result;
|
|
316
314
|
const id = getNodeAtPosition(script, document.offsetAt(params.position));
|
|
317
|
-
const sym =
|
|
315
|
+
const sym = id?.kind === SyntaxKind.Identifier ? program.checker.resolveIdentifier(id) : undefined;
|
|
318
316
|
const markdown = {
|
|
319
317
|
kind: MarkupKind.Markdown,
|
|
320
318
|
value: sym ? getSymbolDetails(program, sym) : "",
|
|
@@ -347,7 +345,7 @@ export function createServer(host) {
|
|
|
347
345
|
}
|
|
348
346
|
function getSignatureHelpForTemplate(program, node, argumentIndex) {
|
|
349
347
|
const sym = program.checker.resolveIdentifier(node.target.kind === SyntaxKind.MemberExpression ? node.target.id : node.target);
|
|
350
|
-
const templateDeclNode = sym
|
|
348
|
+
const templateDeclNode = sym?.declarations[0];
|
|
351
349
|
if (!templateDeclNode ||
|
|
352
350
|
!("templateParameters" in templateDeclNode) ||
|
|
353
351
|
templateDeclNode.templateParameters.length === 0) {
|
|
@@ -467,18 +465,17 @@ export function createServer(host) {
|
|
|
467
465
|
return TextEdit.replace(Range.create(pos0, pos1), newText);
|
|
468
466
|
}
|
|
469
467
|
async function gotoDefinition(params) {
|
|
470
|
-
var _a;
|
|
471
468
|
const result = await compileService.compile(params.textDocument);
|
|
472
469
|
if (result === undefined) {
|
|
473
470
|
return [];
|
|
474
471
|
}
|
|
475
472
|
const node = getNodeAtPosition(result.script, result.document.offsetAt(params.position));
|
|
476
|
-
switch (node
|
|
473
|
+
switch (node?.kind) {
|
|
477
474
|
case SyntaxKind.Identifier:
|
|
478
475
|
const sym = result.program.checker.resolveIdentifier(node);
|
|
479
|
-
return getLocations(sym
|
|
476
|
+
return getLocations(sym?.declarations);
|
|
480
477
|
case SyntaxKind.StringLiteral:
|
|
481
|
-
if (
|
|
478
|
+
if (node.parent?.kind === SyntaxKind.ImportStatement) {
|
|
482
479
|
return [await getImportLocation(node.value, result.script)];
|
|
483
480
|
}
|
|
484
481
|
else {
|
|
@@ -499,10 +496,9 @@ export function createServer(host) {
|
|
|
499
496
|
const resolved = await resolveModule(host, importPath, {
|
|
500
497
|
baseDir: getDirectoryPath(currentFile.file.path),
|
|
501
498
|
resolveMain(pkg) {
|
|
502
|
-
var _a;
|
|
503
499
|
// this lets us follow node resolve semantics more-or-less exactly
|
|
504
500
|
// but using tspMain instead of main.
|
|
505
|
-
return
|
|
501
|
+
return resolveTspMain(pkg) ?? pkg.main;
|
|
506
502
|
},
|
|
507
503
|
});
|
|
508
504
|
return {
|
|
@@ -519,7 +515,7 @@ export function createServer(host) {
|
|
|
519
515
|
if (result) {
|
|
520
516
|
const { script, document, program } = result;
|
|
521
517
|
const node = getCompletionNodeAtPosition(script, document.offsetAt(params.position));
|
|
522
|
-
await resolveCompletion({
|
|
518
|
+
return await resolveCompletion({
|
|
523
519
|
program,
|
|
524
520
|
file: script,
|
|
525
521
|
completions,
|
|
@@ -537,13 +533,12 @@ export function createServer(host) {
|
|
|
537
533
|
return getLocations(identifiers);
|
|
538
534
|
}
|
|
539
535
|
async function prepareRename(params) {
|
|
540
|
-
var _a;
|
|
541
536
|
const result = await compileService.compile(params.textDocument);
|
|
542
537
|
if (result === undefined) {
|
|
543
538
|
return undefined;
|
|
544
539
|
}
|
|
545
540
|
const id = getNodeAtPosition(result.script, result.document.offsetAt(params.position));
|
|
546
|
-
return
|
|
541
|
+
return id?.kind === SyntaxKind.Identifier ? getLocation(id)?.range : undefined;
|
|
547
542
|
}
|
|
548
543
|
async function rename(params) {
|
|
549
544
|
const changes = {};
|
|
@@ -568,7 +563,7 @@ export function createServer(host) {
|
|
|
568
563
|
}
|
|
569
564
|
function findReferenceIdentifiers(program, file, pos, searchFiles = program.sourceFiles.values()) {
|
|
570
565
|
const id = getNodeAtPosition(file, pos);
|
|
571
|
-
if (
|
|
566
|
+
if (id?.kind !== SyntaxKind.Identifier) {
|
|
572
567
|
return [];
|
|
573
568
|
}
|
|
574
569
|
const sym = program.checker.resolveIdentifier(id);
|
|
@@ -580,7 +575,7 @@ export function createServer(host) {
|
|
|
580
575
|
visitChildren(searchFile, function visit(node) {
|
|
581
576
|
if (node.kind === SyntaxKind.Identifier) {
|
|
582
577
|
const s = program.checker.resolveIdentifier(node);
|
|
583
|
-
if (s === sym || (sym.type &&
|
|
578
|
+
if (s === sym || (sym.type && s?.type === sym.type)) {
|
|
584
579
|
references.push(node);
|
|
585
580
|
}
|
|
586
581
|
}
|
|
@@ -614,18 +609,17 @@ export function createServer(host) {
|
|
|
614
609
|
return builder.build();
|
|
615
610
|
}
|
|
616
611
|
async function getCodeActions(params) {
|
|
617
|
-
var _a, _b, _c;
|
|
618
612
|
const actions = [];
|
|
619
613
|
for (const vsDiag of params.context.diagnostics) {
|
|
620
|
-
const tspDiag = currentDiagnosticIndex.get(
|
|
614
|
+
const tspDiag = currentDiagnosticIndex.get(vsDiag.data?.id);
|
|
621
615
|
if (tspDiag === undefined || tspDiag.codefixes === undefined)
|
|
622
616
|
continue;
|
|
623
|
-
for (const fix of
|
|
617
|
+
for (const fix of tspDiag.codefixes ?? []) {
|
|
624
618
|
const codeAction = {
|
|
625
619
|
...CodeAction.create(fix.label, {
|
|
626
620
|
title: fix.label,
|
|
627
621
|
command: Commands.APPLY_CODE_FIX,
|
|
628
|
-
arguments: [params.textDocument.uri,
|
|
622
|
+
arguments: [params.textDocument.uri, vsDiag.data?.id, fix.id],
|
|
629
623
|
}, CodeActionKind.QuickFix),
|
|
630
624
|
diagnostics: [vsDiag],
|
|
631
625
|
};
|
|
@@ -635,12 +629,11 @@ export function createServer(host) {
|
|
|
635
629
|
return actions;
|
|
636
630
|
}
|
|
637
631
|
async function executeCommand(params) {
|
|
638
|
-
var _a, _b;
|
|
639
632
|
if (params.command === Commands.APPLY_CODE_FIX) {
|
|
640
|
-
const [documentUri, diagId, fixId] =
|
|
633
|
+
const [documentUri, diagId, fixId] = params.arguments ?? [];
|
|
641
634
|
if (documentUri && diagId && fixId) {
|
|
642
635
|
const diag = currentDiagnosticIndex.get(diagId);
|
|
643
|
-
const codeFix =
|
|
636
|
+
const codeFix = diag?.codefixes?.find((x) => x.id === fixId);
|
|
644
637
|
if (codeFix) {
|
|
645
638
|
const edits = await resolveCodeFix(codeFix);
|
|
646
639
|
const vsEdits = convertCodeFixEdits(edits);
|
|
@@ -665,8 +658,7 @@ export function createServer(host) {
|
|
|
665
658
|
sendDiagnostics(change.document, []);
|
|
666
659
|
}
|
|
667
660
|
function getLocations(targets) {
|
|
668
|
-
|
|
669
|
-
return (_a = targets === null || targets === void 0 ? void 0 : targets.map(getLocation).filter((x) => !!x)) !== null && _a !== void 0 ? _a : [];
|
|
661
|
+
return targets?.map(getLocation).filter((x) => !!x) ?? [];
|
|
670
662
|
}
|
|
671
663
|
function getLocation(target) {
|
|
672
664
|
const location = getSourceLocation(target);
|
|
@@ -754,10 +746,9 @@ export function createServer(host) {
|
|
|
754
746
|
}
|
|
755
747
|
}
|
|
756
748
|
async function stat(path) {
|
|
757
|
-
var _a;
|
|
758
749
|
// if we have an open document for the path or a cache entry, then we know
|
|
759
750
|
// it's a file and not a directory and needn't hit the disk.
|
|
760
|
-
if (fileService.getOpenDocument(path) || (
|
|
751
|
+
if (fileService.getOpenDocument(path) || (await fileSystemCache.get(path))?.type === "file") {
|
|
761
752
|
return {
|
|
762
753
|
isFile() {
|
|
763
754
|
return true;
|
|
@@ -771,7 +762,7 @@ export function createServer(host) {
|
|
|
771
762
|
}
|
|
772
763
|
function getSourceFileKind(path) {
|
|
773
764
|
const document = fileService.getOpenDocument(path);
|
|
774
|
-
if (
|
|
765
|
+
if (document?.languageId === "typespec") {
|
|
775
766
|
return "typespec";
|
|
776
767
|
}
|
|
777
768
|
return getSourceFileKindFromExt(path);
|
|
@@ -846,7 +837,7 @@ function getSignatureHelpArgumentIndex(script, node, position) {
|
|
|
846
837
|
*/
|
|
847
838
|
export function getCompletionNodeAtPosition(script, position, filter = (node) => true) {
|
|
848
839
|
const realNode = getNodeAtPosition(script, position, filter);
|
|
849
|
-
if (
|
|
840
|
+
if (realNode?.kind === SyntaxKind.StringLiteral) {
|
|
850
841
|
return realNode;
|
|
851
842
|
}
|
|
852
843
|
// If we're not immediately after an identifier character, then advance
|