@typespec/compiler 0.41.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.
- package/LICENSE +21 -0
- package/README.md +9 -0
- package/cmd/tsp-server.js +3 -0
- package/cmd/tsp.js +3 -0
- package/dist/cmd/runner.d.ts +9 -0
- package/dist/cmd/runner.d.ts.map +1 -0
- package/dist/cmd/runner.js +62 -0
- package/dist/cmd/runner.js.map +1 -0
- package/dist/config/config-interpolation.d.ts +11 -0
- package/dist/config/config-interpolation.d.ts.map +1 -0
- package/dist/config/config-interpolation.js +109 -0
- package/dist/config/config-interpolation.js.map +1 -0
- package/dist/config/config-loader.d.ts +25 -0
- package/dist/config/config-loader.d.ts.map +1 -0
- package/dist/config/config-loader.js +182 -0
- package/dist/config/config-loader.js.map +1 -0
- package/dist/config/config-schema.d.ts +4 -0
- package/dist/config/config-schema.d.ts.map +1 -0
- package/dist/config/config-schema.js +84 -0
- package/dist/config/config-schema.js.map +1 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +3 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/types.d.ts +79 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +2 -0
- package/dist/config/types.js.map +1 -0
- package/dist/core/binder.d.ts +29 -0
- package/dist/core/binder.d.ts.map +1 -0
- package/dist/core/binder.js +455 -0
- package/dist/core/binder.js.map +1 -0
- package/dist/core/charcode.d.ts +130 -0
- package/dist/core/charcode.d.ts.map +1 -0
- package/dist/core/charcode.js +115 -0
- package/dist/core/charcode.js.map +1 -0
- package/dist/core/checker.d.ts +138 -0
- package/dist/core/checker.d.ts.map +1 -0
- package/dist/core/checker.js +4070 -0
- package/dist/core/checker.js.map +1 -0
- package/dist/core/cli/args.d.ts +18 -0
- package/dist/core/cli/args.d.ts.map +1 -0
- package/dist/core/cli/args.js +108 -0
- package/dist/core/cli/args.js.map +1 -0
- package/dist/core/cli/cli.d.ts +2 -0
- package/dist/core/cli/cli.d.ts.map +1 -0
- package/dist/core/cli/cli.js +477 -0
- package/dist/core/cli/cli.js.map +1 -0
- package/dist/core/cli/index.d.ts +2 -0
- package/dist/core/cli/index.d.ts.map +1 -0
- package/dist/core/cli/index.js +2 -0
- package/dist/core/cli/index.js.map +1 -0
- package/dist/core/decorator-utils.d.ts +108 -0
- package/dist/core/decorator-utils.d.ts.map +1 -0
- package/dist/core/decorator-utils.js +326 -0
- package/dist/core/decorator-utils.js.map +1 -0
- package/dist/core/diagnostics.d.ts +93 -0
- package/dist/core/diagnostics.d.ts.map +1 -0
- package/dist/core/diagnostics.js +315 -0
- package/dist/core/diagnostics.js.map +1 -0
- package/dist/core/emitter-utils.d.ts +14 -0
- package/dist/core/emitter-utils.d.ts.map +1 -0
- package/dist/core/emitter-utils.js +16 -0
- package/dist/core/emitter-utils.js.map +1 -0
- package/dist/core/formatter-fs.d.ts +21 -0
- package/dist/core/formatter-fs.d.ts.map +1 -0
- package/dist/core/formatter-fs.js +79 -0
- package/dist/core/formatter-fs.js.map +1 -0
- package/dist/core/formatter.d.ts +10 -0
- package/dist/core/formatter.d.ts.map +1 -0
- package/dist/core/formatter.js +24 -0
- package/dist/core/formatter.js.map +1 -0
- package/dist/core/helpers/discriminator-utils.d.ts +14 -0
- package/dist/core/helpers/discriminator-utils.d.ts.map +1 -0
- package/dist/core/helpers/discriminator-utils.js +169 -0
- package/dist/core/helpers/discriminator-utils.js.map +1 -0
- package/dist/core/helpers/index.d.ts +6 -0
- package/dist/core/helpers/index.d.ts.map +1 -0
- package/dist/core/helpers/index.js +6 -0
- package/dist/core/helpers/index.js.map +1 -0
- package/dist/core/helpers/operation-utils.d.ts +15 -0
- package/dist/core/helpers/operation-utils.d.ts.map +1 -0
- package/dist/core/helpers/operation-utils.js +35 -0
- package/dist/core/helpers/operation-utils.js.map +1 -0
- package/dist/core/helpers/projected-names-utils.d.ts +20 -0
- package/dist/core/helpers/projected-names-utils.d.ts.map +1 -0
- package/dist/core/helpers/projected-names-utils.js +40 -0
- package/dist/core/helpers/projected-names-utils.js.map +1 -0
- package/dist/core/helpers/type-name-utils.d.ts +14 -0
- package/dist/core/helpers/type-name-utils.d.ts.map +1 -0
- package/dist/core/helpers/type-name-utils.js +122 -0
- package/dist/core/helpers/type-name-utils.js.map +1 -0
- package/dist/core/helpers/usage-resolver.d.ts +20 -0
- package/dist/core/helpers/usage-resolver.d.ts.map +1 -0
- package/dist/core/helpers/usage-resolver.js +108 -0
- package/dist/core/helpers/usage-resolver.js.map +1 -0
- package/dist/core/index.d.ts +26 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +26 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/install.d.ts +2 -0
- package/dist/core/install.d.ts.map +1 -0
- package/dist/core/install.js +26 -0
- package/dist/core/install.js.map +1 -0
- package/dist/core/library.d.ts +34 -0
- package/dist/core/library.d.ts.map +1 -0
- package/dist/core/library.js +100 -0
- package/dist/core/library.js.map +1 -0
- package/dist/core/logger/console-sink.browser.d.ts +4 -0
- package/dist/core/logger/console-sink.browser.d.ts.map +1 -0
- package/dist/core/logger/console-sink.browser.js +14 -0
- package/dist/core/logger/console-sink.browser.js.map +1 -0
- package/dist/core/logger/console-sink.d.ts +9 -0
- package/dist/core/logger/console-sink.d.ts.map +1 -0
- package/dist/core/logger/console-sink.js +81 -0
- package/dist/core/logger/console-sink.js.map +1 -0
- package/dist/core/logger/index.d.ts +3 -0
- package/dist/core/logger/index.d.ts.map +1 -0
- package/dist/core/logger/index.js +3 -0
- package/dist/core/logger/index.js.map +1 -0
- package/dist/core/logger/logger.d.ts +7 -0
- package/dist/core/logger/logger.d.ts.map +1 -0
- package/dist/core/logger/logger.js +32 -0
- package/dist/core/logger/logger.js.map +1 -0
- package/dist/core/logger/tracer.d.ts +3 -0
- package/dist/core/logger/tracer.d.ts.map +1 -0
- package/dist/core/logger/tracer.js +91 -0
- package/dist/core/logger/tracer.js.map +1 -0
- package/dist/core/manifest.d.ts +21 -0
- package/dist/core/manifest.d.ts.map +1 -0
- package/dist/core/manifest.js +8 -0
- package/dist/core/manifest.js.map +1 -0
- package/dist/core/messages.d.ts +2253 -0
- package/dist/core/messages.d.ts.map +1 -0
- package/dist/core/messages.js +749 -0
- package/dist/core/messages.js.map +1 -0
- package/dist/core/module-resolver.d.ts +84 -0
- package/dist/core/module-resolver.d.ts.map +1 -0
- package/dist/core/module-resolver.js +170 -0
- package/dist/core/module-resolver.js.map +1 -0
- package/dist/core/node-host.browser.d.ts +2 -0
- package/dist/core/node-host.browser.d.ts.map +1 -0
- package/dist/core/node-host.browser.js +2 -0
- package/dist/core/node-host.browser.js.map +1 -0
- package/dist/core/node-host.d.ts +7 -0
- package/dist/core/node-host.d.ts.map +1 -0
- package/dist/core/node-host.js +43 -0
- package/dist/core/node-host.js.map +1 -0
- package/dist/core/nonascii.d.ts +2 -0
- package/dist/core/nonascii.d.ts.map +1 -0
- package/dist/core/nonascii.js +712 -0
- package/dist/core/nonascii.js.map +1 -0
- package/dist/core/options.d.ts +46 -0
- package/dist/core/options.d.ts.map +1 -0
- package/dist/core/options.js +2 -0
- package/dist/core/options.js.map +1 -0
- package/dist/core/parser.d.ts +17 -0
- package/dist/core/parser.d.ts.map +1 -0
- package/dist/core/parser.js +2561 -0
- package/dist/core/parser.js.map +1 -0
- package/dist/core/path-utils.d.ts +193 -0
- package/dist/core/path-utils.d.ts.map +1 -0
- package/dist/core/path-utils.js +427 -0
- package/dist/core/path-utils.js.map +1 -0
- package/dist/core/program.d.ts +104 -0
- package/dist/core/program.d.ts.map +1 -0
- package/dist/core/program.js +898 -0
- package/dist/core/program.js.map +1 -0
- package/dist/core/projection-members.d.ts +8 -0
- package/dist/core/projection-members.d.ts.map +1 -0
- package/dist/core/projection-members.js +387 -0
- package/dist/core/projection-members.js.map +1 -0
- package/dist/core/projector.d.ts +26 -0
- package/dist/core/projector.d.ts.map +1 -0
- package/dist/core/projector.js +523 -0
- package/dist/core/projector.js.map +1 -0
- package/dist/core/scanner.d.ts +125 -0
- package/dist/core/scanner.d.ts.map +1 -0
- package/dist/core/scanner.js +1012 -0
- package/dist/core/scanner.js.map +1 -0
- package/dist/core/schema-validator.d.ts +6 -0
- package/dist/core/schema-validator.d.ts.map +1 -0
- package/dist/core/schema-validator.js +38 -0
- package/dist/core/schema-validator.js.map +1 -0
- package/dist/core/semantic-walker.d.ts +53 -0
- package/dist/core/semantic-walker.d.ts.map +1 -0
- package/dist/core/semantic-walker.js +355 -0
- package/dist/core/semantic-walker.js.map +1 -0
- package/dist/core/type-utils.d.ts +49 -0
- package/dist/core/type-utils.d.ts.map +1 -0
- package/dist/core/type-utils.js +95 -0
- package/dist/core/type-utils.js.map +1 -0
- package/dist/core/types.d.ts +1345 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +105 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/util.d.ts +150 -0
- package/dist/core/util.d.ts.map +1 -0
- package/dist/core/util.js +417 -0
- package/dist/core/util.js.map +1 -0
- package/dist/emitter-framework/asset-emitter.d.ts +5 -0
- package/dist/emitter-framework/asset-emitter.d.ts.map +1 -0
- package/dist/emitter-framework/asset-emitter.js +610 -0
- package/dist/emitter-framework/asset-emitter.js.map +1 -0
- package/dist/emitter-framework/builders/array-builder.d.ts +7 -0
- package/dist/emitter-framework/builders/array-builder.d.ts.map +1 -0
- package/dist/emitter-framework/builders/array-builder.js +45 -0
- package/dist/emitter-framework/builders/array-builder.js.map +1 -0
- package/dist/emitter-framework/builders/object-builder.d.ts +9 -0
- package/dist/emitter-framework/builders/object-builder.d.ts.map +1 -0
- package/dist/emitter-framework/builders/object-builder.js +30 -0
- package/dist/emitter-framework/builders/object-builder.js.map +1 -0
- package/dist/emitter-framework/builders/string-builder.d.ts +13 -0
- package/dist/emitter-framework/builders/string-builder.d.ts.map +1 -0
- package/dist/emitter-framework/builders/string-builder.js +98 -0
- package/dist/emitter-framework/builders/string-builder.js.map +1 -0
- package/dist/emitter-framework/custom-key-map.d.ts +29 -0
- package/dist/emitter-framework/custom-key-map.d.ts.map +1 -0
- package/dist/emitter-framework/custom-key-map.js +62 -0
- package/dist/emitter-framework/custom-key-map.js.map +1 -0
- package/dist/emitter-framework/index.d.ts +8 -0
- package/dist/emitter-framework/index.d.ts.map +1 -0
- package/dist/emitter-framework/index.js +8 -0
- package/dist/emitter-framework/index.js.map +1 -0
- package/dist/emitter-framework/placeholder.d.ts +12 -0
- package/dist/emitter-framework/placeholder.d.ts.map +1 -0
- package/dist/emitter-framework/placeholder.js +27 -0
- package/dist/emitter-framework/placeholder.js.map +1 -0
- package/dist/emitter-framework/type-emitter.d.ts +314 -0
- package/dist/emitter-framework/type-emitter.d.ts.map +1 -0
- package/dist/emitter-framework/type-emitter.js +612 -0
- package/dist/emitter-framework/type-emitter.js.map +1 -0
- package/dist/emitter-framework/types.d.ts +124 -0
- package/dist/emitter-framework/types.d.ts.map +1 -0
- package/dist/emitter-framework/types.js +39 -0
- package/dist/emitter-framework/types.js.map +1 -0
- package/dist/formatter/index.d.ts +11 -0
- package/dist/formatter/index.d.ts.map +1 -0
- package/dist/formatter/index.js +28 -0
- package/dist/formatter/index.js.map +1 -0
- package/dist/formatter/parser.d.ts +16 -0
- package/dist/formatter/parser.d.ts.map +1 -0
- package/dist/formatter/parser.js +23 -0
- package/dist/formatter/parser.js.map +1 -0
- package/dist/formatter/print/comment-handler.d.ts +7 -0
- package/dist/formatter/print/comment-handler.d.ts.map +1 -0
- package/dist/formatter/print/comment-handler.js +81 -0
- package/dist/formatter/print/comment-handler.js.map +1 -0
- package/dist/formatter/print/index.d.ts +3 -0
- package/dist/formatter/print/index.d.ts.map +1 -0
- package/dist/formatter/print/index.js +3 -0
- package/dist/formatter/print/index.js.map +1 -0
- package/dist/formatter/print/needs-parens.d.ts +10 -0
- package/dist/formatter/print/needs-parens.d.ts.map +1 -0
- package/dist/formatter/print/needs-parens.js +27 -0
- package/dist/formatter/print/needs-parens.js.map +1 -0
- package/dist/formatter/print/printer.d.ts +62 -0
- package/dist/formatter/print/printer.d.ts.map +1 -0
- package/dist/formatter/print/printer.js +1025 -0
- package/dist/formatter/print/printer.js.map +1 -0
- package/dist/formatter/print/types.d.ts +9 -0
- package/dist/formatter/print/types.d.ts.map +1 -0
- package/dist/formatter/print/types.js +2 -0
- package/dist/formatter/print/types.js.map +1 -0
- package/dist/init/index.d.ts +2 -0
- package/dist/init/index.d.ts.map +1 -0
- package/dist/init/index.js +2 -0
- package/dist/init/index.js.map +1 -0
- package/dist/init/init-template.d.ts +45 -0
- package/dist/init/init-template.d.ts.map +1 -0
- package/dist/init/init-template.js +45 -0
- package/dist/init/init-template.js.map +1 -0
- package/dist/init/init.d.ts +49 -0
- package/dist/init/init.d.ts.map +1 -0
- package/dist/init/init.js +224 -0
- package/dist/init/init.js.map +1 -0
- package/dist/lib/decorators.d.ts +222 -0
- package/dist/lib/decorators.d.ts.map +1 -0
- package/dist/lib/decorators.js +745 -0
- package/dist/lib/decorators.js.map +1 -0
- package/dist/lib/service.d.ts +38 -0
- package/dist/lib/service.d.ts.map +1 -0
- package/dist/lib/service.js +78 -0
- package/dist/lib/service.js.map +1 -0
- package/dist/manifest.js +4 -0
- package/dist/server/completion.d.ts +10 -0
- package/dist/server/completion.d.ts.map +1 -0
- package/dist/server/completion.js +207 -0
- package/dist/server/completion.js.map +1 -0
- package/dist/server/index.d.ts +3 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +3 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/language-config.d.ts +195 -0
- package/dist/server/language-config.d.ts.map +1 -0
- package/dist/server/language-config.js +102 -0
- package/dist/server/language-config.js.map +1 -0
- package/dist/server/server.d.ts +2 -0
- package/dist/server/server.d.ts.map +1 -0
- package/dist/server/server.js +131 -0
- package/dist/server/server.js.map +1 -0
- package/dist/server/serverlib.d.ts +72 -0
- package/dist/server/serverlib.d.ts.map +1 -0
- package/dist/server/serverlib.js +1034 -0
- package/dist/server/serverlib.js.map +1 -0
- package/dist/server/symbol-structure.d.ts +4 -0
- package/dist/server/symbol-structure.d.ts.map +1 -0
- package/dist/server/symbol-structure.js +121 -0
- package/dist/server/symbol-structure.js.map +1 -0
- package/dist/server/tmlanguage.d.ts +3 -0
- package/dist/server/tmlanguage.d.ts.map +1 -0
- package/dist/server/tmlanguage.js +713 -0
- package/dist/server/tmlanguage.js.map +1 -0
- package/dist/server/type-details.d.ts +11 -0
- package/dist/server/type-details.d.ts.map +1 -0
- package/dist/server/type-details.js +72 -0
- package/dist/server/type-details.js.map +1 -0
- package/dist/server/type-signature.d.ts +2 -0
- package/dist/server/type-signature.d.ts.map +1 -0
- package/dist/server/type-signature.js +108 -0
- package/dist/server/type-signature.js.map +1 -0
- package/dist/testing/expect.d.ts +49 -0
- package/dist/testing/expect.d.ts.map +1 -0
- package/dist/testing/expect.js +83 -0
- package/dist/testing/expect.js.map +1 -0
- package/dist/testing/index.d.ts +6 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +6 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/test-host.d.ts +14 -0
- package/dist/testing/test-host.d.ts.map +1 -0
- package/dist/testing/test-host.js +271 -0
- package/dist/testing/test-host.js.map +1 -0
- package/dist/testing/test-server-host.d.ts +39 -0
- package/dist/testing/test-server-host.d.ts.map +1 -0
- package/dist/testing/test-server-host.js +112 -0
- package/dist/testing/test-server-host.js.map +1 -0
- package/dist/testing/test-utils.d.ts +22 -0
- package/dist/testing/test-utils.d.ts.map +1 -0
- package/dist/testing/test-utils.js +60 -0
- package/dist/testing/test-utils.js.map +1 -0
- package/dist/testing/types.d.ts +69 -0
- package/dist/testing/types.d.ts.map +1 -0
- package/dist/testing/types.js +7 -0
- package/dist/testing/types.js.map +1 -0
- package/dist/typespec.tmLanguage +1760 -0
- package/lib/decorators.tsp +420 -0
- package/lib/lib.tsp +158 -0
- package/lib/main.tsp +4 -0
- package/lib/projected-names.tsp +94 -0
- package/lib/reflection.tsp +10 -0
- package/package.json +119 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeSpec Language configuration. Format: https://code.visualstudio.com/api/language-extensions/language-configuration-guide
|
|
3
|
+
*/
|
|
4
|
+
export const TypeSpecLanguageConfiguration = {
|
|
5
|
+
comments: {
|
|
6
|
+
lineComment: "//",
|
|
7
|
+
blockComment: ["/*", "*/"],
|
|
8
|
+
},
|
|
9
|
+
brackets: [
|
|
10
|
+
["{", "}"],
|
|
11
|
+
["[", "]"],
|
|
12
|
+
["(", ")"],
|
|
13
|
+
],
|
|
14
|
+
autoClosingPairs: [
|
|
15
|
+
{ open: "{", close: "}" },
|
|
16
|
+
{ open: "[", close: "]" },
|
|
17
|
+
{ open: "(", close: ")" },
|
|
18
|
+
// NOTE: autoclose for double quotes may interfere with typing """
|
|
19
|
+
{ open: '"', close: '"' },
|
|
20
|
+
{ open: "/**", close: " */", notIn: ["string"] },
|
|
21
|
+
],
|
|
22
|
+
surroundingPairs: [
|
|
23
|
+
{ open: "{", close: "}" },
|
|
24
|
+
{ open: "[", close: "]" },
|
|
25
|
+
{ open: "(", close: ")" },
|
|
26
|
+
{ open: '"', close: '"' },
|
|
27
|
+
],
|
|
28
|
+
// From https://github.com/Microsoft/vscode/blob/main/extensions/javascript/javascript-language-configuration.json
|
|
29
|
+
indentationRules: {
|
|
30
|
+
decreaseIndentPattern: {
|
|
31
|
+
pattern: "^((?!.*?/\\*).*\\*/)?\\s*[\\}\\]].*$",
|
|
32
|
+
},
|
|
33
|
+
increaseIndentPattern: {
|
|
34
|
+
pattern: "^((?!//).)*(\\{([^}\"'`/]*|(\\t|[ ])*//.*)|\\([^)\"'`/]*|\\[[^\\]\"'`/]*)$",
|
|
35
|
+
},
|
|
36
|
+
// e.g. * ...| or */| or *-----*/|
|
|
37
|
+
unIndentedLinePattern: {
|
|
38
|
+
pattern: "^(\\t|[ ])*[ ]\\*[^/]*\\*/\\s*$|^(\\t|[ ])*[ ]\\*/\\s*$|^(\\t|[ ])*[ ]\\*([ ]([^\\*]|\\*(?!/))*)?$",
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
onEnterRules: [
|
|
42
|
+
{
|
|
43
|
+
// e.g. /** | */
|
|
44
|
+
beforeText: {
|
|
45
|
+
pattern: "^\\s*/\\*\\*(?!/)([^\\*]|\\*(?!/))*$",
|
|
46
|
+
},
|
|
47
|
+
afterText: {
|
|
48
|
+
pattern: "^\\s*\\*/$",
|
|
49
|
+
},
|
|
50
|
+
action: {
|
|
51
|
+
indent: "indentOutdent",
|
|
52
|
+
appendText: " * ",
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
// e.g. /** ...|
|
|
57
|
+
beforeText: {
|
|
58
|
+
pattern: "^\\s*/\\*\\*(?!/)([^\\*]|\\*(?!/))*$",
|
|
59
|
+
},
|
|
60
|
+
action: {
|
|
61
|
+
indent: "none",
|
|
62
|
+
appendText: " * ",
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
// e.g. * ...|
|
|
67
|
+
beforeText: {
|
|
68
|
+
pattern: "^(\\t|[ ])*[ ]\\*([ ]([^\\*]|\\*(?!/))*)?$",
|
|
69
|
+
},
|
|
70
|
+
previousLineText: {
|
|
71
|
+
pattern: "(?=^(\\s*(/\\*\\*|\\*)).*)(?=(?!(\\s*\\*/)))",
|
|
72
|
+
},
|
|
73
|
+
action: {
|
|
74
|
+
indent: "none",
|
|
75
|
+
appendText: "* ",
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
// e.g. */|
|
|
80
|
+
beforeText: {
|
|
81
|
+
pattern: "^(\\t|[ ])*[ ]\\*/\\s*$",
|
|
82
|
+
},
|
|
83
|
+
action: {
|
|
84
|
+
indent: "none",
|
|
85
|
+
removeText: 1,
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
// e.g. *-----*/|
|
|
90
|
+
beforeText: {
|
|
91
|
+
pattern: "^(\\t|[ ])*[ ]\\*[^/]*\\*/\\s*$",
|
|
92
|
+
},
|
|
93
|
+
action: {
|
|
94
|
+
indent: "none",
|
|
95
|
+
removeText: 1,
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
],
|
|
99
|
+
};
|
|
100
|
+
/** @deprecated Use TypeSpecLanguageConfiguration */
|
|
101
|
+
export const CadlLanguageConfiguration = TypeSpecLanguageConfiguration;
|
|
102
|
+
//# sourceMappingURL=language-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-config.js","sourceRoot":"","sources":["../../server/language-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,QAAQ,EAAE;QACR,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;KAC3B;IACD,QAAQ,EAAE;QACR,CAAC,GAAG,EAAE,GAAG,CAAC;QACV,CAAC,GAAG,EAAE,GAAG,CAAC;QACV,CAAC,GAAG,EAAE,GAAG,CAAC;KACX;IACD,gBAAgB,EAAE;QAChB,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;QACzB,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;QACzB,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;QACzB,kEAAkE;QAClE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;QACzB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE;KACjD;IACD,gBAAgB,EAAE;QAChB,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;QACzB,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;QACzB,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;QACzB,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;KAC1B;IACD,kHAAkH;IAClH,gBAAgB,EAAE;QAChB,qBAAqB,EAAE;YACrB,OAAO,EAAE,sCAAsC;SAChD;QACD,qBAAqB,EAAE;YACrB,OAAO,EAAE,4EAA4E;SACtF;QACD,mCAAmC;QACnC,qBAAqB,EAAE;YACrB,OAAO,EACL,oGAAoG;SACvG;KACF;IACD,YAAY,EAAE;QACZ;YACE,gBAAgB;YAChB,UAAU,EAAE;gBACV,OAAO,EAAE,sCAAsC;aAChD;YACD,SAAS,EAAE;gBACT,OAAO,EAAE,YAAY;aACtB;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,eAAe;gBACvB,UAAU,EAAE,KAAK;aAClB;SACF;QACD;YACE,gBAAgB;YAChB,UAAU,EAAE;gBACV,OAAO,EAAE,sCAAsC;aAChD;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,MAAM;gBACd,UAAU,EAAE,KAAK;aAClB;SACF;QACD;YACE,eAAe;YACf,UAAU,EAAE;gBACV,OAAO,EAAE,4CAA4C;aACtD;YACD,gBAAgB,EAAE;gBAChB,OAAO,EAAE,8CAA8C;aACxD;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,MAAM;gBACd,UAAU,EAAE,IAAI;aACjB;SACF;QACD;YACE,YAAY;YACZ,UAAU,EAAE;gBACV,OAAO,EAAE,yBAAyB;aACnC;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,MAAM;gBACd,UAAU,EAAE,CAAC;aACd;SACF;QACD;YACE,kBAAkB;YAClB,UAAU,EAAE;gBACV,OAAO,EAAE,iCAAiC;aAC3C;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,MAAM;gBACd,UAAU,EAAE,CAAC;aACd;SACF;KACF;CACO,CAAC;AAEX,oDAAoD;AACpD,MAAM,CAAC,MAAM,yBAAyB,GAAG,6BAA6B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../server/server.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { Console } from "console";
|
|
2
|
+
import { writeFile } from "fs/promises";
|
|
3
|
+
import inspector from "inspector";
|
|
4
|
+
import mkdirp from "mkdirp";
|
|
5
|
+
import { join } from "path";
|
|
6
|
+
import { fileURLToPath } from "url";
|
|
7
|
+
import { TextDocument } from "vscode-languageserver-textdocument";
|
|
8
|
+
import { createConnection, ProposedFeatures, TextDocuments, } from "vscode-languageserver/node.js";
|
|
9
|
+
import { NodeHost } from "../core/node-host.js";
|
|
10
|
+
import { typespecVersion } from "../core/util.js";
|
|
11
|
+
import { createServer } from "./serverlib.js";
|
|
12
|
+
let server = undefined;
|
|
13
|
+
const profileDir = process.env.TYPESPEC_SERVER_PROFILE_DIR;
|
|
14
|
+
const logTiming = process.env.TYPESPEC_SERVER_LOG_TIMING === "true";
|
|
15
|
+
let profileSession;
|
|
16
|
+
process.on("unhandledRejection", fatalError);
|
|
17
|
+
try {
|
|
18
|
+
main();
|
|
19
|
+
}
|
|
20
|
+
catch (e) {
|
|
21
|
+
fatalError(e);
|
|
22
|
+
}
|
|
23
|
+
function main() {
|
|
24
|
+
// Redirect all console stdout output to stderr since LSP pipe uses stdout
|
|
25
|
+
// and writing to stdout for anything other than LSP protocol will break
|
|
26
|
+
// things badly.
|
|
27
|
+
global.console = new Console(process.stderr, process.stderr);
|
|
28
|
+
let clientHasWorkspaceFolderCapability = false;
|
|
29
|
+
const connection = createConnection(ProposedFeatures.all);
|
|
30
|
+
const documents = new TextDocuments(TextDocument);
|
|
31
|
+
const host = {
|
|
32
|
+
compilerHost: NodeHost,
|
|
33
|
+
sendDiagnostics(params) {
|
|
34
|
+
void connection.sendDiagnostics(params);
|
|
35
|
+
},
|
|
36
|
+
log(message) {
|
|
37
|
+
connection.console.log(message);
|
|
38
|
+
},
|
|
39
|
+
getOpenDocumentByURL(url) {
|
|
40
|
+
return documents.get(url);
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
const s = createServer(host);
|
|
44
|
+
server = s;
|
|
45
|
+
s.log(`TypeSpec language server v${typespecVersion}`);
|
|
46
|
+
s.log("Module", fileURLToPath(import.meta.url));
|
|
47
|
+
s.log("Process ID", process.pid);
|
|
48
|
+
s.log("Command Line", process.argv);
|
|
49
|
+
if (profileDir) {
|
|
50
|
+
s.log("CPU profiling enabled", profileDir);
|
|
51
|
+
profileSession = new inspector.Session();
|
|
52
|
+
profileSession.connect();
|
|
53
|
+
}
|
|
54
|
+
connection.onInitialize(async (params) => {
|
|
55
|
+
var _a;
|
|
56
|
+
if ((_a = params.capabilities.workspace) === null || _a === void 0 ? void 0 : _a.workspaceFolders) {
|
|
57
|
+
clientHasWorkspaceFolderCapability = true;
|
|
58
|
+
}
|
|
59
|
+
return await s.initialize(params);
|
|
60
|
+
});
|
|
61
|
+
connection.onInitialized((params) => {
|
|
62
|
+
if (clientHasWorkspaceFolderCapability) {
|
|
63
|
+
connection.workspace.onDidChangeWorkspaceFolders(s.workspaceFoldersChanged);
|
|
64
|
+
}
|
|
65
|
+
s.initialized(params);
|
|
66
|
+
});
|
|
67
|
+
connection.onDocumentFormatting(profile(s.formatDocument));
|
|
68
|
+
connection.onDidChangeWatchedFiles(profile(s.watchedFilesChanged));
|
|
69
|
+
connection.onDefinition(profile(s.gotoDefinition));
|
|
70
|
+
connection.onCompletion(profile(s.complete));
|
|
71
|
+
connection.onReferences(profile(s.findReferences));
|
|
72
|
+
connection.onRenameRequest(profile(s.rename));
|
|
73
|
+
connection.onPrepareRename(profile(s.prepareRename));
|
|
74
|
+
connection.onFoldingRanges(profile(s.getFoldingRanges));
|
|
75
|
+
connection.onDocumentSymbol(profile(s.getDocumentSymbols));
|
|
76
|
+
connection.onDocumentHighlight(profile(s.findDocumentHighlight));
|
|
77
|
+
connection.onHover(profile(s.getHover));
|
|
78
|
+
connection.onSignatureHelp(profile(s.getSignatureHelp));
|
|
79
|
+
connection.languages.semanticTokens.on(profile(s.buildSemanticTokens));
|
|
80
|
+
documents.onDidChangeContent(profile(s.checkChange));
|
|
81
|
+
documents.onDidClose(profile(s.documentClosed));
|
|
82
|
+
documents.listen(connection);
|
|
83
|
+
connection.listen();
|
|
84
|
+
}
|
|
85
|
+
function fatalError(e) {
|
|
86
|
+
var _a;
|
|
87
|
+
// If we failed to send any log messages over LSP pipe, send them to
|
|
88
|
+
// stderr before exiting.
|
|
89
|
+
for (const pending of (_a = server === null || server === void 0 ? void 0 : server.pendingMessages) !== null && _a !== void 0 ? _a : []) {
|
|
90
|
+
// eslint-disable-next-line no-console
|
|
91
|
+
console.error(pending);
|
|
92
|
+
}
|
|
93
|
+
// eslint-disable-next-line no-console
|
|
94
|
+
console.error(e);
|
|
95
|
+
process.exit(1);
|
|
96
|
+
}
|
|
97
|
+
function profile(func) {
|
|
98
|
+
const name = func.name;
|
|
99
|
+
if (logTiming) {
|
|
100
|
+
func = time(func);
|
|
101
|
+
}
|
|
102
|
+
if (!profileDir) {
|
|
103
|
+
return func;
|
|
104
|
+
}
|
|
105
|
+
return (async (...args) => {
|
|
106
|
+
profileSession.post("Profiler.enable", () => {
|
|
107
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
108
|
+
profileSession.post("Profiler.start", async () => {
|
|
109
|
+
const ret = await func.apply(undefined, args);
|
|
110
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
111
|
+
profileSession.post("Profiler.stop", async (err, args) => {
|
|
112
|
+
if (!err && args.profile) {
|
|
113
|
+
await mkdirp(profileDir);
|
|
114
|
+
await writeFile(join(profileDir, name + ".cpuprofile"), JSON.stringify(args.profile));
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
return ret;
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
function time(func) {
|
|
123
|
+
return (async (...args) => {
|
|
124
|
+
const start = Date.now();
|
|
125
|
+
const ret = await func.apply(undefined, args);
|
|
126
|
+
const end = Date.now();
|
|
127
|
+
server.log(func.name, end - start + " ms");
|
|
128
|
+
return ret;
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../server/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { TextDocument } from "vscode-languageserver-textdocument";
|
|
2
|
+
import { CompletionList, CompletionParams, DefinitionParams, DidChangeWatchedFilesParams, DocumentFormattingParams, DocumentHighlight, DocumentHighlightParams, DocumentSymbol, DocumentSymbolParams, FoldingRange, FoldingRangeParams, Hover, HoverParams, InitializedParams, InitializeParams, InitializeResult, Location, PrepareRenameParams, PublishDiagnosticsParams, Range, ReferenceParams, RenameParams, SemanticTokens, SemanticTokensParams, SignatureHelp, SignatureHelpParams, TextDocumentChangeEvent, TextDocumentIdentifier, TextEdit, WorkspaceEdit, WorkspaceFolder, WorkspaceFoldersChangeEvent } from "vscode-languageserver/node.js";
|
|
3
|
+
import { Program } from "../core/program.js";
|
|
4
|
+
import { CompilerHost, SourceFile } from "../core/types.js";
|
|
5
|
+
export interface ServerHost {
|
|
6
|
+
compilerHost: CompilerHost;
|
|
7
|
+
throwInternalErrors?: boolean;
|
|
8
|
+
getOpenDocumentByURL(url: string): TextDocument | undefined;
|
|
9
|
+
sendDiagnostics(params: PublishDiagnosticsParams): void;
|
|
10
|
+
log(message: string): void;
|
|
11
|
+
}
|
|
12
|
+
export interface Server {
|
|
13
|
+
readonly pendingMessages: readonly string[];
|
|
14
|
+
readonly workspaceFolders: readonly ServerWorkspaceFolder[];
|
|
15
|
+
compile(document: TextDocument | TextDocumentIdentifier): Promise<Program | undefined>;
|
|
16
|
+
initialize(params: InitializeParams): Promise<InitializeResult>;
|
|
17
|
+
initialized(params: InitializedParams): void;
|
|
18
|
+
workspaceFoldersChanged(e: WorkspaceFoldersChangeEvent): Promise<void>;
|
|
19
|
+
watchedFilesChanged(params: DidChangeWatchedFilesParams): void;
|
|
20
|
+
formatDocument(params: DocumentFormattingParams): Promise<TextEdit[]>;
|
|
21
|
+
gotoDefinition(params: DefinitionParams): Promise<Location[]>;
|
|
22
|
+
complete(params: CompletionParams): Promise<CompletionList>;
|
|
23
|
+
findReferences(params: ReferenceParams): Promise<Location[]>;
|
|
24
|
+
findDocumentHighlight(params: DocumentHighlightParams): Promise<DocumentHighlight[]>;
|
|
25
|
+
prepareRename(params: PrepareRenameParams): Promise<Range | undefined>;
|
|
26
|
+
rename(params: RenameParams): Promise<WorkspaceEdit>;
|
|
27
|
+
getSemanticTokens(params: SemanticTokensParams): Promise<SemanticToken[]>;
|
|
28
|
+
buildSemanticTokens(params: SemanticTokensParams): Promise<SemanticTokens>;
|
|
29
|
+
checkChange(change: TextDocumentChangeEvent<TextDocument>): Promise<void>;
|
|
30
|
+
getHover(params: HoverParams): Promise<Hover>;
|
|
31
|
+
getSignatureHelp(params: SignatureHelpParams): Promise<SignatureHelp | undefined>;
|
|
32
|
+
getFoldingRanges(getFoldingRanges: FoldingRangeParams): Promise<FoldingRange[]>;
|
|
33
|
+
getDocumentSymbols(params: DocumentSymbolParams): Promise<DocumentSymbol[]>;
|
|
34
|
+
documentClosed(change: TextDocumentChangeEvent<TextDocument>): void;
|
|
35
|
+
log(message: string, details?: any): void;
|
|
36
|
+
}
|
|
37
|
+
export interface ServerSourceFile extends SourceFile {
|
|
38
|
+
readonly document?: TextDocument;
|
|
39
|
+
}
|
|
40
|
+
export interface ServerWorkspaceFolder extends WorkspaceFolder {
|
|
41
|
+
path: string;
|
|
42
|
+
}
|
|
43
|
+
export declare enum SemanticTokenKind {
|
|
44
|
+
Namespace = 0,
|
|
45
|
+
Type = 1,
|
|
46
|
+
Class = 2,
|
|
47
|
+
Enum = 3,
|
|
48
|
+
Interface = 4,
|
|
49
|
+
Struct = 5,
|
|
50
|
+
TypeParameter = 6,
|
|
51
|
+
Parameter = 7,
|
|
52
|
+
Variable = 8,
|
|
53
|
+
Property = 9,
|
|
54
|
+
EnumMember = 10,
|
|
55
|
+
Event = 11,
|
|
56
|
+
Function = 12,
|
|
57
|
+
Method = 13,
|
|
58
|
+
Macro = 14,
|
|
59
|
+
Keyword = 15,
|
|
60
|
+
Comment = 16,
|
|
61
|
+
String = 17,
|
|
62
|
+
Number = 18,
|
|
63
|
+
Regexp = 19,
|
|
64
|
+
Operator = 20
|
|
65
|
+
}
|
|
66
|
+
export interface SemanticToken {
|
|
67
|
+
kind: SemanticTokenKind;
|
|
68
|
+
pos: number;
|
|
69
|
+
end: number;
|
|
70
|
+
}
|
|
71
|
+
export declare function createServer(host: ServerHost): Server;
|
|
72
|
+
//# sourceMappingURL=serverlib.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverlib.d.ts","sourceRoot":"","sources":["../../server/serverlib.ts"],"names":[],"mappings":"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"}
|