typescript-language-server 2.0.0 → 2.1.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 (76) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +72 -6
  3. package/lib/cli.js +4 -8
  4. package/lib/cli.js.map +1 -1
  5. package/lib/commands.d.ts +1 -0
  6. package/lib/commands.d.ts.map +1 -1
  7. package/lib/commands.js +1 -0
  8. package/lib/commands.js.map +1 -1
  9. package/lib/completion.d.ts +3 -2
  10. package/lib/completion.d.ts.map +1 -1
  11. package/lib/completion.js +11 -9
  12. package/lib/completion.js.map +1 -1
  13. package/lib/configuration-manager.d.ts +11 -2
  14. package/lib/configuration-manager.d.ts.map +1 -1
  15. package/lib/configuration-manager.js +15 -4
  16. package/lib/configuration-manager.js.map +1 -1
  17. package/lib/document.d.ts +4 -1
  18. package/lib/document.d.ts.map +1 -1
  19. package/lib/document.js +9 -0
  20. package/lib/document.js.map +1 -1
  21. package/lib/hover.d.ts +2 -1
  22. package/lib/hover.d.ts.map +1 -1
  23. package/lib/hover.js +13 -15
  24. package/lib/hover.js.map +1 -1
  25. package/lib/lsp-connection.d.ts +2 -2
  26. package/lib/lsp-connection.d.ts.map +1 -1
  27. package/lib/lsp-connection.js +2 -2
  28. package/lib/lsp-connection.js.map +1 -1
  29. package/lib/lsp-server.d.ts +2 -1
  30. package/lib/lsp-server.d.ts.map +1 -1
  31. package/lib/lsp-server.js +68 -53
  32. package/lib/lsp-server.js.map +1 -1
  33. package/lib/protocol-translation.d.ts +0 -8
  34. package/lib/protocol-translation.d.ts.map +1 -1
  35. package/lib/protocol-translation.js +0 -69
  36. package/lib/protocol-translation.js.map +1 -1
  37. package/lib/test-utils.js +1 -1
  38. package/lib/test-utils.js.map +1 -1
  39. package/lib/ts-protocol.d.ts +14 -1
  40. package/lib/ts-protocol.d.ts.map +1 -1
  41. package/lib/tsServer/requests.d.ts +1 -0
  42. package/lib/tsServer/requests.d.ts.map +1 -1
  43. package/lib/tsServer/serverProcess.js +1 -2
  44. package/lib/tsServer/serverProcess.js.map +1 -1
  45. package/lib/tsServer/spawner.js +2 -2
  46. package/lib/tsServer/spawner.js.map +1 -1
  47. package/lib/tsServer/versionProvider.d.ts +3 -7
  48. package/lib/tsServer/versionProvider.d.ts.map +1 -1
  49. package/lib/tsServer/versionProvider.js +19 -21
  50. package/lib/tsServer/versionProvider.js.map +1 -1
  51. package/lib/tsp-client.d.ts.map +1 -1
  52. package/lib/tsp-client.js +8 -11
  53. package/lib/tsp-client.js.map +1 -1
  54. package/lib/tsp-client.spec.js +1 -1
  55. package/lib/tsp-client.spec.js.map +1 -1
  56. package/lib/utils/MarkdownString.d.ts +15 -0
  57. package/lib/utils/MarkdownString.d.ts.map +1 -0
  58. package/lib/utils/MarkdownString.js +45 -0
  59. package/lib/utils/MarkdownString.js.map +1 -0
  60. package/lib/utils/configuration.d.ts +2 -1
  61. package/lib/utils/configuration.d.ts.map +1 -1
  62. package/lib/utils/configuration.js +4 -1
  63. package/lib/utils/configuration.js.map +1 -1
  64. package/lib/utils/previewer.d.ts +15 -0
  65. package/lib/utils/previewer.d.ts.map +1 -0
  66. package/lib/utils/previewer.js +185 -0
  67. package/lib/utils/previewer.js.map +1 -0
  68. package/lib/utils/previewer.spec.d.ts +2 -0
  69. package/lib/utils/previewer.spec.d.ts.map +1 -0
  70. package/lib/utils/previewer.spec.js +123 -0
  71. package/lib/utils/previewer.spec.js.map +1 -0
  72. package/lib/utils/tsconfig.d.ts +4 -0
  73. package/lib/utils/tsconfig.d.ts.map +1 -0
  74. package/lib/utils/tsconfig.js +40 -0
  75. package/lib/utils/tsconfig.js.map +1 -0
  76. package/package.json +7 -7
