typescript-language-server 0.7.1 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +47 -4
  3. package/lib/calls.js +28 -30
  4. package/lib/calls.js.map +1 -1
  5. package/lib/cli.js +1 -2
  6. package/lib/cli.js.map +1 -1
  7. package/lib/commands.d.ts +0 -3
  8. package/lib/commands.d.ts.map +1 -1
  9. package/lib/commands.js +1 -4
  10. package/lib/commands.js.map +1 -1
  11. package/lib/completion.d.ts +4 -1
  12. package/lib/completion.d.ts.map +1 -1
  13. package/lib/completion.js +143 -11
  14. package/lib/completion.js.map +1 -1
  15. package/lib/diagnostic-queue.d.ts +5 -1
  16. package/lib/diagnostic-queue.d.ts.map +1 -1
  17. package/lib/diagnostic-queue.js +19 -3
  18. package/lib/diagnostic-queue.js.map +1 -1
  19. package/lib/features/fix-all.d.ts +12 -0
  20. package/lib/features/fix-all.d.ts.map +1 -0
  21. package/lib/features/fix-all.js +193 -0
  22. package/lib/features/fix-all.js.map +1 -0
  23. package/lib/logger.d.ts.map +1 -1
  24. package/lib/logger.js +1 -0
  25. package/lib/logger.js.map +1 -1
  26. package/lib/lsp-client.d.ts +10 -0
  27. package/lib/lsp-client.d.ts.map +1 -1
  28. package/lib/lsp-client.js +38 -0
  29. package/lib/lsp-client.js.map +1 -1
  30. package/lib/lsp-connection.d.ts.map +1 -1
  31. package/lib/lsp-connection.js +2 -0
  32. package/lib/lsp-connection.js.map +1 -1
  33. package/lib/lsp-server.d.ts +11 -13
  34. package/lib/lsp-server.d.ts.map +1 -1
  35. package/lib/lsp-server.js +224 -80
  36. package/lib/lsp-server.js.map +1 -1
  37. package/lib/lsp-server.spec.js +358 -9
  38. package/lib/lsp-server.spec.js.map +1 -1
  39. package/lib/organize-imports.js +2 -2
  40. package/lib/organize-imports.js.map +1 -1
  41. package/lib/organize-imports.spec.js +2 -2
  42. package/lib/organize-imports.spec.js.map +1 -1
  43. package/lib/protocol-translation.js +6 -9
  44. package/lib/protocol-translation.js.map +1 -1
  45. package/lib/semantic-tokens.d.ts +9 -0
  46. package/lib/semantic-tokens.d.ts.map +1 -0
  47. package/lib/semantic-tokens.js +47 -0
  48. package/lib/semantic-tokens.js.map +1 -0
  49. package/lib/test-utils.d.ts +2 -2
  50. package/lib/test-utils.d.ts.map +1 -1
  51. package/lib/test-utils.js +16 -6
  52. package/lib/test-utils.js.map +1 -1
  53. package/lib/ts-protocol.d.ts +18 -0
  54. package/lib/ts-protocol.d.ts.map +1 -1
  55. package/lib/ts-protocol.js +10 -1
  56. package/lib/ts-protocol.js.map +1 -1
  57. package/lib/tsp-client.d.ts +7 -2
  58. package/lib/tsp-client.d.ts.map +1 -1
  59. package/lib/tsp-client.js +20 -13
  60. package/lib/tsp-client.js.map +1 -1
  61. package/lib/tsp-client.spec.js +74 -82
  62. package/lib/tsp-client.spec.js.map +1 -1
  63. package/lib/tsp-command-types.d.ts +5 -2
  64. package/lib/tsp-command-types.d.ts.map +1 -1
  65. package/lib/tsp-command-types.js.map +1 -1
  66. package/lib/utils/SnippetString.d.ts +12 -0
  67. package/lib/utils/SnippetString.d.ts.map +1 -0
  68. package/lib/utils/SnippetString.js +69 -0
  69. package/lib/utils/SnippetString.js.map +1 -0
  70. package/lib/utils/configuration.d.ts +10 -0
  71. package/lib/utils/configuration.d.ts.map +1 -0
  72. package/lib/utils/configuration.js +3 -0
  73. package/lib/utils/configuration.js.map +1 -0
  74. package/lib/utils/errorCodes.d.ts +12 -0
  75. package/lib/utils/errorCodes.d.ts.map +1 -0
  76. package/lib/utils/errorCodes.js +19 -0
  77. package/lib/utils/errorCodes.js.map +1 -0
  78. package/lib/utils/fixNames.d.ts +14 -0
  79. package/lib/utils/fixNames.d.ts.map +1 -0
  80. package/lib/utils/fixNames.js +21 -0
  81. package/lib/utils/fixNames.js.map +1 -0
  82. package/lib/utils/modules-resolver.d.ts +2 -0
  83. package/lib/utils/modules-resolver.d.ts.map +1 -0
  84. package/lib/{modules-resolver.js → utils/modules-resolver.js} +8 -22
  85. package/lib/utils/modules-resolver.js.map +1 -0
  86. package/lib/{modules-resolver.spec.d.ts → utils/modules-resolver.spec.d.ts} +0 -0
  87. package/lib/utils/modules-resolver.spec.d.ts.map +1 -0
  88. package/lib/{modules-resolver.spec.js → utils/modules-resolver.spec.js} +9 -9
  89. package/lib/utils/modules-resolver.spec.js.map +1 -0
  90. package/lib/utils/typeConverters.d.ts +11 -0
  91. package/lib/utils/typeConverters.d.ts.map +1 -0
  92. package/lib/utils/typeConverters.js +22 -0
  93. package/lib/utils/typeConverters.js.map +1 -0
  94. package/lib/utils/types.d.ts +41 -0
  95. package/lib/utils/types.d.ts.map +1 -0
  96. package/lib/utils/types.js +78 -0
  97. package/lib/utils/types.js.map +1 -0
  98. package/lib/utils/versionProvider.d.ts +30 -0
  99. package/lib/utils/versionProvider.d.ts.map +1 -0
  100. package/lib/utils/versionProvider.js +147 -0
  101. package/lib/utils/versionProvider.js.map +1 -0
  102. package/lib/utils.d.ts +0 -1
  103. package/lib/utils.d.ts.map +1 -1
  104. package/lib/utils.js +1 -8
  105. package/lib/utils.js.map +1 -1
  106. package/package.json +34 -17
  107. package/lib/modules-resolver.d.ts +0 -3
  108. package/lib/modules-resolver.d.ts.map +0 -1
  109. package/lib/modules-resolver.js.map +0 -1
  110. package/lib/modules-resolver.spec.d.ts.map +0 -1
  111. package/lib/modules-resolver.spec.js.map +0 -1
