@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.
Files changed (352) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +9 -0
  3. package/cmd/tsp-server.js +3 -0
  4. package/cmd/tsp.js +3 -0
  5. package/dist/cmd/runner.d.ts +9 -0
  6. package/dist/cmd/runner.d.ts.map +1 -0
  7. package/dist/cmd/runner.js +62 -0
  8. package/dist/cmd/runner.js.map +1 -0
  9. package/dist/config/config-interpolation.d.ts +11 -0
  10. package/dist/config/config-interpolation.d.ts.map +1 -0
  11. package/dist/config/config-interpolation.js +109 -0
  12. package/dist/config/config-interpolation.js.map +1 -0
  13. package/dist/config/config-loader.d.ts +25 -0
  14. package/dist/config/config-loader.d.ts.map +1 -0
  15. package/dist/config/config-loader.js +182 -0
  16. package/dist/config/config-loader.js.map +1 -0
  17. package/dist/config/config-schema.d.ts +4 -0
  18. package/dist/config/config-schema.d.ts.map +1 -0
  19. package/dist/config/config-schema.js +84 -0
  20. package/dist/config/config-schema.js.map +1 -0
  21. package/dist/config/index.d.ts +3 -0
  22. package/dist/config/index.d.ts.map +1 -0
  23. package/dist/config/index.js +3 -0
  24. package/dist/config/index.js.map +1 -0
  25. package/dist/config/types.d.ts +79 -0
  26. package/dist/config/types.d.ts.map +1 -0
  27. package/dist/config/types.js +2 -0
  28. package/dist/config/types.js.map +1 -0
  29. package/dist/core/binder.d.ts +29 -0
  30. package/dist/core/binder.d.ts.map +1 -0
  31. package/dist/core/binder.js +455 -0
  32. package/dist/core/binder.js.map +1 -0
  33. package/dist/core/charcode.d.ts +130 -0
  34. package/dist/core/charcode.d.ts.map +1 -0
  35. package/dist/core/charcode.js +115 -0
  36. package/dist/core/charcode.js.map +1 -0
  37. package/dist/core/checker.d.ts +138 -0
  38. package/dist/core/checker.d.ts.map +1 -0
  39. package/dist/core/checker.js +4070 -0
  40. package/dist/core/checker.js.map +1 -0
  41. package/dist/core/cli/args.d.ts +18 -0
  42. package/dist/core/cli/args.d.ts.map +1 -0
  43. package/dist/core/cli/args.js +108 -0
  44. package/dist/core/cli/args.js.map +1 -0
  45. package/dist/core/cli/cli.d.ts +2 -0
  46. package/dist/core/cli/cli.d.ts.map +1 -0
  47. package/dist/core/cli/cli.js +477 -0
  48. package/dist/core/cli/cli.js.map +1 -0
  49. package/dist/core/cli/index.d.ts +2 -0
  50. package/dist/core/cli/index.d.ts.map +1 -0
  51. package/dist/core/cli/index.js +2 -0
  52. package/dist/core/cli/index.js.map +1 -0
  53. package/dist/core/decorator-utils.d.ts +108 -0
  54. package/dist/core/decorator-utils.d.ts.map +1 -0
  55. package/dist/core/decorator-utils.js +326 -0
  56. package/dist/core/decorator-utils.js.map +1 -0
  57. package/dist/core/diagnostics.d.ts +93 -0
  58. package/dist/core/diagnostics.d.ts.map +1 -0
  59. package/dist/core/diagnostics.js +315 -0
  60. package/dist/core/diagnostics.js.map +1 -0
  61. package/dist/core/emitter-utils.d.ts +14 -0
  62. package/dist/core/emitter-utils.d.ts.map +1 -0
  63. package/dist/core/emitter-utils.js +16 -0
  64. package/dist/core/emitter-utils.js.map +1 -0
  65. package/dist/core/formatter-fs.d.ts +21 -0
  66. package/dist/core/formatter-fs.d.ts.map +1 -0
  67. package/dist/core/formatter-fs.js +79 -0
  68. package/dist/core/formatter-fs.js.map +1 -0
  69. package/dist/core/formatter.d.ts +10 -0
  70. package/dist/core/formatter.d.ts.map +1 -0
  71. package/dist/core/formatter.js +24 -0
  72. package/dist/core/formatter.js.map +1 -0
  73. package/dist/core/helpers/discriminator-utils.d.ts +14 -0
  74. package/dist/core/helpers/discriminator-utils.d.ts.map +1 -0
  75. package/dist/core/helpers/discriminator-utils.js +169 -0
  76. package/dist/core/helpers/discriminator-utils.js.map +1 -0
  77. package/dist/core/helpers/index.d.ts +6 -0
  78. package/dist/core/helpers/index.d.ts.map +1 -0
  79. package/dist/core/helpers/index.js +6 -0
  80. package/dist/core/helpers/index.js.map +1 -0
  81. package/dist/core/helpers/operation-utils.d.ts +15 -0
  82. package/dist/core/helpers/operation-utils.d.ts.map +1 -0
  83. package/dist/core/helpers/operation-utils.js +35 -0
  84. package/dist/core/helpers/operation-utils.js.map +1 -0
  85. package/dist/core/helpers/projected-names-utils.d.ts +20 -0
  86. package/dist/core/helpers/projected-names-utils.d.ts.map +1 -0
  87. package/dist/core/helpers/projected-names-utils.js +40 -0
  88. package/dist/core/helpers/projected-names-utils.js.map +1 -0
  89. package/dist/core/helpers/type-name-utils.d.ts +14 -0
  90. package/dist/core/helpers/type-name-utils.d.ts.map +1 -0
  91. package/dist/core/helpers/type-name-utils.js +122 -0
  92. package/dist/core/helpers/type-name-utils.js.map +1 -0
  93. package/dist/core/helpers/usage-resolver.d.ts +20 -0
  94. package/dist/core/helpers/usage-resolver.d.ts.map +1 -0
  95. package/dist/core/helpers/usage-resolver.js +108 -0
  96. package/dist/core/helpers/usage-resolver.js.map +1 -0
  97. package/dist/core/index.d.ts +26 -0
  98. package/dist/core/index.d.ts.map +1 -0
  99. package/dist/core/index.js +26 -0
  100. package/dist/core/index.js.map +1 -0
  101. package/dist/core/install.d.ts +2 -0
  102. package/dist/core/install.d.ts.map +1 -0
  103. package/dist/core/install.js +26 -0
  104. package/dist/core/install.js.map +1 -0
  105. package/dist/core/library.d.ts +34 -0
  106. package/dist/core/library.d.ts.map +1 -0
  107. package/dist/core/library.js +100 -0
  108. package/dist/core/library.js.map +1 -0
  109. package/dist/core/logger/console-sink.browser.d.ts +4 -0
  110. package/dist/core/logger/console-sink.browser.d.ts.map +1 -0
  111. package/dist/core/logger/console-sink.browser.js +14 -0
  112. package/dist/core/logger/console-sink.browser.js.map +1 -0
  113. package/dist/core/logger/console-sink.d.ts +9 -0
  114. package/dist/core/logger/console-sink.d.ts.map +1 -0
  115. package/dist/core/logger/console-sink.js +81 -0
  116. package/dist/core/logger/console-sink.js.map +1 -0
  117. package/dist/core/logger/index.d.ts +3 -0
  118. package/dist/core/logger/index.d.ts.map +1 -0
  119. package/dist/core/logger/index.js +3 -0
  120. package/dist/core/logger/index.js.map +1 -0
  121. package/dist/core/logger/logger.d.ts +7 -0
  122. package/dist/core/logger/logger.d.ts.map +1 -0
  123. package/dist/core/logger/logger.js +32 -0
  124. package/dist/core/logger/logger.js.map +1 -0
  125. package/dist/core/logger/tracer.d.ts +3 -0
  126. package/dist/core/logger/tracer.d.ts.map +1 -0
  127. package/dist/core/logger/tracer.js +91 -0
  128. package/dist/core/logger/tracer.js.map +1 -0
  129. package/dist/core/manifest.d.ts +21 -0
  130. package/dist/core/manifest.d.ts.map +1 -0
  131. package/dist/core/manifest.js +8 -0
  132. package/dist/core/manifest.js.map +1 -0
  133. package/dist/core/messages.d.ts +2253 -0
  134. package/dist/core/messages.d.ts.map +1 -0
  135. package/dist/core/messages.js +749 -0
  136. package/dist/core/messages.js.map +1 -0
  137. package/dist/core/module-resolver.d.ts +84 -0
  138. package/dist/core/module-resolver.d.ts.map +1 -0
  139. package/dist/core/module-resolver.js +170 -0
  140. package/dist/core/module-resolver.js.map +1 -0
  141. package/dist/core/node-host.browser.d.ts +2 -0
  142. package/dist/core/node-host.browser.d.ts.map +1 -0
  143. package/dist/core/node-host.browser.js +2 -0
  144. package/dist/core/node-host.browser.js.map +1 -0
  145. package/dist/core/node-host.d.ts +7 -0
  146. package/dist/core/node-host.d.ts.map +1 -0
  147. package/dist/core/node-host.js +43 -0
  148. package/dist/core/node-host.js.map +1 -0
  149. package/dist/core/nonascii.d.ts +2 -0
  150. package/dist/core/nonascii.d.ts.map +1 -0
  151. package/dist/core/nonascii.js +712 -0
  152. package/dist/core/nonascii.js.map +1 -0
  153. package/dist/core/options.d.ts +46 -0
  154. package/dist/core/options.d.ts.map +1 -0
  155. package/dist/core/options.js +2 -0
  156. package/dist/core/options.js.map +1 -0
  157. package/dist/core/parser.d.ts +17 -0
  158. package/dist/core/parser.d.ts.map +1 -0
  159. package/dist/core/parser.js +2561 -0
  160. package/dist/core/parser.js.map +1 -0
  161. package/dist/core/path-utils.d.ts +193 -0
  162. package/dist/core/path-utils.d.ts.map +1 -0
  163. package/dist/core/path-utils.js +427 -0
  164. package/dist/core/path-utils.js.map +1 -0
  165. package/dist/core/program.d.ts +104 -0
  166. package/dist/core/program.d.ts.map +1 -0
  167. package/dist/core/program.js +898 -0
  168. package/dist/core/program.js.map +1 -0
  169. package/dist/core/projection-members.d.ts +8 -0
  170. package/dist/core/projection-members.d.ts.map +1 -0
  171. package/dist/core/projection-members.js +387 -0
  172. package/dist/core/projection-members.js.map +1 -0
  173. package/dist/core/projector.d.ts +26 -0
  174. package/dist/core/projector.d.ts.map +1 -0
  175. package/dist/core/projector.js +523 -0
  176. package/dist/core/projector.js.map +1 -0
  177. package/dist/core/scanner.d.ts +125 -0
  178. package/dist/core/scanner.d.ts.map +1 -0
  179. package/dist/core/scanner.js +1012 -0
  180. package/dist/core/scanner.js.map +1 -0
  181. package/dist/core/schema-validator.d.ts +6 -0
  182. package/dist/core/schema-validator.d.ts.map +1 -0
  183. package/dist/core/schema-validator.js +38 -0
  184. package/dist/core/schema-validator.js.map +1 -0
  185. package/dist/core/semantic-walker.d.ts +53 -0
  186. package/dist/core/semantic-walker.d.ts.map +1 -0
  187. package/dist/core/semantic-walker.js +355 -0
  188. package/dist/core/semantic-walker.js.map +1 -0
  189. package/dist/core/type-utils.d.ts +49 -0
  190. package/dist/core/type-utils.d.ts.map +1 -0
  191. package/dist/core/type-utils.js +95 -0
  192. package/dist/core/type-utils.js.map +1 -0
  193. package/dist/core/types.d.ts +1345 -0
  194. package/dist/core/types.d.ts.map +1 -0
  195. package/dist/core/types.js +105 -0
  196. package/dist/core/types.js.map +1 -0
  197. package/dist/core/util.d.ts +150 -0
  198. package/dist/core/util.d.ts.map +1 -0
  199. package/dist/core/util.js +417 -0
  200. package/dist/core/util.js.map +1 -0
  201. package/dist/emitter-framework/asset-emitter.d.ts +5 -0
  202. package/dist/emitter-framework/asset-emitter.d.ts.map +1 -0
  203. package/dist/emitter-framework/asset-emitter.js +610 -0
  204. package/dist/emitter-framework/asset-emitter.js.map +1 -0
  205. package/dist/emitter-framework/builders/array-builder.d.ts +7 -0
  206. package/dist/emitter-framework/builders/array-builder.d.ts.map +1 -0
  207. package/dist/emitter-framework/builders/array-builder.js +45 -0
  208. package/dist/emitter-framework/builders/array-builder.js.map +1 -0
  209. package/dist/emitter-framework/builders/object-builder.d.ts +9 -0
  210. package/dist/emitter-framework/builders/object-builder.d.ts.map +1 -0
  211. package/dist/emitter-framework/builders/object-builder.js +30 -0
  212. package/dist/emitter-framework/builders/object-builder.js.map +1 -0
  213. package/dist/emitter-framework/builders/string-builder.d.ts +13 -0
  214. package/dist/emitter-framework/builders/string-builder.d.ts.map +1 -0
  215. package/dist/emitter-framework/builders/string-builder.js +98 -0
  216. package/dist/emitter-framework/builders/string-builder.js.map +1 -0
  217. package/dist/emitter-framework/custom-key-map.d.ts +29 -0
  218. package/dist/emitter-framework/custom-key-map.d.ts.map +1 -0
  219. package/dist/emitter-framework/custom-key-map.js +62 -0
  220. package/dist/emitter-framework/custom-key-map.js.map +1 -0
  221. package/dist/emitter-framework/index.d.ts +8 -0
  222. package/dist/emitter-framework/index.d.ts.map +1 -0
  223. package/dist/emitter-framework/index.js +8 -0
  224. package/dist/emitter-framework/index.js.map +1 -0
  225. package/dist/emitter-framework/placeholder.d.ts +12 -0
  226. package/dist/emitter-framework/placeholder.d.ts.map +1 -0
  227. package/dist/emitter-framework/placeholder.js +27 -0
  228. package/dist/emitter-framework/placeholder.js.map +1 -0
  229. package/dist/emitter-framework/type-emitter.d.ts +314 -0
  230. package/dist/emitter-framework/type-emitter.d.ts.map +1 -0
  231. package/dist/emitter-framework/type-emitter.js +612 -0
  232. package/dist/emitter-framework/type-emitter.js.map +1 -0
  233. package/dist/emitter-framework/types.d.ts +124 -0
  234. package/dist/emitter-framework/types.d.ts.map +1 -0
  235. package/dist/emitter-framework/types.js +39 -0
  236. package/dist/emitter-framework/types.js.map +1 -0
  237. package/dist/formatter/index.d.ts +11 -0
  238. package/dist/formatter/index.d.ts.map +1 -0
  239. package/dist/formatter/index.js +28 -0
  240. package/dist/formatter/index.js.map +1 -0
  241. package/dist/formatter/parser.d.ts +16 -0
  242. package/dist/formatter/parser.d.ts.map +1 -0
  243. package/dist/formatter/parser.js +23 -0
  244. package/dist/formatter/parser.js.map +1 -0
  245. package/dist/formatter/print/comment-handler.d.ts +7 -0
  246. package/dist/formatter/print/comment-handler.d.ts.map +1 -0
  247. package/dist/formatter/print/comment-handler.js +81 -0
  248. package/dist/formatter/print/comment-handler.js.map +1 -0
  249. package/dist/formatter/print/index.d.ts +3 -0
  250. package/dist/formatter/print/index.d.ts.map +1 -0
  251. package/dist/formatter/print/index.js +3 -0
  252. package/dist/formatter/print/index.js.map +1 -0
  253. package/dist/formatter/print/needs-parens.d.ts +10 -0
  254. package/dist/formatter/print/needs-parens.d.ts.map +1 -0
  255. package/dist/formatter/print/needs-parens.js +27 -0
  256. package/dist/formatter/print/needs-parens.js.map +1 -0
  257. package/dist/formatter/print/printer.d.ts +62 -0
  258. package/dist/formatter/print/printer.d.ts.map +1 -0
  259. package/dist/formatter/print/printer.js +1025 -0
  260. package/dist/formatter/print/printer.js.map +1 -0
  261. package/dist/formatter/print/types.d.ts +9 -0
  262. package/dist/formatter/print/types.d.ts.map +1 -0
  263. package/dist/formatter/print/types.js +2 -0
  264. package/dist/formatter/print/types.js.map +1 -0
  265. package/dist/init/index.d.ts +2 -0
  266. package/dist/init/index.d.ts.map +1 -0
  267. package/dist/init/index.js +2 -0
  268. package/dist/init/index.js.map +1 -0
  269. package/dist/init/init-template.d.ts +45 -0
  270. package/dist/init/init-template.d.ts.map +1 -0
  271. package/dist/init/init-template.js +45 -0
  272. package/dist/init/init-template.js.map +1 -0
  273. package/dist/init/init.d.ts +49 -0
  274. package/dist/init/init.d.ts.map +1 -0
  275. package/dist/init/init.js +224 -0
  276. package/dist/init/init.js.map +1 -0
  277. package/dist/lib/decorators.d.ts +222 -0
  278. package/dist/lib/decorators.d.ts.map +1 -0
  279. package/dist/lib/decorators.js +745 -0
  280. package/dist/lib/decorators.js.map +1 -0
  281. package/dist/lib/service.d.ts +38 -0
  282. package/dist/lib/service.d.ts.map +1 -0
  283. package/dist/lib/service.js +78 -0
  284. package/dist/lib/service.js.map +1 -0
  285. package/dist/manifest.js +4 -0
  286. package/dist/server/completion.d.ts +10 -0
  287. package/dist/server/completion.d.ts.map +1 -0
  288. package/dist/server/completion.js +207 -0
  289. package/dist/server/completion.js.map +1 -0
  290. package/dist/server/index.d.ts +3 -0
  291. package/dist/server/index.d.ts.map +1 -0
  292. package/dist/server/index.js +3 -0
  293. package/dist/server/index.js.map +1 -0
  294. package/dist/server/language-config.d.ts +195 -0
  295. package/dist/server/language-config.d.ts.map +1 -0
  296. package/dist/server/language-config.js +102 -0
  297. package/dist/server/language-config.js.map +1 -0
  298. package/dist/server/server.d.ts +2 -0
  299. package/dist/server/server.d.ts.map +1 -0
  300. package/dist/server/server.js +131 -0
  301. package/dist/server/server.js.map +1 -0
  302. package/dist/server/serverlib.d.ts +72 -0
  303. package/dist/server/serverlib.d.ts.map +1 -0
  304. package/dist/server/serverlib.js +1034 -0
  305. package/dist/server/serverlib.js.map +1 -0
  306. package/dist/server/symbol-structure.d.ts +4 -0
  307. package/dist/server/symbol-structure.d.ts.map +1 -0
  308. package/dist/server/symbol-structure.js +121 -0
  309. package/dist/server/symbol-structure.js.map +1 -0
  310. package/dist/server/tmlanguage.d.ts +3 -0
  311. package/dist/server/tmlanguage.d.ts.map +1 -0
  312. package/dist/server/tmlanguage.js +713 -0
  313. package/dist/server/tmlanguage.js.map +1 -0
  314. package/dist/server/type-details.d.ts +11 -0
  315. package/dist/server/type-details.d.ts.map +1 -0
  316. package/dist/server/type-details.js +72 -0
  317. package/dist/server/type-details.js.map +1 -0
  318. package/dist/server/type-signature.d.ts +2 -0
  319. package/dist/server/type-signature.d.ts.map +1 -0
  320. package/dist/server/type-signature.js +108 -0
  321. package/dist/server/type-signature.js.map +1 -0
  322. package/dist/testing/expect.d.ts +49 -0
  323. package/dist/testing/expect.d.ts.map +1 -0
  324. package/dist/testing/expect.js +83 -0
  325. package/dist/testing/expect.js.map +1 -0
  326. package/dist/testing/index.d.ts +6 -0
  327. package/dist/testing/index.d.ts.map +1 -0
  328. package/dist/testing/index.js +6 -0
  329. package/dist/testing/index.js.map +1 -0
  330. package/dist/testing/test-host.d.ts +14 -0
  331. package/dist/testing/test-host.d.ts.map +1 -0
  332. package/dist/testing/test-host.js +271 -0
  333. package/dist/testing/test-host.js.map +1 -0
  334. package/dist/testing/test-server-host.d.ts +39 -0
  335. package/dist/testing/test-server-host.d.ts.map +1 -0
  336. package/dist/testing/test-server-host.js +112 -0
  337. package/dist/testing/test-server-host.js.map +1 -0
  338. package/dist/testing/test-utils.d.ts +22 -0
  339. package/dist/testing/test-utils.d.ts.map +1 -0
  340. package/dist/testing/test-utils.js +60 -0
  341. package/dist/testing/test-utils.js.map +1 -0
  342. package/dist/testing/types.d.ts +69 -0
  343. package/dist/testing/types.d.ts.map +1 -0
  344. package/dist/testing/types.js +7 -0
  345. package/dist/testing/types.js.map +1 -0
  346. package/dist/typespec.tmLanguage +1760 -0
  347. package/lib/decorators.tsp +420 -0
  348. package/lib/lib.tsp +158 -0
  349. package/lib/main.tsp +4 -0
  350. package/lib/projected-names.tsp +94 -0
  351. package/lib/reflection.tsp +10 -0
  352. 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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=server.d.ts.map