package/lib/hover.js CHANGED
@@ -9,9 +9,9 @@
9
9
  * Licensed under the MIT License. See License.txt in the project root for license information.
10
10
  *--------------------------------------------------------------------------------------------*/
11
11
  import * as lsp from 'vscode-languageserver';
12
- import { asDocumentation, asPlainText } from './protocol-translation.js';
13
- export function asSignatureHelp(info, context) {
14
- const signatures = info.items.map(asSignatureInformation);
12
+ import * as Previewer from './utils/previewer.js';
13
+ export function asSignatureHelp(info, context, filePathConverter) {
14
+ const signatures = info.items.map(item => asSignatureInformation(item, filePathConverter));
15
15
  return {
16
16
  activeSignature: getActiveSignature(info, signatures, context),
17
17
  activeParameter: getActiveParameter(info),
@@ -38,24 +38,22 @@ function getActiveParameter(info) {
38
38
  }
39
39
  return info.argumentIndex;
40
40
  }
41
- function asSignatureInformation(item) {
42
- const parameters = item.parameters.map(asParameterInformation);
41
+ function asSignatureInformation(item, filePathConverter) {
42
+ const parameters = item.parameters.map(parameter => asParameterInformation(parameter, filePathConverter));
43
43
  const signature = {
44
- label: asPlainText(item.prefixDisplayParts),
45
- documentation: asDocumentation({
46
- documentation: item.documentation,
47
- tags: item.tags.filter(x => x.name !== 'param'),
48
- }),
44
+ label: Previewer.plainWithLinks(item.prefixDisplayParts, filePathConverter),
45
+ documentation: Previewer.markdownDocumentation(item.documentation, item.tags.filter(x => x.name !== 'param'), filePathConverter),
49
46
  parameters,
50
47
  };
51
- signature.label += parameters.map(parameter => parameter.label).join(asPlainText(item.separatorDisplayParts));
52
- signature.label += asPlainText(item.suffixDisplayParts);
48
+ signature.label += parameters.map(parameter => parameter.label).join(Previewer.plainWithLinks(item.separatorDisplayParts, filePathConverter));
49
+ signature.label += Previewer.plainWithLinks(item.suffixDisplayParts, filePathConverter);
53
50
  return signature;
54
51
  }
55
- function asParameterInformation(parameter) {
52
+ function asParameterInformation(parameter, filePathConverter) {
53
+ const { displayParts, documentation } = parameter;
56
54
  return {
57
- label: asPlainText(parameter.displayParts),
58
- documentation: asDocumentation(parameter),
55
+ label: Previewer.plainWithLinks(displayParts, filePathConverter),
56
+ documentation: Previewer.markdownDocumentation(documentation, undefined, filePathConverter),
59
57
  };
60
58
  }
61
59
  export function toTsTriggerReason(context) {
package/lib/hover.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hover.js","sourceRoot":"","sources":["../src/hover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hover.js","sourceRoot":"","sources":["../src/hover.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import lsp from 'vscode-languageserver/node.js';
2
2
  import type { TsServerLogLevel } from './utils/configuration.js';
3
3
  export interface LspConnectionOptions {
4
- tsserverPath: string;
5
- tsserverLogVerbosity: TsServerLogLevel;
4
+ cmdLineTsserverPath: string;
5
+ cmdLineTsserverLogVerbosity: TsServerLogLevel;
6
6
  showMessageLevel: lsp.MessageType;
7
7
  }
8
8
  export declare function createLspConnection(options: LspConnectionOptions): lsp.Connection;
@@ -1 +1 @@
1
- {"version":3,"file":"lsp-connection.d.ts","sourceRoot":"","sources":["../src/lsp-connection.ts"],"names":[],"mappings":"AAOA,OAAO,GAAG,MAAM,+BAA+B,CAAC;AAMhD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,WAAW,oBAAoB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,gBAAgB,CAAC;IACvC,gBAAgB,EAAE,GAAG,CAAC,WAAW,CAAC;CACrC;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,GAAG,CAAC,UAAU,CA+CjF"}
1
+ {"version":3,"file":"lsp-connection.d.ts","sourceRoot":"","sources":["../src/lsp-connection.ts"],"names":[],"mappings":"AAOA,OAAO,GAAG,MAAM,+BAA+B,CAAC;AAMhD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,WAAW,oBAAoB;IACjC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,2BAA2B,EAAE,gBAAgB,CAAC;IAC9C,gBAAgB,EAAE,GAAG,CAAC,WAAW,CAAC;CACrC;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,GAAG,CAAC,UAAU,CA+CjF"}
@@ -17,8 +17,8 @@ export function createLspConnection(options) {
17
17
  const server = new LspServer({
18
18
  logger,
19
19
  lspClient,
20
- tsserverPath: options.tsserverPath,
21
- tsserverLogVerbosity: options.tsserverLogVerbosity,
20
+ tsserverPath: options.cmdLineTsserverPath,
21
+ tsserverLogVerbosity: options.cmdLineTsserverLogVerbosity,
22
22
  });
23
23
  connection.onInitialize(server.initialize.bind(server));
24
24
  connection.onDidChangeConfiguration(server.didChangeConfiguration.bind(server));
@@ -1 +1 @@
1
- {"version":3,"file":"lsp-connection.js","sourceRoot":"","sources":["../src/lsp-connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lsp-connection.js","sourceRoot":"","sources":["../src/lsp-connection.ts"],"names":[],"mappings":"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"}
@@ -20,9 +20,10 @@ export declare class LspServer {
20
20
  closeAll(): void;
21
21
  shutdown(): void;
22
22
  private get tspClient();
23
- private findTypescriptVersion;
24
23
  initialize(params: TypeScriptInitializeParams): Promise<lsp.InitializeResult>;
24
+ private findTypescriptVersion;
25
25
  private getLogDirectoryPath;
26
+ private setCompilerOptionsForInferredProjects;
26
27
  didChangeConfiguration(params: lsp.DidChangeConfigurationParams): void;
27
28
  protected diagnosticsTokenSource: lsp.CancellationTokenSource | undefined;
28
29
  protected interuptDiagnostics<R>(f: () => R): R;
@@ -1 +1 @@
1
- {"version":3,"file":"lsp-server.d.ts","sourceRoot":"","sources":["../src/lsp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lsp-server.d.ts","sourceRoot":"","sources":["../src/lsp-server.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAC7C,OAAO,KAAK,QAAQ,MAAM,kCAAkC,CAAC;AAC7D,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAC;AAEvE,OAAO,GAAG,MAAM,8BAA8B,CAAC;AAO/C,OAAO,EAAgB,WAAW,EAAE,MAAM,eAAe,CAAC;AAO1D,OAAO,EAAE,0BAA0B,EAAsD,MAAM,kBAAkB,CAAC;AAGlH,OAAO,EAAoB,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAc5F,qBAAa,SAAS;IAYN,OAAO,CAAC,OAAO;IAX3B,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,gBAAgB,CAA2C;IACnE,OAAO,CAAC,eAAe,CAAC,CAAuB;IAC/C,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,yBAAyB,CAA0C;IAC3E,OAAO,CAAC,QAAQ,CAAyB;IAEzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;gBAE5B,OAAO,EAAE,8BAA8B;IAK3D,QAAQ,IAAI,IAAI;IAMhB,QAAQ,IAAI,IAAI;IAOhB,OAAO,KAAK,SAAS,GAKpB;IAEK,UAAU,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAsLnF,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,qCAAqC;IAa7C,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,4BAA4B,GAAG,IAAI;IAOtE,SAAS,CAAC,sBAAsB,EAAE,GAAG,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAC1E,SAAS,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC;IAW/C,uBAAuB,UAAS;IAC1B,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzC,QAAQ,CAAC,6BAA6B,2CAAoD;cAC1E,oBAAoB,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAe1E,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAMnC,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,yBAAyB,GAAG,IAAI;IA2BhE,SAAS,CAAC,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,cAAc,GAAG,SAAS;IAU/E,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAC,0BAA0B,GAAG,IAAI;IAQlE,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAe3C,qBAAqB,CAAC,MAAM,EAAE,GAAG,CAAC,2BAA2B,GAAG,IAAI;IA+CpE,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,yBAAyB,GAAG,IAAI;IAI3D,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,cAAc,EAAE,GAAG,SAAS,CAAC;IAOpG,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,0BAA0B,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC;IAO3F,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,0BAA0B,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC;YAOnF,aAAa;YAoCb,kBAAkB;IAkB1B,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAC;IA2B/G,SAAS,KAAK,iCAAiC,IAAI,OAAO,CAIzD;IAMK,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC;IAiD5E,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAWxE,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,0BAA0B,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;cAsBvD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAYxG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,SAAS,CAAC;IAuCxE,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAoBhE,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,wBAAwB,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAwBjF,uBAAuB,CAAC,MAAM,EAAE,GAAG,CAAC,6BAA6B,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAwB3F,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,SAAS,CAAC;cAa5E,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAczH,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;cA6CzD,YAAY,CAAC,aAAa,EAAE,GAAG,CAAC,oBAAoB,EAAE,OAAO,EAAE,GAAG,CAAC,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,SAAS,CAAC;cAYpI,YAAY,CAAC,aAAa,EAAE,GAAG,CAAC,oBAAoB,EAAE,OAAO,EAAE,GAAG,CAAC,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,GAAG,SAAS,CAAC;cAY9I,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,0BAA0B,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,GAAG,SAAS,CAAC;IASpH,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,EAAE,GAAG,CAAC,wBAAwB,GAAG,OAAO,CAAC,GAAG,CAAC;cAoFjI,kBAAkB,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;cAc7E,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAIpE,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAiBhH,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,0BAA0B,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;IAgC9F,OAAO,CAAC,eAAe;IAIjB,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;IAuB1F;;OAEG;IACG,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,SAAS,CAAC;IAwB5F,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,aAAa,EAAE,QAAQ,EAAE,WAAW,GAAG,GAAG,CAAC,YAAY,GAAG,SAAS;IA0BtG,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC,gBAAgB,GAAG,SAAS;cAUvE,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzD,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAgBlE,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,SAAS,CAAC;IAK7E,gBAAgB,CAAC,MAAM,EAAE,aAAa,CAAC,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC;IAsDjG,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAwBjF,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,yBAAyB,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAkBvF,iBAAiB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;CAkBhI"}
package/lib/lsp-server.js CHANGED
@@ -14,7 +14,7 @@ import API from './utils/api.js';
14
14
  import { LogLevel, PrefixingLogger } from './utils/logger.js';
15
15
  import { TspClient } from './tsp-client.js';
16
16
  import { DiagnosticEventQueue } from './diagnostic-queue.js';
17
- import { toDocumentHighlight, asTagsDocumentation, uriToPath, toSymbolKind, toLocation, pathToUri, toTextEdit, asPlainText, normalizePath } from './protocol-translation.js';
17
+ import { toDocumentHighlight, uriToPath, toSymbolKind, toLocation, pathToUri, toTextEdit, normalizePath } from './protocol-translation.js';
18
18
  import { LspDocuments } from './document.js';
19
19
  import { asCompletionItem, asResolvedCompletionItem, getCompletionTriggerCharacter } from './completion.js';
20
20
  import { asSignatureHelp, toTsTriggerReason } from './hover.js';
@@ -24,12 +24,16 @@ import { provideRefactors } from './refactor.js';
24
24
  import { provideOrganizeImports } from './organize-imports.js';
25
25
  import { collectDocumentSymbols, collectSymbolInformation } from './document-symbol.js';
26
26
  import { computeCallers, computeCallees } from './calls.js';
27
+ import { TsServerLogLevel } from './utils/configuration.js';
27
28
  import { TypeScriptAutoFixProvider } from './features/fix-all.js';
28
29
  import { TypeScriptInlayHintsProvider } from './features/inlay-hints.js';
29
30
  import { SourceDefinitionCommand } from './features/source-definition.js';
30
31
  import { LogDirectoryProvider } from './tsServer/logDirectoryProvider.js';
31
32
  import { Trace } from './tsServer/tracer.js';
32
33
  import { TypeScriptVersionProvider } from './tsServer/versionProvider.js';
34
+ import { MarkdownString } from './utils/MarkdownString.js';
35
+ import * as Previewer from './utils/previewer.js';
36
+ import { getInferredProjectCompilerOptions } from './utils/tsconfig.js';
33
37
  import { Position, Range } from './utils/typeConverters.js';
34
38
  import { CodeActionKind } from './utils/types.js';
35
39
  import { ConfigurationManager } from './configuration-manager.js';
@@ -65,30 +69,6 @@ export class LspServer {
65
69
  }
66
70
  return this._tspClient;
67
71
  }
68
- findTypescriptVersion() {
69
- const typescriptVersionProvider = new TypeScriptVersionProvider(this.options, this.logger);
70
- // User-provided tsserver path.
71
- const userSettingVersion = typescriptVersionProvider.getUserSettingVersion();
72
- if (userSettingVersion) {
73
- if (userSettingVersion.isValid) {
74
- return userSettingVersion;
75
- }
76
- this.logger.logIgnoringVerbosity(LogLevel.Warning, `Typescript specified through --tsserver-path ignored due to invalid path "${userSettingVersion.path}"`);
77
- }
78
- // Workspace version.
79
- if (this.workspaceRoot) {
80
- const workspaceVersion = typescriptVersionProvider.getWorkspaceVersion([this.workspaceRoot]);
81
- if (workspaceVersion) {
82
- return workspaceVersion;
83
- }
84
- }
85
- // Bundled version
86
- const bundledVersion = typescriptVersionProvider.bundledVersion();
87
- if (bundledVersion && bundledVersion.isValid) {
88
- return bundledVersion;
89
- }
90
- return null;
91
- }
92
72
  async initialize(params) {
93
73
  this.logger.log('initialize', params);
94
74
  if (this._tspClient) {
@@ -108,12 +88,12 @@ export class LspServer {
108
88
  globalPlugins.push(plugin.name);
109
89
  pluginProbeLocations.push(plugin.location);
110
90
  }
111
- const typescriptVersion = this.findTypescriptVersion();
91
+ const typescriptVersion = this.findTypescriptVersion(tsserver?.path);
112
92
  if (typescriptVersion) {
113
93
  this.logger.logIgnoringVerbosity(LogLevel.Info, `Using Typescript version (${typescriptVersion.source}) ${typescriptVersion.versionString} from path "${typescriptVersion.tsServerPath}"`);
114
94
  }
115
95
  else {
116
- throw Error('Could not find a valid TypeScript installation. Please ensure that the "typescript" dependency is installed in the workspace or that a valid --tsserver-path is specified. Exiting.');
96
+ throw Error('Could not find a valid TypeScript installation. Please ensure that the "typescript" dependency is installed in the workspace or that a valid `tsserver.path` is specified. Exiting.');
117
97
  }
118
98
  this.configurationManager.mergeTsPreferences(userInitializationOptions.preferences || {});
119
99
  // Setup supported features.
@@ -141,12 +121,13 @@ export class LspServer {
141
121
  useLabelDetailsInCompletionEntries: this.features.completionLabelDetails,
142
122
  });
143
123
  this.diagnosticQueue = new DiagnosticEventQueue(diagnostics => this.options.lspClient.publishDiagnostics(diagnostics), this.documents, this.features, this.logger);
124
+ const tsserverLogVerbosity = tsserver?.logVerbosity && TsServerLogLevel.fromString(tsserver?.logVerbosity);
144
125
  this._tspClient = new TspClient({
145
126
  lspClient: this.options.lspClient,
146
127
  trace: Trace.fromString(tsserver?.trace || 'off'),
147
128
  typescriptVersion,
148
129
  logDirectoryProvider: new LogDirectoryProvider(this.getLogDirectoryPath(userInitializationOptions)),
149
- logVerbosity: this.options.tsserverLogVerbosity,
130
+ logVerbosity: tsserverLogVerbosity ?? this.options.tsserverLogVerbosity,
150
131
  disableAutomaticTypingAcquisition,
151
132
  maxTsServerMemory,
152
133
  npmLocation,
@@ -173,19 +154,8 @@ export class LspServer {
173
154
  process.exit();
174
155
  });
175
156
  this.typeScriptAutoFixProvider = new TypeScriptAutoFixProvider(this.tspClient);
176
- await Promise.all([
177
- this.configurationManager.setAndConfigureTspClient(this.workspaceRoot, this._tspClient, hostInfo),
178
- this.tspClient.request("compilerOptionsForInferredProjects" /* CommandTypes.CompilerOptionsForInferredProjects */, {
179
- options: {
180
- module: "CommonJS" /* tsp.ModuleKind.CommonJS */,
181
- target: "ES2016" /* tsp.ScriptTarget.ES2016 */,
182
- jsx: "Preserve" /* tsp.JsxEmit.Preserve */,
183
- allowJs: true,
184
- allowSyntheticDefaultImports: true,
185
- allowNonTsExtensions: true,
186
- },
187
- }),
188
- ]);
157
+ this.configurationManager.setAndConfigureTspClient(this.workspaceRoot, this._tspClient, hostInfo);
158
+ this.setCompilerOptionsForInferredProjects();
189
159
  const initializeResult = {
190
160
  capabilities: {
191
161
  textDocumentSync: lsp.TextDocumentSyncKind.Incremental,
@@ -210,6 +180,7 @@ export class LspServer {
210
180
  Commands.APPLY_WORKSPACE_EDIT,
211
181
  Commands.APPLY_CODE_ACTION,
212
182
  Commands.APPLY_REFACTORING,
183
+ Commands.CONFIGURE_PLUGIN,
213
184
  Commands.ORGANIZE_IMPORTS,
214
185
  Commands.APPLY_RENAME_FILE,
215
186
  Commands.SOURCE_DEFINITION,
@@ -264,6 +235,30 @@ export class LspServer {
264
235
  this.logger.log('onInitialize result', initializeResult);
265
236
  return initializeResult;
266
237
  }
238
+ findTypescriptVersion(userTsserverPath) {
239
+ const typescriptVersionProvider = new TypeScriptVersionProvider(userTsserverPath || this.options.tsserverPath, this.logger);
240
+ // User-provided tsserver path.
241
+ const userSettingVersion = typescriptVersionProvider.getUserSettingVersion();
242
+ if (userSettingVersion) {
243
+ if (userSettingVersion.isValid) {
244
+ return userSettingVersion;
245
+ }
246
+ this.logger.logIgnoringVerbosity(LogLevel.Warning, `Typescript specified through user setting ignored due to invalid path "${userSettingVersion.path}"`);
247
+ }
248
+ // Workspace version.
249
+ if (this.workspaceRoot) {
250
+ const workspaceVersion = typescriptVersionProvider.getWorkspaceVersion([this.workspaceRoot]);
251
+ if (workspaceVersion) {
252
+ return workspaceVersion;
253
+ }
254
+ }
255
+ // Bundled version
256
+ const bundledVersion = typescriptVersionProvider.bundledVersion();
257
+ if (bundledVersion && bundledVersion.isValid) {
258
+ return bundledVersion;
259
+ }
260
+ return null;
261
+ }
267
262
  getLogDirectoryPath(initializationOptions) {
268
263
  if (initializationOptions.tsserver?.logDirectory) {
269
264
  return initializationOptions.tsserver.logDirectory;
@@ -273,8 +268,21 @@ export class LspServer {
273
268
  }
274
269
  return undefined;
275
270
  }
271
+ setCompilerOptionsForInferredProjects() {
272
+ const args = {
273
+ options: {
274
+ ...getInferredProjectCompilerOptions(this.configurationManager.workspaceConfiguration.implicitProjectConfiguration),
275
+ allowJs: true,
276
+ allowNonTsExtensions: true,
277
+ allowSyntheticDefaultImports: true,
278
+ resolveJsonModule: true,
279
+ },
280
+ };
281
+ this.tspClient.executeWithoutWaitingForResponse("compilerOptionsForInferredProjects" /* CommandTypes.CompilerOptionsForInferredProjects */, args);
282
+ }
276
283
  didChangeConfiguration(params) {
277
284
  this.configurationManager.setWorkspaceConfiguration(params.settings || {});
285
+ this.setCompilerOptionsForInferredProjects();
278
286
  const ignoredDiagnosticCodes = this.configurationManager.workspaceConfiguration.diagnostics?.ignoredCodes || [];
279
287
  this.diagnosticQueue?.updateIgnoredDiagnosticCodes(ignoredDiagnosticCodes);
280
288
  }
@@ -541,7 +549,7 @@ export class LspServer {
541
549
  if (entry.kind === 'warning') {
542
550
  continue;
543
551
  }
544
- const completion = asCompletionItem(entry, optionalReplacementSpan, file, params.position, document, completionOptions, this.features);
552
+ const completion = asCompletionItem(entry, optionalReplacementSpan, file, params.position, document, this.documents, completionOptions, this.features);
545
553
  if (!completion) {
546
554
  continue;
547
555
  }
@@ -567,7 +575,7 @@ export class LspServer {
567
575
  if (!details) {
568
576
  return item;
569
577
  }
570
- return asResolvedCompletionItem(item, details, this.tspClient, this.configurationManager.workspaceConfiguration.completions || {}, this.features);
578
+ return asResolvedCompletionItem(item, details, this.tspClient, this.documents, this.configurationManager.workspaceConfiguration.completions || {}, this.features);
571
579
  }
572
580
  async hover(params) {
573
581
  const file = uriToPath(params.textDocument.uri);
@@ -579,17 +587,15 @@ export class LspServer {
579
587
  if (!result || !result.body) {
580
588
  return { contents: [] };
581
589
  }
582
- const range = Range.fromTextSpan(result.body);
583
- const contents = [];
584
- if (result.body.displayString) {
585
- contents.push({ language: 'typescript', value: result.body.displayString });
590
+ const contents = new MarkdownString();
591
+ const { displayString, documentation, tags } = result.body;
592
+ if (displayString) {
593
+ contents.appendCodeblock('typescript', displayString);
586
594
  }
587
- const tags = asTagsDocumentation(result.body.tags);
588
- const documentation = asPlainText(result.body.documentation);
589
- contents.push(documentation + (tags ? '\n\n' + tags : ''));
595
+ Previewer.addMarkdownDocumentation(contents, documentation, tags, this.documents);
590
596
  return {
591
- contents,
592
- range,
597
+ contents: contents.toMarkupContent(),
598
+ range: Range.fromTextSpan(result.body),
593
599
  };
594
600
  }
595
601
  async getQuickInfo(file, position) {
@@ -708,7 +714,7 @@ export class LspServer {
708
714
  if (!response || !response.body) {
709
715
  return undefined;
710
716
  }
711
- return asSignatureHelp(response.body, params.context);
717
+ return asSignatureHelp(response.body, params.context, this.documents);
712
718
  }
713
719
  async getSignatureHelp(file, params) {
714
720
  try {
@@ -839,6 +845,15 @@ export class LspServer {
839
845
  });
840
846
  }
841
847
  }
848
+ else if (arg.command === Commands.CONFIGURE_PLUGIN && arg.arguments) {
849
+ const [pluginName, configuration] = arg.arguments;
850
+ if (this.tspClient?.apiVersion.gte(API.v314)) {
851
+ this.tspClient.executeWithoutWaitingForResponse("configurePlugin" /* CommandTypes.ConfigurePlugin */, {
852
+ configuration,
853
+ pluginName,
854
+ });
855
+ }
856
+ }
842
857
  else if (arg.command === Commands.ORGANIZE_IMPORTS && arg.arguments) {
843
858
  const file = arg.arguments[0];
844
859
  const additionalArguments = arg.arguments[1] || {};
@@ -1 +1 @@
1
- {"version":3,"file":"lsp-server.js","sourceRoot":"","sources":["../src/lsp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lsp-server.js","sourceRoot":"","sources":["../src/lsp-server.ts"],"names":[],"mappings":"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"}
@@ -23,12 +23,4 @@ export declare function toDiagnostic(diagnostic: tsp.Diagnostic, documents: LspD
23
23
  export declare function toTextEdit(edit: tsp.CodeEdit): lsp.TextEdit;
24
24
  export declare function toTextDocumentEdit(change: tsp.FileCodeEdits, documents: LspDocuments | undefined): lsp.TextDocumentEdit;
25
25
  export declare function toDocumentHighlight(item: tsp.DocumentHighlightsItem): lsp.DocumentHighlight[];
26
- export declare function asDocumentation(data: {
27
- documentation?: tsp.SymbolDisplayPart[];
28
- tags?: tsp.JSDocTagInfo[];
29
- }): lsp.MarkupContent | undefined;
30
- export declare function asTagsDocumentation(tags: tsp.JSDocTagInfo[]): string;
31
- export declare function asTagDocumentation(tag: tsp.JSDocTagInfo): string;
32
- export declare function asTagBodyText(tag: tsp.JSDocTagInfo): string | undefined;
33
- export declare function asPlainText(parts: string | tsp.SymbolDisplayPart[]): string;
34
26
  //# sourceMappingURL=protocol-translation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol-translation.d.ts","sourceRoot":"","sources":["../src/protocol-translation.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAC7C,OAAO,KAAK,GAAG,MAAM,8BAA8B,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAKrD,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAW/D;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,SAAS,GAAG,MAAM,CAUvF;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtD;AASD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,GAAG,SAAS,GAAG,GAAG,CAAC,QAAQ,CAQpG;AA4BD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,UAAU,CAE5D;AAWD,wBAAgB,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,GAAG,SAAS,EAAE,QAAQ,EAAE,iBAAiB,GAAG,GAAG,CAAC,UAAU,CAgBzI;AA8BD,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAQ3D;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE,YAAY,GAAG,SAAS,GAAG,GAAG,CAAC,gBAAgB,CAQvH;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,sBAAsB,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAU7F;AAmBD,wBAAgB,eAAe,CAAC,IAAI,EAAE;IAClC,aAAa,CAAC,EAAE,GAAG,CAAC,iBAAiB,EAAE,CAAC;IACxC,IAAI,CAAC,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC;CAC7B,GAAG,GAAG,CAAC,aAAa,GAAG,SAAS,CAehC;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,MAAM,CAEpE;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,GAAG,MAAM,CA4BhE;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,GAAG,MAAM,GAAG,SAAS,CAkBvE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,iBAAiB,EAAE,GAAG,MAAM,CAK3E"}
1
+ {"version":3,"file":"protocol-translation.d.ts","sourceRoot":"","sources":["../src/protocol-translation.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAC7C,OAAO,KAAK,GAAG,MAAM,8BAA8B,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAKrD,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAW/D;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,SAAS,GAAG,MAAM,CAUvF;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtD;AASD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,GAAG,SAAS,GAAG,GAAG,CAAC,QAAQ,CAQpG;AA4BD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,UAAU,CAE5D;AAWD,wBAAgB,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,GAAG,SAAS,EAAE,QAAQ,EAAE,iBAAiB,GAAG,GAAG,CAAC,UAAU,CAgBzI;AA8BD,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAQ3D;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE,YAAY,GAAG,SAAS,GAAG,GAAG,CAAC,gBAAgB,CAQvH;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,sBAAsB,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAU7F"}