@@ -22,7 +22,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
22
22
  const chai = __importStar(require("chai"));
23
23
  const organize_imports_1 = require("./organize-imports");
24
24
  const test_utils_1 = require("./test-utils");
25
- const commands_1 = require("./commands");
25
+ const types_1 = require("./utils/types");
26
26
  describe('provideOrganizeImports', () => {
27
27
  it('converts tsserver response to lsp code actions', () => {
28
28
  const fileName = (0, test_utils_1.filePath)('file');
@@ -37,7 +37,7 @@ describe('provideOrganizeImports', () => {
37
37
  const actual = (0, organize_imports_1.provideOrganizeImports)(response, undefined);
38
38
  const expected = [{
39
39
  title: 'Organize imports',
40
- kind: commands_1.CodeActions.SourceOrganizeImportsTsLs,
40
+ kind: types_1.CodeActionKind.SourceOrganizeImportsTs.value,
41
41
  edit: {
42
42
  documentChanges: [
43
43
  {
@@ -1 +1 @@
1
- {"version":3,"file":"organize-imports.spec.js","sourceRoot":"","sources":["../src/organize-imports.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA,2CAA6B;AAC7B,yDAA4D;AAC5D,6CAA6C;AAC7C,yCAAyC;AAEzC,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACtD,MAAM,QAAQ,GAAG,IAAA,qBAAQ,EAAC,MAAM,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG;YACb,IAAI,EAAE;gBACF;oBACI,QAAQ;oBACR,WAAW,EAAE,EAAE;iBAClB;aACJ;SACJ,CAAC;QACF,MAAM,MAAM,GAAG,IAAA,yCAAsB,EAAC,QAA8C,EAAE,SAAS,CAAC,CAAC;QACjG,MAAM,QAAQ,GAAG,CAAC;gBACd,KAAK,EAAE,kBAAkB;gBACzB,IAAI,EAAE,sBAAW,CAAC,yBAAyB;gBAC3C,IAAI,EAAE;oBACF,eAAe,EAAE;wBACb;4BACI,KAAK,EAAE,EAAE;4BACT,YAAY,EAAE;gCACV,GAAG,EAAE,IAAA,gBAAG,EAAC,MAAM,CAAC;gCAChB,OAAO,EAAE,IAAI;6BAChB;yBACJ;qBACJ;iBACJ;aACJ,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAA,yCAAsB,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"organize-imports.spec.js","sourceRoot":"","sources":["../src/organize-imports.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA,2CAA6B;AAC7B,yDAA4D;AAC5D,6CAA6C;AAC7C,yCAA+C;AAE/C,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACtD,MAAM,QAAQ,GAAG,IAAA,qBAAQ,EAAC,MAAM,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG;YACb,IAAI,EAAE;gBACF;oBACI,QAAQ;oBACR,WAAW,EAAE,EAAE;iBAClB;aACJ;SACJ,CAAC;QACF,MAAM,MAAM,GAAG,IAAA,yCAAsB,EAAC,QAA8C,EAAE,SAAS,CAAC,CAAC;QACjG,MAAM,QAAQ,GAAG,CAAC;gBACd,KAAK,EAAE,kBAAkB;gBACzB,IAAI,EAAE,sBAAc,CAAC,uBAAuB,CAAC,KAAK;gBAClD,IAAI,EAAE;oBACF,eAAe,EAAE;wBACb;4BACI,KAAK,EAAE,EAAE;4BACT,YAAY,EAAE;gCACV,GAAG,EAAE,IAAA,gBAAG,EAAC,MAAM,CAAC;gCAChB,OAAO,EAAE,IAAI;6BAChB;yBACJ;qBACJ;iBACJ;aACJ,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAA,yCAAsB,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -24,16 +24,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  __setModuleDefault(result, mod);
25
25
  return result;
26
26
  };
27
- var __importDefault = (this && this.__importDefault) || function (mod) {
28
- return (mod && mod.__esModule) ? mod : { "default": mod };
29
- };
30
27
  Object.defineProperty(exports, "__esModule", { value: true });
31
28
  exports.Range = exports.asPlainText = exports.asTagBodyText = exports.asTagDocumentation = exports.asTagsDocumentation = exports.asDocumentation = exports.asRange = exports.toDocumentHighlight = exports.toTextDocumentEdit = exports.toTextEdit = exports.toDiagnostic = exports.toSymbolKind = exports.toFileRangeRequestArgs = exports.toLocation = exports.toPosition = exports.normalizeFsPath = exports.normalizePath = exports.pathToUri = exports.uriToPath = void 0;
32
29
  const lsp = __importStar(require("vscode-languageserver/node"));
33
- const vscode_uri_1 = __importDefault(require("vscode-uri"));
30
+ const vscode_uri_1 = require("vscode-uri");
34
31
  const RE_PATHSEP_WINDOWS = /\\/g;
35
32
  function uriToPath(stringUri) {
36
- const uri = vscode_uri_1.default.parse(stringUri);
33
+ const uri = vscode_uri_1.URI.parse(stringUri);
37
34
  if (uri.scheme !== 'file') {
38
35
  return undefined;
39
36
  }
@@ -44,10 +41,10 @@ function parsePathOrUri(filepath) {
44
41
  // handles valid URIs from yarn pnp, will error if doesn't have scheme
45
42
  // zipfile:/foo/bar/baz.zip::path/to/module
46
43
  if (filepath.startsWith('zipfile:')) {
47
- return vscode_uri_1.default.parse(filepath);
44
+ return vscode_uri_1.URI.parse(filepath);
48
45
  }
49
46
  // handles valid filepaths from everything else /path/to/module
50
- return vscode_uri_1.default.file(filepath);
47
+ return vscode_uri_1.URI.file(filepath);
51
48
  }
52
49
  function pathToUri(filepath, documents) {
53
50
  const fileUri = parsePathOrUri(filepath);
@@ -65,7 +62,7 @@ exports.pathToUri = pathToUri;
65
62
  * will be normalized to "c:/path/file.ts".
66
63
  */
67
64
  function normalizePath(filePath) {
68
- const fsPath = vscode_uri_1.default.file(filePath).fsPath;
65
+ const fsPath = vscode_uri_1.URI.file(filePath).fsPath;
69
66
  return normalizeFsPath(fsPath);
70
67
  }
71
68
  exports.normalizePath = normalizePath;
@@ -77,7 +74,7 @@ function normalizeFsPath(fsPath) {
77
74
  }
78
75
  exports.normalizeFsPath = normalizeFsPath;
79
76
  function currentVersion(filepath, documents) {
80
- const fileUri = vscode_uri_1.default.file(filepath);
77
+ const fileUri = vscode_uri_1.URI.file(filepath);
81
78
  const normalizedFilepath = normalizePath(fileUri.fsPath);
82
79
  const document = documents && documents.get(normalizedFilepath);
83
80
  return document ? document.version : null;
@@ -1 +1 @@
1
- {"version":3,"file":"protocol-translation.js","sourceRoot":"","sources":["../src/protocol-translation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol-translation.js","sourceRoot":"","sources":["../src/protocol-translation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { LspDocument } from './document';
2
+ /**
3
+ * Transforms the semantic token spans given by the ts-server into lsp compatible spans.
4
+ * @param doc the document we are operating on
5
+ * @param spans the spans given by ts-server
6
+ * @returns lsp compatible spans
7
+ */
8
+ export declare function transformSpans(doc: LspDocument, spans: number[]): number[];
9
+ //# sourceMappingURL=semantic-tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-tokens.d.ts","sourceRoot":"","sources":["../src/semantic-tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAQzC;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,GAAI,MAAM,EAAE,CAiC3E"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transformSpans = void 0;
4
+ // copied from https://github.com/microsoft/TypeScript/blob/main/src/services/classifier2020.ts
5
+ var TokenEncodingConsts;
6
+ (function (TokenEncodingConsts) {
7
+ TokenEncodingConsts[TokenEncodingConsts["typeOffset"] = 8] = "typeOffset";
8
+ TokenEncodingConsts[TokenEncodingConsts["modifierMask"] = 255] = "modifierMask";
9
+ })(TokenEncodingConsts || (TokenEncodingConsts = {}));
10
+ /**
11
+ * Transforms the semantic token spans given by the ts-server into lsp compatible spans.
12
+ * @param doc the document we are operating on
13
+ * @param spans the spans given by ts-server
14
+ * @returns lsp compatible spans
15
+ */
16
+ function transformSpans(doc, spans) {
17
+ const lspSpans = [];
18
+ let previousLine = 0;
19
+ let previousTokenStart = 0;
20
+ for (let i = 0; i < spans.length; i += 3) {
21
+ // ts-server sends us a packed array that contains 3 elements per 1 token:
22
+ // 1. the start position of the token
23
+ // 2. length of the token
24
+ // 3. token type & modifier packed into a bitset
25
+ const tokenStart = spans[i];
26
+ const tokenLength = spans[i + 1];
27
+ const tokenTypeBitSet = spans[i + 2];
28
+ // unpack the modifier and type: https://github.com/microsoft/TypeScript/blob/main/src/services/classifier2020.ts#L45
29
+ const tokenModifier = tokenTypeBitSet & TokenEncodingConsts.modifierMask;
30
+ const tokenType = (tokenTypeBitSet >> TokenEncodingConsts.typeOffset) - 1;
31
+ const { line, character } = doc.positionAt(tokenStart);
32
+ // lsp spec requires 5 elements per token instead of 3:
33
+ // 1. delta line number (relative to the previous line)
34
+ // 2. delta token start position (relative to the previous token)
35
+ // 3. length of the token
36
+ // 4. type of the token (e.g. function, comment, enum etc.)
37
+ // 5. token modifier (static, async etc.)
38
+ const deltaLine = line - previousLine;
39
+ const deltaStart = previousLine === line ? character - previousTokenStart : character;
40
+ lspSpans.push(deltaLine, deltaStart, tokenLength, tokenType, tokenModifier);
41
+ previousTokenStart = character;
42
+ previousLine = line;
43
+ }
44
+ return lspSpans;
45
+ }
46
+ exports.transformSpans = transformSpans;
47
+ //# sourceMappingURL=semantic-tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-tokens.js","sourceRoot":"","sources":["../src/semantic-tokens.ts"],"names":[],"mappings":";;;AAEA,+FAA+F;AAC/F,IAAK,mBAGJ;AAHD,WAAK,mBAAmB;IACpB,yEAAc,CAAA;IACd,+EAAoC,CAAA;AACxC,CAAC,EAHI,mBAAmB,KAAnB,mBAAmB,QAGvB;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,GAAgB,EAAE,KAAe;IAC5D,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QACtC,0EAA0E;QAC1E,qCAAqC;QACrC,yBAAyB;QACzB,gDAAgD;QAChD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACjC,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAErC,qHAAqH;QACrH,MAAM,aAAa,GAAG,eAAe,GAAG,mBAAmB,CAAC,YAAY,CAAC;QACzE,MAAM,SAAS,GAAG,CAAC,eAAe,IAAI,mBAAmB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAE1E,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACvD,uDAAuD;QACvD,uDAAuD;QACvD,iEAAiE;QACjE,yBAAyB;QACzB,2DAA2D;QAC3D,yCAAyC;QACzC,MAAM,SAAS,GAAG,IAAI,GAAG,YAAY,CAAC;QACtC,MAAM,UAAU,GAAG,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,GAAG,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;QAEtF,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAE5E,kBAAkB,GAAG,SAAS,CAAC;QAC/B,YAAY,GAAG,IAAI,CAAC;KACvB;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAjCD,wCAiCC"}
@@ -1,8 +1,8 @@
1
1
  import * as lsp from 'vscode-languageserver/node';
2
2
  import { LspServer } from './lsp-server';
3
3
  export declare function getDefaultClientCapabilities(): lsp.ClientCapabilities;
4
- export declare function uri(suffix?: string): string;
5
- export declare function filePath(suffix?: string): string;
4
+ export declare function uri(...components: string[]): string;
5
+ export declare function filePath(...components: string[]): string;
6
6
  export declare function readContents(path: string): string;
7
7
  export declare function positionAt(document: lsp.TextDocumentItem, idx: number): lsp.Position;
8
8
  export declare function position(document: lsp.TextDocumentItem, match: string): lsp.Position;
@@ -1 +1 @@
1
- {"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../src/test-utils.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,GAAG,MAAM,4BAA4B,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAKzC,wBAAgB,4BAA4B,IAAI,GAAG,CAAC,kBAAkB,CAiBrE;AAED,wBAAgB,GAAG,CAAC,MAAM,SAAK,GAAG,MAAM,CAGvC;AAED,wBAAgB,QAAQ,CAAC,MAAM,SAAK,GAAG,MAAM,CAE5C;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,gBAAgB,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,QAAQ,CAOpF;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,QAAQ,CAEpF;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,QAAQ,CAEzF;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,QAAQ,CAExF;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE;IACxC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,wBAAwB,KAAK,IAAI,CAAC;IACjE,0BAA0B,CAAC,EAAE,GAAG,CAAC,kBAAkB,CAAC;CACvD,GAAG,OAAO,CAAC,SAAS,CAAC,CA+BrB"}
1
+ {"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../src/test-utils.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,GAAG,MAAM,4BAA4B,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAKzC,wBAAgB,4BAA4B,IAAI,GAAG,CAAC,kBAAkB,CAiBrE;AAED,wBAAgB,GAAG,CAAC,GAAG,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAGnD;AAED,wBAAgB,QAAQ,CAAC,GAAG,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAExD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,gBAAgB,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,QAAQ,CAOpF;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,QAAQ,CAEpF;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,QAAQ,CAEzF;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,QAAQ,CAExF;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE;IACxC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,wBAAwB,KAAK,IAAI,CAAC;IACjE,0BAA0B,CAAC,EAAE,GAAG,CAAC,kBAAkB,CAAC;CACvD,GAAG,OAAO,CAAC,SAAS,CAAC,CAyCrB"}
package/lib/test-utils.js CHANGED
@@ -41,8 +41,8 @@ const lsp = __importStar(require("vscode-languageserver/node"));
41
41
  const protocol_translation_1 = require("./protocol-translation");
42
42
  const lsp_server_1 = require("./lsp-server");
43
43
  const logger_1 = require("./logger");
44
- const utils_1 = require("./utils");
45
44
  const vscode_languageserver_textdocument_1 = require("vscode-languageserver-textdocument");
45
+ const versionProvider_1 = require("./utils/versionProvider");
46
46
  function getDefaultClientCapabilities() {
47
47
  return {
48
48
  textDocument: {
@@ -62,13 +62,13 @@ function getDefaultClientCapabilities() {
62
62
  };
63
63
  }
64
64
  exports.getDefaultClientCapabilities = getDefaultClientCapabilities;
65
- function uri(suffix = '') {
66
- const resolved = filePath(suffix);
65
+ function uri(...components) {
66
+ const resolved = filePath(...components);
67
67
  return (0, protocol_translation_1.pathToUri)(resolved, undefined);
68
68
  }
69
69
  exports.uri = uri;
70
- function filePath(suffix = '') {
71
- return (0, protocol_translation_1.normalizePath)(path.resolve(__dirname, '..', 'test-data', suffix));
70
+ function filePath(...components) {
71
+ return (0, protocol_translation_1.normalizePath)(path.resolve(__dirname, '..', 'test-data', ...components));
72
72
  }
73
73
  exports.filePath = filePath;
74
74
  function readContents(path) {
@@ -98,13 +98,23 @@ function lastPosition(document, match) {
98
98
  exports.lastPosition = lastPosition;
99
99
  function createServer(options) {
100
100
  return __awaiter(this, void 0, void 0, function* () {
101
+ const typescriptVersionProvider = new versionProvider_1.TypeScriptVersionProvider();
102
+ const bundled = typescriptVersionProvider.bundledVersion();
101
103
  const logger = new logger_1.ConsoleLogger(false);
102
104
  const server = new lsp_server_1.LspServer({
103
105
  logger,
104
- tsserverPath: (0, utils_1.getTsserverExecutable)(),
106
+ tsserverPath: bundled.tsServerPath,
105
107
  tsserverLogVerbosity: options.tsserverLogVerbosity,
106
108
  tsserverLogFile: path.resolve(__dirname, '../tsserver.log'),
107
109
  lspClient: {
110
+ setClientCapabilites() { },
111
+ createProgressReporter() {
112
+ return {
113
+ begin() { },
114
+ report() { },
115
+ end() { }
116
+ };
117
+ },
108
118
  publishDiagnostics: options.publishDiagnostics,
109
119
  showMessage(args) {
110
120
  throw args; // should not be called.
@@ -1 +1 @@
1
- {"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../src/test-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../src/test-utils.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,14 @@ import { InlayHintsOptions } from './lsp-protocol.inlayHints.proposed';
7
7
  export declare namespace TypeScriptRenameRequest {
8
8
  const type: lsp.RequestType<lsp.TextDocumentPositionParams, void, void>;
9
9
  }
10
+ export declare class DisplayPartKind {
11
+ static readonly functionName = "functionName";
12
+ static readonly methodName = "methodName";
13
+ static readonly parameterName = "parameterName";
14
+ static readonly propertyName = "propertyName";
15
+ static readonly punctuation = "punctuation";
16
+ static readonly text = "text";
17
+ }
10
18
  export interface TypeScriptPlugin {
11
19
  name: string;
12
20
  location: string;
@@ -15,6 +23,7 @@ export interface TypeScriptInitializationOptions {
15
23
  disableAutomaticTypingAcquisition?: boolean;
16
24
  logVerbosity?: string;
17
25
  maxTsServerMemory?: number;
26
+ npmLocation?: string;
18
27
  plugins: TypeScriptPlugin[];
19
28
  preferences?: UserPreferences;
20
29
  hostInfo?: string;
@@ -29,8 +38,17 @@ export interface TypeScriptWorkspaceSettingsLanguageSettings {
29
38
  format?: FormatCodeSettings;
30
39
  inlayHints?: InlayHintsOptions;
31
40
  }
41
+ interface TypeScriptWorkspaceSettingsDiagnostics {
42
+ ignoredCodes?: number[];
43
+ }
32
44
  export interface TypeScriptWorkspaceSettings {
33
45
  javascript?: TypeScriptWorkspaceSettingsLanguageSettings;
34
46
  typescript?: TypeScriptWorkspaceSettingsLanguageSettings;
47
+ completions?: CompletionOptions;
48
+ diagnostics?: TypeScriptWorkspaceSettingsDiagnostics;
49
+ }
50
+ export interface CompletionOptions {
51
+ completeFunctionCalls?: boolean;
35
52
  }
53
+ export {};
36
54
  //# sourceMappingURL=ts-protocol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ts-protocol.d.ts","sourceRoot":"","sources":["../src/ts-protocol.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,OAAO,KAAK,GAAG,MAAM,gCAAgC,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAEvE,yBAAiB,uBAAuB,CAAC;IAC9B,MAAM,IAAI,6DAAwF,CAAC;CAC7G;AAED,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,+BAA+B;IAC5C,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,oBAAY,0BAA0B,GAAG,GAAG,CAAC,gBAAgB,GAAG;IAC5D,qBAAqB,CAAC,EAAE,OAAO,CAAC,+BAA+B,CAAC,CAAC;CACpE,CAAC;AAEF,MAAM,WAAW,0BAA2B,SAAQ,GAAG,CAAC,gBAAgB;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,2CAA2C;IACxD,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAClC;AAED,MAAM,WAAW,2BAA2B;IACxC,UAAU,CAAC,EAAE,2CAA2C,CAAC;IACzD,UAAU,CAAC,EAAE,2CAA2C,CAAC;CAC5D"}
1
+ {"version":3,"file":"ts-protocol.d.ts","sourceRoot":"","sources":["../src/ts-protocol.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,OAAO,KAAK,GAAG,MAAM,gCAAgC,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAEvE,yBAAiB,uBAAuB,CAAC;IAC9B,MAAM,IAAI,6DAAwF,CAAC;CAC7G;AAED,qBAAa,eAAe;IACxB,gBAAuB,YAAY,kBAAkB;IACrD,gBAAuB,UAAU,gBAAgB;IACjD,gBAAuB,aAAa,mBAAmB;IACvD,gBAAuB,YAAY,kBAAkB;IACrD,gBAAuB,WAAW,iBAAiB;IACnD,gBAAuB,IAAI,UAAU;CACxC;AAED,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,+BAA+B;IAC5C,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,oBAAY,0BAA0B,GAAG,GAAG,CAAC,gBAAgB,GAAG;IAC5D,qBAAqB,CAAC,EAAE,OAAO,CAAC,+BAA+B,CAAC,CAAC;CACpE,CAAC;AAEF,MAAM,WAAW,0BAA2B,SAAQ,GAAG,CAAC,gBAAgB;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,2CAA2C;IACxD,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAClC;AAED,UAAU,sCAAsC;IAC5C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,2BAA2B;IACxC,UAAU,CAAC,EAAE,2CAA2C,CAAC;IACzD,UAAU,CAAC,EAAE,2CAA2C,CAAC;IACzD,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,WAAW,CAAC,EAAE,sCAAsC,CAAC;CACxD;AAED,MAAM,WAAW,iBAAiB;IAC9B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC"}
@@ -25,7 +25,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  return result;
26
26
  };
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.TypeScriptRenameRequest = void 0;
28
+ exports.DisplayPartKind = exports.TypeScriptRenameRequest = void 0;
29
29
  /**
30
30
  * **IMPORTANT** this module should not depend on `vscode-languageserver` only protocol and types
31
31
  */
@@ -34,4 +34,13 @@ var TypeScriptRenameRequest;
34
34
  (function (TypeScriptRenameRequest) {
35
35
  TypeScriptRenameRequest.type = new lsp.RequestType('_typescript.rename');
36
36
  })(TypeScriptRenameRequest = exports.TypeScriptRenameRequest || (exports.TypeScriptRenameRequest = {}));
37
+ class DisplayPartKind {
38
+ }
39
+ exports.DisplayPartKind = DisplayPartKind;
40
+ DisplayPartKind.functionName = 'functionName';
41
+ DisplayPartKind.methodName = 'methodName';
42
+ DisplayPartKind.parameterName = 'parameterName';
43
+ DisplayPartKind.propertyName = 'propertyName';
44
+ DisplayPartKind.punctuation = 'punctuation';
45
+ DisplayPartKind.text = 'text';
37
46
  //# sourceMappingURL=ts-protocol.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ts-protocol.js","sourceRoot":"","sources":["../src/ts-protocol.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;AAEH;;GAEG;AACH,oEAAsD;AAItD,IAAiB,uBAAuB,CAEvC;AAFD,WAAiB,uBAAuB;IACvB,4BAAI,GAAG,IAAI,GAAG,CAAC,WAAW,CAA6C,oBAAoB,CAAC,CAAC;AAC9G,CAAC,EAFgB,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAEvC"}
1
+ {"version":3,"file":"ts-protocol.js","sourceRoot":"","sources":["../src/ts-protocol.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;AAEH;;GAEG;AACH,oEAAsD;AAItD,IAAiB,uBAAuB,CAEvC;AAFD,WAAiB,uBAAuB;IACvB,4BAAI,GAAG,IAAI,GAAG,CAAC,WAAW,CAA6C,oBAAoB,CAAC,CAAC;AAC9G,CAAC,EAFgB,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAEvC;AAED,MAAa,eAAe;;AAA5B,0CAOC;AAN0B,4BAAY,GAAG,cAAc,CAAC;AAC9B,0BAAU,GAAG,YAAY,CAAC;AAC1B,6BAAa,GAAG,eAAe,CAAC;AAChC,4BAAY,GAAG,cAAc,CAAC;AAC9B,2BAAW,GAAG,aAAa,CAAC;AAC5B,oBAAI,GAAG,MAAM,CAAC"}
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import protocol from 'typescript/lib/protocol';
2
3
  import { CommandTypes } from './tsp-command-types';
3
4
  import { Logger } from './logger';
@@ -9,9 +10,11 @@ export interface TspClientOptions {
9
10
  logVerbosity?: string;
10
11
  disableAutomaticTypingAcquisition?: boolean;
11
12
  maxTsServerMemory?: number;
13
+ npmLocation?: string;
12
14
  globalPlugins?: string[];
13
15
  pluginProbeLocations?: string[];
14
16
  onEvent?: (event: protocol.Event) => void;
17
+ onExit?: (exitCode: number | null, signal: NodeJS.Signals | null) => void;
15
18
  }
16
19
  interface TypeScriptRequestTypes {
17
20
  'geterr': [protocol.GeterrRequestArgs, any];
@@ -27,7 +30,7 @@ interface TypeScriptRequestTypes {
27
30
  'format': [protocol.FormatRequestArgs, protocol.FormatResponse];
28
31
  'formatonkey': [protocol.FormatOnKeyRequestArgs, protocol.FormatResponse];
29
32
  'getApplicableRefactors': [protocol.GetApplicableRefactorsRequestArgs, protocol.GetApplicableRefactorsResponse];
30
- 'getCodeFixes': [protocol.CodeFixRequestArgs, protocol.GetCodeFixesResponse];
33
+ 'getCodeFixes': [protocol.CodeFixRequestArgs, protocol.CodeFixResponse];
31
34
  'getCombinedCodeFix': [protocol.GetCombinedCodeFixRequestArgs, protocol.GetCombinedCodeFixResponse];
32
35
  'getEditsForFileRename': [protocol.GetEditsForFileRenameRequestArgs, protocol.GetEditsForFileRenameResponse];
33
36
  'getEditsForRefactor': [protocol.GetEditsForRefactorRequestArgs, protocol.GetEditsForRefactorResponse];
@@ -46,6 +49,7 @@ interface TypeScriptRequestTypes {
46
49
  'signatureHelp': [protocol.SignatureHelpRequestArgs, protocol.SignatureHelpResponse];
47
50
  'typeDefinition': [protocol.FileLocationRequestArgs, protocol.TypeDefinitionResponse];
48
51
  'provideInlayHints': [protocol.InlayHintsRequestArgs, protocol.InlayHintsResponse];
52
+ 'encodedSemanticClassifications-full': [protocol.EncodedSemanticClassificationsRequestArgs, protocol.EncodedSemanticClassificationsResponse];
49
53
  }
50
54
  export declare class TspClient {
51
55
  private options;
@@ -57,7 +61,8 @@ export declare class TspClient {
57
61
  private tsserverLogger;
58
62
  private cancellationPipeName;
59
63
  constructor(options: TspClientOptions);
60
- start(): void;
64
+ start(): boolean;
65
+ shutdown(): void;
61
66
  notify(command: CommandTypes.Open, args: protocol.OpenRequestArgs): void;
62
67
  notify(command: CommandTypes.Close, args: protocol.FileRequestArgs): void;
63
68
  notify(command: CommandTypes.Saveto, args: protocol.SavetoRequestArgs): void;
@@ -1 +1 @@
1
- {"version":3,"file":"tsp-client.d.ts","sourceRoot":"","sources":["../src/tsp-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tsp-client.d.ts","sourceRoot":"","sources":["../src/tsp-client.ts"],"names":[],"mappings":"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"}
package/lib/tsp-client.js CHANGED
@@ -30,7 +30,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
30
30
  Object.defineProperty(exports, "__esModule", { value: true });
31
31
  exports.TspClient = void 0;
32
32
  const fs = __importStar(require("fs"));
33
- const path = __importStar(require("path"));
34
33
  const cp = __importStar(require("child_process"));
35
34
  const readline = __importStar(require("readline"));
36
35
  const decoder = __importStar(require("string_decoder"));
@@ -47,9 +46,9 @@ class TspClient {
47
46
  }
48
47
  start() {
49
48
  if (this.readlineInterface) {
50
- return;
49
+ return false;
51
50
  }
52
- const { tsserverPath, logFile, logVerbosity, disableAutomaticTypingAcquisition, maxTsServerMemory, globalPlugins, pluginProbeLocations } = this.options;
51
+ const { tsserverPath, logFile, logVerbosity, disableAutomaticTypingAcquisition, maxTsServerMemory, npmLocation, globalPlugins, pluginProbeLocations } = this.options;
53
52
  const args = [];
54
53
  if (logFile) {
55
54
  args.push('--logFile', logFile);
@@ -66,29 +65,30 @@ class TspClient {
66
65
  if (disableAutomaticTypingAcquisition) {
67
66
  args.push('--disableAutomaticTypingAcquisition');
68
67
  }
68
+ if (npmLocation) {
69
+ this.logger.info(`using npm from ${npmLocation}`);
70
+ args.push('--npmLocation', npmLocation);
71
+ }
69
72
  this.cancellationPipeName = tempy_1.default.file({ name: 'tscancellation' });
70
73
  args.push('--cancellationPipeName', `${this.cancellationPipeName}*`);
71
74
  this.logger.log(`Starting tsserver : '${tsserverPath} ${args.join(' ')}'`);
72
- const tsserverPathIsModule = path.extname(tsserverPath) === '.js';
73
75
  const options = {
74
76
  silent: true,
75
77
  execArgv: [
76
78
  ...maxTsServerMemory ? [`--max-old-space-size=${maxTsServerMemory}`] : []
77
79
  ]
78
80
  };
79
- this.tsserverProc = tsserverPathIsModule
80
- ? cp.fork(tsserverPath, args, options)
81
- : cp.spawn(tsserverPath, args);
82
- process.on('exit', () => {
83
- var _a, _b;
84
- (_a = this.readlineInterface) === null || _a === void 0 ? void 0 : _a.close();
85
- (_b = this.tsserverProc.stdin) === null || _b === void 0 ? void 0 : _b.destroy();
86
- this.tsserverProc.kill();
81
+ this.tsserverProc = cp.fork(tsserverPath, args, options);
82
+ this.tsserverProc.on('exit', (exitCode, signal) => {
83
+ this.shutdown();
84
+ if (this.options.onExit) {
85
+ this.options.onExit(exitCode, signal);
86
+ }
87
87
  });
88
88
  const { stdout, stdin, stderr } = this.tsserverProc;
89
89
  if (!stdout || !stdin || !stderr) {
90
90
  this.logger.error(`Failed initializing input/output of tsserver (stdin: ${!!stdin}, stdout: ${!!stdout}, stderr: ${!!stderr})`);
91
- process.exit(1);
91
+ return false;
92
92
  }
93
93
  this.readlineInterface = readline.createInterface(stdout, stdin, undefined);
94
94
  this.readlineInterface.on('line', line => this.processMessage(line));
@@ -97,6 +97,13 @@ class TspClient {
97
97
  const stringMsg = typeof data === 'string' ? data : dec.write(data);
98
98
  this.tsserverLogger.error(stringMsg);
99
99
  });
100
+ return true;
101
+ }
102
+ shutdown() {
103
+ var _a, _b;
104
+ (_a = this.readlineInterface) === null || _a === void 0 ? void 0 : _a.close();
105
+ (_b = this.tsserverProc.stdin) === null || _b === void 0 ? void 0 : _b.destroy();
106
+ this.tsserverProc.kill();
100
107
  }
101
108
  notify(command, args) {
102
109
  this.sendMessage(command, true, args);
@@ -1 +1 @@
1
- {"version":3,"file":"tsp-client.js","sourceRoot":"","sources":["../src/tsp-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tsp-client.js","sourceRoot":"","sources":["../src/tsp-client.ts"],"names":[],"mappings":"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"}