@@ -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":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,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,EACL,gBAAgB,EAChB,gBAAgB,EAEhB,aAAa,GACd,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAsB,MAAM,gBAAgB,CAAC;AAElE,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;IACF,IAAI,EAAE,CAAC;CACR;AAAC,OAAO,CAAC,EAAE;IACV,UAAU,CAAC,CAAC,CAAC,CAAC;CACf;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;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;QACd,CAAC,CAAC,GAAG,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAC;QAC3C,cAAc,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QACzC,cAAc,CAAC,OAAO,EAAE,CAAC;KAC1B;IAED,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;;QACvC,IAAI,MAAA,MAAM,CAAC,YAAY,CAAC,SAAS,0CAAE,gBAAgB,EAAE;YACnD,kCAAkC,GAAG,IAAI,CAAC;SAC3C;QACD,OAAO,MAAM,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,EAAE;QAClC,IAAI,kCAAkC,EAAE;YACtC,UAAU,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;SAC7E;QACD,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;IAC3D,UAAU,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACnE,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;IACnD,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7C,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;IACnD,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9C,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;IACrD,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACxD,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC3D,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACjE,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACxD,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAEvE,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IACrD,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;IAEhD,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7B,UAAU,CAAC,MAAM,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,CAAU;;IAC5B,oEAAoE;IACpE,yBAAyB;IACzB,KAAK,MAAM,OAAO,IAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,mCAAI,EAAE,EAAE;QACnD,sCAAsC;QACtC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KACxB;IACD,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,OAAO,CAAkC,IAAO;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IAEvB,IAAI,SAAS,EAAE;QACb,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;KACnB;IAED,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CAAC,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE;QAC/B,cAAe,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;YAC3C,kEAAkE;YAClE,cAAe,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;gBAChD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAU,EAAE,IAAI,CAAC,CAAC;gBAC/C,kEAAkE;gBAClE,cAAe,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;oBACxD,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;wBACxB,MAAM,MAAM,CAAC,UAAW,CAAC,CAAC;wBAC1B,MAAM,SAAS,CAAC,IAAI,CAAC,UAAW,EAAE,IAAI,GAAG,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;qBACxF;gBACH,CAAC,CAAC,CAAC;gBACH,OAAO,GAAG,CAAC;YACb,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAM,CAAC;AACV,CAAC;AAED,SAAS,IAAI,CAAkC,IAAO;IACpD,OAAO,CAAC,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAU,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC;QAC5C,OAAO,GAAG,CAAC;IACb,CAAC,CAAM,CAAC;AACV,CAAC"}
@@ -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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"}