typescript-language-server 1.1.2 → 2.0.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 (110) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/LICENSE +39 -0
  3. package/README.md +43 -2
  4. package/lib/cli.js +6 -6
  5. package/lib/cli.js.map +1 -1
  6. package/lib/completion.d.ts +1 -2
  7. package/lib/completion.d.ts.map +1 -1
  8. package/lib/completion.js +38 -19
  9. package/lib/completion.js.map +1 -1
  10. package/lib/configuration-manager.d.ts +3 -10
  11. package/lib/configuration-manager.d.ts.map +1 -1
  12. package/lib/configuration-manager.js +24 -4
  13. package/lib/configuration-manager.js.map +1 -1
  14. package/lib/diagnostic-queue.d.ts +1 -1
  15. package/lib/diagnostic-queue.d.ts.map +1 -1
  16. package/lib/features/inlay-hints.js +2 -2
  17. package/lib/features/inlay-hints.js.map +1 -1
  18. package/lib/lsp-connection.d.ts +5 -5
  19. package/lib/lsp-connection.d.ts.map +1 -1
  20. package/lib/lsp-connection.js +2 -3
  21. package/lib/lsp-connection.js.map +1 -1
  22. package/lib/lsp-server.d.ts +7 -10
  23. package/lib/lsp-server.d.ts.map +1 -1
  24. package/lib/lsp-server.js +61 -115
  25. package/lib/lsp-server.js.map +1 -1
  26. package/lib/lsp-server.spec.js +382 -81
  27. package/lib/lsp-server.spec.js.map +1 -1
  28. package/lib/refactor.d.ts +2 -1
  29. package/lib/refactor.d.ts.map +1 -1
  30. package/lib/refactor.js +17 -7
  31. package/lib/refactor.js.map +1 -1
  32. package/lib/test-utils.d.ts +18 -0
  33. package/lib/test-utils.d.ts.map +1 -1
  34. package/lib/test-utils.js +24 -12
  35. package/lib/test-utils.js.map +1 -1
  36. package/lib/ts-protocol.d.ts +30 -8
  37. package/lib/ts-protocol.d.ts.map +1 -1
  38. package/lib/ts-protocol.js +7 -1
  39. package/lib/ts-protocol.js.map +1 -1
  40. package/lib/tsServer/callbackMap.d.ts +17 -0
  41. package/lib/tsServer/callbackMap.d.ts.map +1 -0
  42. package/lib/tsServer/callbackMap.js +47 -0
  43. package/lib/tsServer/callbackMap.js.map +1 -0
  44. package/lib/tsServer/cancellation.d.ts +22 -0
  45. package/lib/tsServer/cancellation.d.ts.map +1 -0
  46. package/lib/tsServer/cancellation.js +51 -0
  47. package/lib/tsServer/cancellation.js.map +1 -0
  48. package/lib/tsServer/logDirectoryProvider.d.ts +13 -0
  49. package/lib/tsServer/logDirectoryProvider.d.ts.map +1 -0
  50. package/lib/tsServer/logDirectoryProvider.js +49 -0
  51. package/lib/tsServer/logDirectoryProvider.js.map +1 -0
  52. package/lib/tsServer/requestQueue.d.ts +34 -0
  53. package/lib/tsServer/requestQueue.d.ts.map +1 -0
  54. package/lib/tsServer/requestQueue.js +74 -0
  55. package/lib/tsServer/requestQueue.js.map +1 -0
  56. package/lib/tsServer/requests.d.ts +68 -0
  57. package/lib/tsServer/requests.d.ts.map +1 -0
  58. package/lib/tsServer/requests.js +28 -0
  59. package/lib/tsServer/requests.js.map +1 -0
  60. package/lib/tsServer/server.d.ts +95 -0
  61. package/lib/tsServer/server.d.ts.map +1 -0
  62. package/lib/tsServer/server.js +209 -0
  63. package/lib/tsServer/server.js.map +1 -0
  64. package/lib/tsServer/serverError.d.ts +18 -0
  65. package/lib/tsServer/serverError.d.ts.map +1 -0
  66. package/lib/tsServer/serverError.js +53 -0
  67. package/lib/tsServer/serverError.js.map +1 -0
  68. package/lib/tsServer/serverProcess.d.ts +7 -0
  69. package/lib/tsServer/serverProcess.d.ts.map +1 -0
  70. package/lib/tsServer/serverProcess.js +238 -0
  71. package/lib/tsServer/serverProcess.js.map +1 -0
  72. package/lib/tsServer/spawner.d.ts +19 -0
  73. package/lib/tsServer/spawner.d.ts.map +1 -0
  74. package/lib/tsServer/spawner.js +130 -0
  75. package/lib/tsServer/spawner.js.map +1 -0
  76. package/lib/tsServer/tracer.d.ts +26 -0
  77. package/lib/tsServer/tracer.d.ts.map +1 -0
  78. package/lib/tsServer/tracer.js +80 -0
  79. package/lib/tsServer/tracer.js.map +1 -0
  80. package/lib/{utils → tsServer}/versionProvider.d.ts +8 -8
  81. package/lib/tsServer/versionProvider.d.ts.map +1 -0
  82. package/lib/{utils → tsServer}/versionProvider.js +28 -22
  83. package/lib/tsServer/versionProvider.js.map +1 -0
  84. package/lib/tsp-client.d.ts +25 -55
  85. package/lib/tsp-client.d.ts.map +1 -1
  86. package/lib/tsp-client.js +186 -140
  87. package/lib/tsp-client.js.map +1 -1
  88. package/lib/tsp-client.spec.js +23 -8
  89. package/lib/tsp-client.spec.js.map +1 -1
  90. package/lib/utils/api.d.ts +1 -0
  91. package/lib/utils/api.d.ts.map +1 -1
  92. package/lib/utils/api.js +1 -0
  93. package/lib/utils/api.js.map +1 -1
  94. package/lib/utils/configuration.d.ts +17 -8
  95. package/lib/utils/configuration.d.ts.map +1 -1
  96. package/lib/utils/configuration.js +43 -1
  97. package/lib/utils/configuration.js.map +1 -1
  98. package/lib/utils/logger.d.ts +65 -0
  99. package/lib/utils/logger.d.ts.map +1 -0
  100. package/lib/utils/logger.js +189 -0
  101. package/lib/utils/logger.js.map +1 -0
  102. package/lib/utils/modules-resolver.spec.js +1 -1
  103. package/lib/utils/modules-resolver.spec.js.map +1 -1
  104. package/package.json +12 -12
  105. package/lib/logger.d.ts +0 -48
  106. package/lib/logger.d.ts.map +0 -1
  107. package/lib/logger.js +0 -106
  108. package/lib/logger.js.map +0 -1
  109. package/lib/utils/versionProvider.d.ts.map +0 -1
  110. package/lib/utils/versionProvider.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,6 +1,41 @@
1
1
  # Changelog
2
2
  All notable changes to this project will be documented in this file.
3
3
 
4
+ ## [2.0.0](https://github.com/typescript-language-server/typescript-language-server/compare/v1.2.0...v2.0.0) (2022-09-28)
5
+
6
+
7
+ ### ⚠ BREAKING CHANGES
8
+
9
+ * Replace the CLI argument `--tsserver-log-file` with `tsserver.logDirectory` option provided through `initializationOptions` of the `initialize` request.
10
+
11
+ ### Features
12
+
13
+ * add `tsserver.logDirectory` to `initializationOptions` ([#588](https://github.com/typescript-language-server/typescript-language-server/issues/588)) ([114d430](https://github.com/typescript-language-server/typescript-language-server/commit/114d4309cb1450585f991604118d3eff3690237c))
14
+ * add `tsserver.trace` init option for tracing tsserver ([#586](https://github.com/typescript-language-server/typescript-language-server/issues/586)) ([e3e8930](https://github.com/typescript-language-server/typescript-language-server/commit/e3e893094e501e3d6a72148e05f11286d688d2bd))
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * **completions:** don't create snippet kind without `completeFunctionCalls` ([#595](https://github.com/typescript-language-server/typescript-language-server/issues/595)) ([7f69c27](https://github.com/typescript-language-server/typescript-language-server/commit/7f69c27eb8cce71d3db006623757a74f93d76dd3))
20
+ * **completions:** remove filterText override for bracket accessor ([#593](https://github.com/typescript-language-server/typescript-language-server/issues/593)) ([1ed4e2e](https://github.com/typescript-language-server/typescript-language-server/commit/1ed4e2eccf0b52e10204b5c2617d4944ae513afd))
21
+ * wrong import completion when insert/replace supported ([#592](https://github.com/typescript-language-server/typescript-language-server/issues/592)) ([4fe902a](https://github.com/typescript-language-server/typescript-language-server/commit/4fe902a9e28ec4c3ccc14a9e75488efeb8079544))
22
+
23
+ ## [1.2.0](https://github.com/typescript-language-server/typescript-language-server/compare/v1.1.2...v1.2.0) (2022-09-12)
24
+
25
+
26
+ ### Features
27
+
28
+ * Add insert replace support for completions ([#583](https://github.com/typescript-language-server/typescript-language-server/issues/583)) ([fdf9d11](https://github.com/typescript-language-server/typescript-language-server/commit/fdf9d11200c49a160ed3c3bd523e4792bc98e99d))
29
+ * add support for new features from TypeScript 4.8 ([#576](https://github.com/typescript-language-server/typescript-language-server/issues/576)) ([7e88db3](https://github.com/typescript-language-server/typescript-language-server/commit/7e88db301a56d6d2dcd0fc1872d6baa386210497))
30
+ * include "triggerReason" and "kind" in code action requests ([#579](https://github.com/typescript-language-server/typescript-language-server/issues/579)) ([f872078](https://github.com/typescript-language-server/typescript-language-server/commit/f872078fa3b40d8b9b90f737fec7a4c808f1ccc7))
31
+ * support communicating with tsserver using IPC ([#585](https://github.com/typescript-language-server/typescript-language-server/issues/585)) ([8725b9b](https://github.com/typescript-language-server/typescript-language-server/commit/8725b9bee4432b7520ebd9adc67f4c65303b2c8c))
32
+ * support for codeAction disabledSupport client capability ([#578](https://github.com/typescript-language-server/typescript-language-server/issues/578)) ([f93b849](https://github.com/typescript-language-server/typescript-language-server/commit/f93b8493eeafda32c865c93e99025c8ca11c3226))
33
+
34
+
35
+ ### Bug Fixes
36
+
37
+ * only use optionalReplacementSpan if client supports InsertReplace ([#584](https://github.com/typescript-language-server/typescript-language-server/issues/584)) ([899ba6b](https://github.com/typescript-language-server/typescript-language-server/commit/899ba6b5c5f13faac8eec6478ced4d9f8d90836d))
38
+
4
39
  ## [1.1.2](https://github.com/typescript-language-server/typescript-language-server/compare/v1.1.1...v1.1.2) (2022-08-25)
5
40
 
6
41
 
package/LICENSE CHANGED
@@ -1,3 +1,42 @@
1
+ Parts of the code copied from the https://github.com/microsoft/vscode repository are licensed under the following license:
2
+
3
+ BEGIN LICENSE ----------------------------------------------------------------
4
+
5
+ MIT License
6
+
7
+ Copyright (c) 2015 - present Microsoft Corporation
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in all
17
+ copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25
+ SOFTWARE.
26
+
27
+ END LICESE -------------------------------------------------------------------
28
+
29
+ This applies to files that include the following license header:
30
+
31
+ /*---------------------------------------------------------------------------------------------
32
+ * Copyright (c) Microsoft Corporation. All rights reserved.
33
+ * Licensed under the MIT License. See License.txt in the project root for license information.
34
+ *--------------------------------------------------------------------------------------------*/
35
+
36
+
37
+ The rest of the code licensed under:
38
+
39
+
1
40
  Apache License
2
41
  Version 2.0, January 2004
3
42
  http://www.apache.org/licenses/
package/README.md CHANGED
@@ -61,7 +61,6 @@ typescript-language-server --stdio
61
61
  -V, --version output the version number
62
62
  --stdio use stdio (required option)
63
63
  --log-level <log-level> A number indicating the log level (4 = log, 3 = info, 2 = warn, 1 = error). Defaults to `3`.
64
- --tsserver-log-file <tsServerLogFile> Specify a tsserver log file. example: --tsserver-log-file=ts-logs.txt
65
64
  --tsserver-log-verbosity <verbosity> Specify tsserver log verbosity (off, terse, normal, verbose). Defaults to `normal`. example: --tsserver-log-verbosity=verbose
66
65
  --tsserver-path <path> Specify path to tsserver directory. example: --tsserver-path=/Users/me/typescript/lib/
67
66
  -h, --help output usage information
@@ -83,11 +82,39 @@ The language server accepts various settings through the `initializationOptions`
83
82
  | locale | string | The locale to use to show error messages. |
84
83
  | plugins | object[] | An array of `{ name: string, location: string }` objects for registering a Typescript plugins. **Default**: [] |
85
84
  | preferences | object | Preferences passed to the Typescript (`tsserver`) process. See below for more info. |
85
+ | tsserver | object | Options related to the `tsserver` process. See below for more info. |
86
+
87
+ The `tsserver` setting specifies additional options related to the internal `tsserver` process, like tracing and logging.
88
+
89
+ ```ts
90
+ interface TsserverOptions {
91
+ /**
92
+ * The path to the directory where the `tsserver` logs will be created.
93
+ * If not provided, the log files will be created within the workspace, inside the `.log` directory.
94
+ * If no workspace root is provided when initializating the server and no custom path is specified then
95
+ * the logs will not be created.
96
+ * @default undefined
97
+ */
98
+ logDirectory?: string;
99
+ /**
100
+ * The verbosity of logging of the tsserver communication.
101
+ * Delivered through the LSP messages and not related to file logging.
102
+ * @default 'off'
103
+ */
104
+ trace?: 'off' | 'messages' | 'verbose';
105
+ }
106
+ ```
86
107
 
87
108
  The `preferences` object is an object specifying preferences for the internal `tsserver` process. Those options depend on the version of Typescript used but at the time of writing Typescript v4.4.3 contains these options:
88
109
 
89
110
  ```ts
90
111
  interface UserPreferences {
112
+ /**
113
+ * Glob patterns of files to exclude from auto imports. Requires using TypeScript 4.8 or newer in the workspace.
114
+ * Relative paths are resolved relative to the workspace root.
115
+ * @since 4.8.2
116
+ */
117
+ autoImportFileExcludePatterns: [],
91
118
  disableSuggestions: boolean;
92
119
  quotePreference: "auto" | "double" | "single";
93
120
  /**
@@ -172,6 +199,12 @@ interface UserPreferences {
172
199
  includeInlayParameterNameHintsWhenArgumentMatchesName: boolean;
173
200
  includeInlayFunctionParameterTypeHints: boolean,
174
201
  includeInlayVariableTypeHints: boolean;
202
+ /**
203
+ * When disabled then type hints on variables whose name is identical to the type name won't be shown. Requires using TypeScript 4.8+ in the workspace.
204
+ * @since 4.8.2
205
+ * @default false
206
+ */
207
+ includeInlayVariableTypeHintsWhenTypeMatchesName: boolean;
175
208
  includeInlayPropertyDeclarationTypeHints: boolean;
176
209
  includeInlayFunctionLikeReturnTypeHints: boolean;
177
210
  includeInlayEnumMemberValueHints: boolean;
@@ -196,6 +229,7 @@ From the `preferences` options listed above, this server explicilty sets the fol
196
229
  includeCompletionsWithSnippetText: true,
197
230
  jsxAttributeCompletionStyle: "auto",
198
231
  providePrefixAndSuffixTextForRename: true,
232
+ provideRefactorNotApplicableReason: true,
199
233
  }
200
234
  ```
201
235
 
@@ -238,8 +272,14 @@ Some of the preferences can be controlled through the `workspace/didChangeConfig
238
272
  [language].inlayHints.includeInlayParameterNameHintsWhenArgumentMatchesName: boolean;
239
273
  [language].inlayHints.includeInlayPropertyDeclarationTypeHints: boolean;
240
274
  [language].inlayHints.includeInlayVariableTypeHints: boolean;
275
+ [language].inlayHints.includeInlayVariableTypeHintsWhenTypeMatchesName: boolean;
241
276
  /**
242
277
  * Complete functions with their parameter signature.
278
+ *
279
+ * This functionality relies on LSP client resolving the completion using the `completionItem/resolve` call. If the
280
+ * client can't do that before inserting the completion then it's not safe to enable it as it will result in some
281
+ * completions having a snippet type without actually being snippets, which can then cause problems when inserting them.
282
+ *
243
283
  * @default false
244
284
  */
245
285
  completions.completeFunctionCalls: boolean;
@@ -412,6 +452,7 @@ export interface InlayHintsOptions extends UserPreferences {
412
452
  includeInlayParameterNameHintsWhenArgumentMatchesName: boolean;
413
453
  includeInlayFunctionParameterTypeHints: boolean;
414
454
  includeInlayVariableTypeHints: boolean;
455
+ includeInlayVariableTypeHintsWhenTypeMatchesName: boolean;
415
456
  includeInlayPropertyDeclarationTypeHints: boolean;
416
457
  includeInlayFunctionLikeReturnTypeHints: boolean;
417
458
  includeInlayEnumMemberValueHints: boolean;
@@ -543,7 +584,7 @@ yarn
543
584
  - `yarn test` - run all tests
544
585
  - `yarn test:watch` - run all tests and enable watch mode for developing
545
586
 
546
- By default only console logs of level `warn` and higher are printed to the console. You can override the `CONSOLE_LOG_LEVEL` level in `package.json` to either `log`, `info`, `warn` or `error` to log other levels.
587
+ By default only console logs of level `warning` and higher are printed to the console. You can override the `CONSOLE_LOG_LEVEL` level in `package.json` to either `log`, `info`, `warning` or `error` to log other levels.
547
588
 
548
589
  ### Watch
549
590
 
package/lib/cli.js CHANGED
@@ -7,22 +7,23 @@
7
7
  */
8
8
  import { readFileSync } from 'node:fs';
9
9
  import { Command } from 'commander';
10
+ import lsp from 'vscode-languageserver';
10
11
  import { createLspConnection } from './lsp-connection.js';
11
- import * as lsp from 'vscode-languageserver';
12
+ import { TsServerLogLevel } from './utils/configuration.js';
12
13
  const DEFAULT_LOG_LEVEL = lsp.MessageType.Info;
13
14
  const { version } = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), { encoding: 'utf8' }));
14
15
  const program = new Command('typescript-language-server')
15
16
  .version(version)
16
17
  .requiredOption('--stdio', 'use stdio')
17
18
  .option('--log-level <logLevel>', 'A number indicating the log level (4 = log, 3 = info, 2 = warn, 1 = error). Defaults to `2`.')
18
- .option('--tsserver-log-file <tsserverLogFile>', 'Specify a tsserver log file. example: --tsserver-log-file ts-logs.txt')
19
19
  .option('--tsserver-log-verbosity <tsserverLogVerbosity>', 'Specify a tsserver log verbosity (terse, normal, verbose). Defaults to `normal`.' +
20
20
  ' example: --tsserver-log-verbosity verbose')
21
21
  .option('--tsserver-path <path>', 'Specify path to tsserver directory. example: --tsserver-path=/Users/me/typescript/lib/')
22
22
  .parse(process.argv);
23
23
  const options = program.opts();
24
- if (options.tsserverLogFile && !options.tsserverLogVerbosity) {
25
- options.tsserverLogVerbosity = 'normal';
24
+ let tsserverLogVerbosity = TsServerLogLevel.fromString(options.tsserverLogVerbosity);
25
+ if (options.tsserverLogFile && tsserverLogVerbosity === TsServerLogLevel.Off) {
26
+ tsserverLogVerbosity = TsServerLogLevel.Normal;
26
27
  }
27
28
  let logLevel = DEFAULT_LOG_LEVEL;
28
29
  if (options.logLevel) {
@@ -34,8 +35,7 @@ if (options.logLevel) {
34
35
  }
35
36
  createLspConnection({
36
37
  tsserverPath: options.tsserverPath,
37
- tsserverLogFile: options.tsserverLogFile,
38
- tsserverLogVerbosity: options.tsserverLogVerbosity,
38
+ tsserverLogVerbosity,
39
39
  showMessageLevel: logLevel,
40
40
  }).listen();
41
41
  //# sourceMappingURL=cli.js.map
package/lib/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAE7C,MAAM,iBAAiB,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AAEhH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,4BAA4B,CAAC;KACpD,OAAO,CAAC,OAAO,CAAC;KAChB,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC;KACtC,MAAM,CAAC,wBAAwB,EAAE,8FAA8F,CAAC;KAChI,MAAM,CAAC,uCAAuC,EAAE,uEAAuE,CAAC;KACxH,MAAM,CAAC,iDAAiD,EAAE,kFAAkF;IAC3I,4CAA4C,CAAC;KAC9C,MAAM,CAAC,wBAAwB,EAAE,wFAAwF,CAAC;KAC1H,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;AAE/B,IAAI,OAAO,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE;IAC1D,OAAO,CAAC,oBAAoB,GAAG,QAAQ,CAAC;CAC3C;AAED,IAAI,QAAQ,GAAG,iBAAiB,CAAC;AACjC,IAAI,OAAO,CAAC,QAAQ,EAAE;IAClB,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC1C,IAAI,QAAQ,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC,EAAE;QAC5C,OAAO,CAAC,KAAK,CAAC,wBAAwB,QAAQ,kCAAkC,CAAC,CAAC;QAClF,QAAQ,GAAG,iBAAiB,CAAC;KAChC;CACJ;AAED,mBAAmB,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC,YAAsB;IAC5C,eAAe,EAAE,OAAO,CAAC,eAAyB;IAClD,oBAAoB,EAAE,OAAO,CAAC,oBAA8B;IAC5D,gBAAgB,EAAE,QAA2B;CAChD,CAAC,CAAC,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,GAAG,MAAM,uBAAuB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,iBAAiB,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AAEhH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,4BAA4B,CAAC;KACpD,OAAO,CAAC,OAAO,CAAC;KAChB,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC;KACtC,MAAM,CAAC,wBAAwB,EAAE,8FAA8F,CAAC;KAChI,MAAM,CAAC,iDAAiD,EAAE,kFAAkF;IAC3I,4CAA4C,CAAC;KAC9C,MAAM,CAAC,wBAAwB,EAAE,wFAAwF,CAAC;KAC1H,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;AAE/B,IAAI,oBAAoB,GAAG,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAErF,IAAI,OAAO,CAAC,eAAe,IAAI,oBAAoB,KAAK,gBAAgB,CAAC,GAAG,EAAE;IAC1E,oBAAoB,GAAG,gBAAgB,CAAC,MAAM,CAAC;CAClD;AAED,IAAI,QAAQ,GAAG,iBAAiB,CAAC;AACjC,IAAI,OAAO,CAAC,QAAQ,EAAE;IAClB,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC1C,IAAI,QAAQ,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC,EAAE;QAC5C,OAAO,CAAC,KAAK,CAAC,wBAAwB,QAAQ,kCAAkC,CAAC,CAAC;QAClF,QAAQ,GAAG,iBAAiB,CAAC;KAChC;CACJ;AAED,mBAAmB,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC,YAAsB;IAC5C,oBAAoB;IACpB,gBAAgB,EAAE,QAA2B;CAChD,CAAC,CAAC,MAAM,EAAE,CAAC"}
@@ -4,8 +4,7 @@ import { LspDocument } from './document.js';
4
4
  import { TspClient } from './tsp-client.js';
5
5
  import { SupportedFeatures } from './ts-protocol.js';
6
6
  import type { WorkspaceConfigurationCompletionOptions } from './configuration-manager.js';
7
- export declare function asCompletionItem(entry: tsp.CompletionEntry, file: string, position: lsp.Position, document: LspDocument, features: SupportedFeatures): lsp.CompletionItem | null;
7
+ export declare function asCompletionItem(entry: tsp.CompletionEntry, optionalReplacementSpan: tsp.TextSpan | undefined, file: string, position: lsp.Position, document: LspDocument, options: WorkspaceConfigurationCompletionOptions, features: SupportedFeatures): lsp.CompletionItem | null;
8
8
  export declare function asResolvedCompletionItem(item: lsp.CompletionItem, details: tsp.CompletionEntryDetails, client: TspClient, options: WorkspaceConfigurationCompletionOptions, features: SupportedFeatures): Promise<lsp.CompletionItem>;
9
- export declare function isValidFunctionCompletionContext(filepath: string, position: lsp.Position, client: TspClient): Promise<boolean>;
10
9
  export declare function getCompletionTriggerCharacter(character: string | undefined): tsp.CompletionsTriggerCharacter | undefined;
11
10
  //# sourceMappingURL=completion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../src/completion.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAC7C,OAAO,KAAK,GAAG,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAmB,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGtE,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,4BAA4B,CAAC;AAO1F,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,GAAG,GAAG,CAAC,cAAc,GAAG,IAAI,CA4FhL;AA6ED,wBAAsB,wBAAwB,CAC1C,IAAI,EAAE,GAAG,CAAC,cAAc,EAAE,OAAO,EAAE,GAAG,CAAC,sBAAsB,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,uCAAuC,EAAE,QAAQ,EAAE,iBAAiB,GAChK,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAkB7B;AAED,wBAAsB,gCAAgC,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAuBpI;AAmJD,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC,2BAA2B,GAAG,SAAS,CAexH"}
1
+ {"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../src/completion.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAC7C,OAAO,KAAK,GAAG,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAmB,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGtE,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,4BAA4B,CAAC;AAO1F,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,eAAe,EAAE,uBAAuB,EAAE,GAAG,CAAC,QAAQ,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,uCAAuC,EAAE,QAAQ,EAAE,iBAAiB,GAAG,GAAG,CAAC,cAAc,GAAG,IAAI,CAmFrR;AAsGD,wBAAsB,wBAAwB,CAC1C,IAAI,EAAE,GAAG,CAAC,cAAc,EAAE,OAAO,EAAE,GAAG,CAAC,sBAAsB,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,uCAAuC,EAAE,QAAQ,EAAE,iBAAiB,GAChK,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAkB7B;AAmLD,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC,2BAA2B,GAAG,SAAS,CAexH"}
package/lib/completion.js CHANGED
@@ -11,7 +11,7 @@ import { Commands } from './commands.js';
11
11
  import { DisplayPartKind } from './ts-protocol.js';
12
12
  import SnippetString from './utils/SnippetString.js';
13
13
  import { Range, Position } from './utils/typeConverters.js';
14
- export function asCompletionItem(entry, file, position, document, features) {
14
+ export function asCompletionItem(entry, optionalReplacementSpan, file, position, document, options, features) {
15
15
  const item = {
16
16
  label: entry.name,
17
17
  ...features.completionLabelDetails ? { labelDetails: entry.labelDetails } : {},
@@ -37,26 +37,18 @@ export function asCompletionItem(entry, file, position, document, features) {
37
37
  // https://github.com/Microsoft/vscode/issues/40311
38
38
  item.sortText = '\uffff' + entry.sortText;
39
39
  }
40
- const { isSnippet, sourceDisplay } = entry;
40
+ const { isSnippet, replacementSpan, sourceDisplay } = entry;
41
41
  if (isSnippet && !features.completionSnippets) {
42
42
  return null;
43
43
  }
44
- if (features.completionSnippets && (isSnippet || entry.isImportStatementCompletion || item.kind === lsp.CompletionItemKind.Function || item.kind === lsp.CompletionItemKind.Method)) {
44
+ if (features.completionSnippets && (isSnippet || canCreateSnippetOfFunctionCall(item.kind, options))) {
45
45
  // Import statements, Functions and Methods can result in a snippet completion when resolved.
46
46
  item.insertTextFormat = lsp.InsertTextFormat.Snippet;
47
47
  }
48
48
  if (sourceDisplay) {
49
49
  item.detail = asPlainText(sourceDisplay);
50
50
  }
51
- let insertText = entry.insertText;
52
- let replacementRange = entry.replacementSpan && Range.fromTextSpan(entry.replacementSpan);
53
- // Make sure we only replace a single line at most
54
- if (replacementRange && replacementRange.start.line !== replacementRange.end.line) {
55
- replacementRange = lsp.Range.create(replacementRange.start, document.getLineEnd(replacementRange.start.line));
56
- }
57
- if (insertText && replacementRange && insertText[0] === '[') { // o.x -> o['x']
58
- item.filterText = '.' + item.label;
59
- }
51
+ let { insertText } = entry;
60
52
  if (entry.kindModifiers) {
61
53
  const kindModifiers = new Set(entry.kindModifiers.split(/,|\s+/g));
62
54
  if (kindModifiers.has(KindModifiers.optional)) {
@@ -88,17 +80,38 @@ export function asCompletionItem(entry, file, position, document, features) {
88
80
  }
89
81
  }
90
82
  }
91
- if (replacementRange) {
92
- if (!insertText) {
93
- insertText = item.label;
94
- }
95
- item.textEdit = lsp.TextEdit.replace(replacementRange, insertText);
83
+ const range = getRangeFromReplacementSpan(replacementSpan, optionalReplacementSpan, position, document, features);
84
+ if (range) {
85
+ item.textEdit = range.insert
86
+ ? lsp.InsertReplaceEdit.create(insertText || item.label, range.insert, range.replace)
87
+ : lsp.TextEdit.replace(range.replace, insertText || item.label);
96
88
  }
97
89
  else {
98
90
  item.insertText = insertText;
99
91
  }
100
92
  return item;
101
93
  }
94
+ function getRangeFromReplacementSpan(replacementSpan, optionalReplacementSpan, position, document, features) {
95
+ if (replacementSpan) {
96
+ // If TS provides an explicit replacement span with an entry, we should use it and not provide an insert.
97
+ return {
98
+ replace: ensureRangeIsOnSingleLine(Range.fromTextSpan(replacementSpan), document),
99
+ };
100
+ }
101
+ if (features.completionInsertReplaceSupport && optionalReplacementSpan) {
102
+ const range = ensureRangeIsOnSingleLine(Range.fromTextSpan(optionalReplacementSpan), document);
103
+ return {
104
+ insert: lsp.Range.create(range.start, position),
105
+ replace: ensureRangeIsOnSingleLine(range, document),
106
+ };
107
+ }
108
+ }
109
+ function ensureRangeIsOnSingleLine(range, document) {
110
+ if (range.start.line !== range.end.line) {
111
+ return lsp.Range.create(range.start, document.getLineEnd(range.start.line));
112
+ }
113
+ return range;
114
+ }
102
115
  function asCompletionItemKind(kind) {
103
116
  switch (kind) {
104
117
  case ScriptElementKind.primitiveType:
@@ -178,7 +191,7 @@ export async function asResolvedCompletionItem(item, details, client, options, f
178
191
  item.additionalTextEdits = asAdditionalTextEdits(details.codeActions, filepath);
179
192
  item.command = asCommand(details.codeActions, item.data.file);
180
193
  }
181
- if (features.completionSnippets && options.completeFunctionCalls && (item.kind === lsp.CompletionItemKind.Function || item.kind === lsp.CompletionItemKind.Method)) {
194
+ if (features.completionSnippets && canCreateSnippetOfFunctionCall(item.kind, options)) {
182
195
  const { line, offset } = item.data;
183
196
  const position = Position.fromLocation({ line, offset });
184
197
  const shouldCompleteFunction = await isValidFunctionCompletionContext(filepath, position, client);
@@ -188,7 +201,7 @@ export async function asResolvedCompletionItem(item, details, client, options, f
188
201
  }
189
202
  return item;
190
203
  }
191
- export async function isValidFunctionCompletionContext(filepath, position, client) {
204
+ async function isValidFunctionCompletionContext(filepath, position, client) {
192
205
  // Workaround for https://github.com/Microsoft/TypeScript/issues/12677
193
206
  // Don't complete function calls inside of destructive assigments or imports
194
207
  try {
@@ -212,6 +225,9 @@ export async function isValidFunctionCompletionContext(filepath, position, clien
212
225
  return true;
213
226
  }
214
227
  }
228
+ function canCreateSnippetOfFunctionCall(kind, options) {
229
+ return options.completeFunctionCalls === true && (kind === lsp.CompletionItemKind.Function || kind === lsp.CompletionItemKind.Method);
230
+ }
215
231
  function createSnippetOfFunctionCall(item, detail) {
216
232
  const { displayParts } = detail;
217
233
  const parameterListParts = getParameterListParts(displayParts);
@@ -225,6 +241,9 @@ function createSnippetOfFunctionCall(item, detail) {
225
241
  snippet.appendTabstop(0);
226
242
  item.insertText = snippet.value;
227
243
  item.insertTextFormat = lsp.InsertTextFormat.Snippet;
244
+ if (item.textEdit) {
245
+ item.textEdit.newText = snippet.value;
246
+ }
228
247
  }
229
248
  function getParameterListParts(displayParts) {
230
249
  const parts = [];
@@ -1 +1 @@
1
- {"version":3,"file":"completion.js","sourceRoot":"","sources":["../src/completion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completion.js","sourceRoot":"","sources":["../src/completion.ts"],"names":[],"mappings":"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"}
@@ -13,15 +13,7 @@ export interface WorkspaceConfigurationLanguageOptions {
13
13
  format?: tsp.FormatCodeSettings;
14
14
  inlayHints?: TypeScriptInlayHintsPreferences;
15
15
  }
16
- export interface TypeScriptInlayHintsPreferences {
17
- includeInlayParameterNameHints?: 'none' | 'literals' | 'all';
18
- includeInlayParameterNameHintsWhenArgumentMatchesName?: boolean;
19
- includeInlayFunctionParameterTypeHints?: boolean;
20
- includeInlayVariableTypeHints?: boolean;
21
- includeInlayPropertyDeclarationTypeHints?: boolean;
22
- includeInlayFunctionLikeReturnTypeHints?: boolean;
23
- includeInlayEnumMemberValueHints?: boolean;
24
- }
16
+ export declare type TypeScriptInlayHintsPreferences = Pick<tsp.UserPreferences, 'includeInlayParameterNameHints' | 'includeInlayParameterNameHintsWhenArgumentMatchesName' | 'includeInlayFunctionParameterTypeHints' | 'includeInlayVariableTypeHints' | 'includeInlayVariableTypeHintsWhenTypeMatchesName' | 'includeInlayPropertyDeclarationTypeHints' | 'includeInlayFunctionLikeReturnTypeHints' | 'includeInlayEnumMemberValueHints'>;
25
17
  interface WorkspaceConfigurationDiagnosticsOptions {
26
18
  ignoredCodes?: number[];
27
19
  }
@@ -36,12 +28,13 @@ export declare class ConfigurationManager {
36
28
  constructor(documents: LspDocuments);
37
29
  mergeTsPreferences(preferences: tsp.UserPreferences): void;
38
30
  setWorkspaceConfiguration(configuration: WorkspaceConfiguration): void;
39
- setAndConfigureTspClient(client: TspClient, hostInfo?: TypeScriptInitializationOptions['hostInfo']): Promise<void>;
31
+ setAndConfigureTspClient(workspaceFolder: string | undefined, client: TspClient, hostInfo?: TypeScriptInitializationOptions['hostInfo']): Promise<void>;
40
32
  configureGloballyFromDocument(filename: string, formattingOptions?: lsp.FormattingOptions): Promise<void>;
41
33
  getPreferences(filename: string): tsp.UserPreferences;
42
34
  private getFormattingOptions;
43
35
  private getQuoteStylePreference;
44
36
  private getWorkspacePreferencesForFile;
37
+ private getAutoImportFileExcludePatternsPreference;
45
38
  }
46
39
  export {};
47
40
  //# sourceMappingURL=configuration-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"configuration-manager.d.ts","sourceRoot":"","sources":["../src/configuration-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,GAAG,MAAM,8BAA8B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAmCjD,MAAM,WAAW,sBAAsB;IACnC,UAAU,CAAC,EAAE,qCAAqC,CAAC;IACnD,UAAU,CAAC,EAAE,qCAAqC,CAAC;IACnD,WAAW,CAAC,EAAE,uCAAuC,CAAC;IACtD,WAAW,CAAC,EAAE,wCAAwC,CAAC;CAC1D;AAED,MAAM,WAAW,qCAAqC;IAClD,MAAM,CAAC,EAAE,GAAG,CAAC,kBAAkB,CAAC;IAChC,UAAU,CAAC,EAAE,+BAA+B,CAAC;CAChD;AAED,MAAM,WAAW,+BAA+B;IAC5C,8BAA8B,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,KAAK,CAAC;IAC7D,qDAAqD,CAAC,EAAE,OAAO,CAAC;IAChE,sCAAsC,CAAC,EAAE,OAAO,CAAC;IACjD,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,wCAAwC,CAAC,EAAE,OAAO,CAAC;IACnD,uCAAuC,CAAC,EAAE,OAAO,CAAC;IAClD,gCAAgC,CAAC,EAAE,OAAO,CAAC;CAC9C;AAED,UAAU,wCAAwC;IAC9C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,uCAAuC;IACpD,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,qBAAa,oBAAoB;IAKjB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAJ/B,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAA+C;IAC3F,sBAAsB,EAAE,sBAAsB,CAAM;IAC3D,OAAO,CAAC,SAAS,CAA0B;gBAEd,SAAS,EAAE,YAAY;IAE7C,kBAAkB,CAAC,WAAW,EAAE,GAAG,CAAC,eAAe,GAAG,IAAI;IAI1D,yBAAyB,CAAC,aAAa,EAAE,sBAAsB,GAAG,IAAI;IAIhE,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,+BAA+B,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAclH,6BAA6B,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,GAAG,CAAC,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/G,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC,eAAe;IAkB5D,OAAO,CAAC,oBAAoB;IAkB5B,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,8BAA8B;CAKzC"}
1
+ {"version":3,"file":"configuration-manager.d.ts","sourceRoot":"","sources":["../src/configuration-manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,GAAG,MAAM,8BAA8B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAqCjD,MAAM,WAAW,sBAAsB;IACnC,UAAU,CAAC,EAAE,qCAAqC,CAAC;IACnD,UAAU,CAAC,EAAE,qCAAqC,CAAC;IACnD,WAAW,CAAC,EAAE,uCAAuC,CAAC;IACtD,WAAW,CAAC,EAAE,wCAAwC,CAAC;CAC1D;AAED,MAAM,WAAW,qCAAqC;IAClD,MAAM,CAAC,EAAE,GAAG,CAAC,kBAAkB,CAAC;IAChC,UAAU,CAAC,EAAE,+BAA+B,CAAC;CAChD;AAGD,oBAAY,+BAA+B,GAAG,IAAI,CAC9C,GAAG,CAAC,eAAe,EACnB,gCAAgC,GAChC,uDAAuD,GACvD,wCAAwC,GACxC,+BAA+B,GAC/B,kDAAkD,GAClD,0CAA0C,GAC1C,yCAAyC,GACzC,kCAAkC,CACrC,CAAC;AAGF,UAAU,wCAAwC;IAC9C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,uCAAuC;IACpD,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,qBAAa,oBAAoB;IAKjB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAJ/B,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAA+C;IAC3F,sBAAsB,EAAE,sBAAsB,CAAM;IAC3D,OAAO,CAAC,SAAS,CAA0B;gBAEd,SAAS,EAAE,YAAY;IAE7C,kBAAkB,CAAC,WAAW,EAAE,GAAG,CAAC,eAAe,GAAG,IAAI;IAI1D,yBAAyB,CAAC,aAAa,EAAE,sBAAsB,GAAG,IAAI;IAIhE,wBAAwB,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,+BAA+B,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBvJ,6BAA6B,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,GAAG,CAAC,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/G,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC,eAAe;IAkB5D,OAAO,CAAC,oBAAoB;IAkB5B,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,8BAA8B;IAMtC,OAAO,CAAC,0CAA0C;CAcrD"}
@@ -1,9 +1,11 @@
1
1
  import deepmerge from 'deepmerge';
2
+ import path from 'node:path';
2
3
  import API from './utils/api.js';
3
4
  const DEFAULT_TSSERVER_PREFERENCES = {
4
5
  allowIncompleteCompletions: true,
5
6
  allowRenameOfImportPath: true,
6
7
  allowTextChangesInNewFiles: true,
8
+ autoImportFileExcludePatterns: [],
7
9
  disableSuggestions: false,
8
10
  displayPartsForJSDoc: true,
9
11
  generateReturnInDocTemplate: true,
@@ -23,11 +25,12 @@ const DEFAULT_TSSERVER_PREFERENCES = {
23
25
  includeInlayParameterNameHintsWhenArgumentMatchesName: false,
24
26
  includeInlayPropertyDeclarationTypeHints: false,
25
27
  includeInlayVariableTypeHints: false,
28
+ includeInlayVariableTypeHintsWhenTypeMatchesName: false,
26
29
  includePackageJsonAutoImports: 'auto',
27
30
  jsxAttributeCompletionStyle: 'auto',
28
31
  lazyConfiguredProjectsFromExternalProject: false,
29
32
  providePrefixAndSuffixTextForRename: true,
30
- provideRefactorNotApplicableReason: false,
33
+ provideRefactorNotApplicableReason: true,
31
34
  quotePreference: 'auto',
32
35
  useLabelDetailsInCompletionEntries: true,
33
36
  };
@@ -42,9 +45,9 @@ export class ConfigurationManager {
42
45
  this.tsPreferences = deepmerge(this.tsPreferences, preferences);
43
46
  }
44
47
  setWorkspaceConfiguration(configuration) {
45
- this.workspaceConfiguration = configuration;
48
+ this.workspaceConfiguration = deepmerge({}, configuration);
46
49
  }
47
- async setAndConfigureTspClient(client, hostInfo) {
50
+ async setAndConfigureTspClient(workspaceFolder, client, hostInfo) {
48
51
  this.tspClient = client;
49
52
  const formatOptions = {
50
53
  // We can use \n here since the editor should normalize later on to its line endings.
@@ -53,7 +56,10 @@ export class ConfigurationManager {
53
56
  const args = {
54
57
  ...hostInfo ? { hostInfo } : {},
55
58
  formatOptions,
56
- preferences: this.tsPreferences,
59
+ preferences: {
60
+ ...this.tsPreferences,
61
+ autoImportFileExcludePatterns: this.getAutoImportFileExcludePatternsPreference(workspaceFolder),
62
+ },
57
63
  };
58
64
  await this.tspClient?.request("configure" /* CommandTypes.Configure */, args);
59
65
  }
@@ -101,5 +107,19 @@ export class ConfigurationManager {
101
107
  const languageId = document?.languageId.startsWith('typescript') ? 'typescript' : 'javascript';
102
108
  return this.workspaceConfiguration[languageId] || {};
103
109
  }
110
+ getAutoImportFileExcludePatternsPreference(workspaceFolder) {
111
+ if (!workspaceFolder || this.tsPreferences.autoImportFileExcludePatterns.length === 0) {
112
+ return;
113
+ }
114
+ return this.tsPreferences.autoImportFileExcludePatterns.map(p => {
115
+ // Normalization rules: https://github.com/microsoft/TypeScript/pull/49578
116
+ const slashNormalized = p.replace(/\\/g, '/');
117
+ const isRelative = /^\.\.?($|\/)/.test(slashNormalized);
118
+ return path.posix.isAbsolute(p) ? p :
119
+ p.startsWith('*') ? '/' + slashNormalized :
120
+ isRelative ? path.posix.join(workspaceFolder, p) :
121
+ '/**/' + slashNormalized;
122
+ });
123
+ }
104
124
  }
105
125
  //# sourceMappingURL=configuration-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configuration-manager.js","sourceRoot":"","sources":["../src/configuration-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configuration-manager.js","sourceRoot":"","sources":["../src/configuration-manager.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type tsp from 'typescript/lib/protocol.d.js';
2
2
  import * as lsp from 'vscode-languageserver';
3
- import { Logger } from './logger.js';
3
+ import { Logger } from './utils/logger.js';
4
4
  import { EventTypes } from './tsp-command-types.js';
5
5
  import { LspDocuments } from './document.js';
6
6
  import { SupportedFeatures } from './ts-protocol.js';
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostic-queue.d.ts","sourceRoot":"","sources":["../src/diagnostic-queue.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,GAAG,MAAM,8BAA8B,CAAC;AACpD,OAAO,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,cAAM,eAAe;IAIb,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM;IAC9B,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,wBAAwB,KAAK,IAAI;IACrF,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY;IAC1C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB;IANlD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2C;gBAGvD,GAAG,EAAE,MAAM,EACX,kBAAkB,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,wBAAwB,KAAK,IAAI,EAClE,SAAS,EAAE,YAAY,EACvB,QAAQ,EAAE,iBAAiB;IAGlD,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,IAAI;IAI7D,SAAS,CAAC,QAAQ,CAAC,sBAAsB,sBAGlC;IAEA,cAAc,IAAI,GAAG,CAAC,UAAU,EAAE;CAS5C;AAED,qBAAa,oBAAoB;IAKzB,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,wBAAwB,KAAK,IAAI;IACrF,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY;IAC1C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB;IAC9C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM;IAPrC,SAAS,CAAC,QAAQ,CAAC,WAAW,+BAAsC;IACpE,OAAO,CAAC,sBAAsB,CAA0B;gBAGjC,kBAAkB,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,wBAAwB,KAAK,IAAI,EAClE,SAAS,EAAE,YAAY,EACvB,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,MAAM;IAGrC,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,eAAe,GAAG,IAAI;IAkBrE,4BAA4B,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAI5D,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE;IAK5D,OAAO,CAAC,mBAAmB;CAG9B"}
1
+ {"version":3,"file":"diagnostic-queue.d.ts","sourceRoot":"","sources":["../src/diagnostic-queue.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,GAAG,MAAM,8BAA8B,CAAC;AACpD,OAAO,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,cAAM,eAAe;IAIb,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM;IAC9B,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,wBAAwB,KAAK,IAAI;IACrF,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY;IAC1C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB;IANlD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2C;gBAGvD,GAAG,EAAE,MAAM,EACX,kBAAkB,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,wBAAwB,KAAK,IAAI,EAClE,SAAS,EAAE,YAAY,EACvB,QAAQ,EAAE,iBAAiB;IAGlD,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,IAAI;IAI7D,SAAS,CAAC,QAAQ,CAAC,sBAAsB,sBAGlC;IAEA,cAAc,IAAI,GAAG,CAAC,UAAU,EAAE;CAS5C;AAED,qBAAa,oBAAoB;IAKzB,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,wBAAwB,KAAK,IAAI;IACrF,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY;IAC1C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB;IAC9C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM;IAPrC,SAAS,CAAC,QAAQ,CAAC,WAAW,+BAAsC;IACpE,OAAO,CAAC,sBAAsB,CAA0B;gBAGjC,kBAAkB,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,wBAAwB,KAAK,IAAI,EAClE,SAAS,EAAE,YAAY,EACvB,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,MAAM;IAGrC,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,eAAe,GAAG,IAAI;IAkBrE,4BAA4B,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAI5D,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE;IAK5D,OAAO,CAAC,mBAAmB;CAG9B"}
@@ -49,8 +49,8 @@ export class TypeScriptInlayHintsProvider {
49
49
  TypeScriptInlayHintsProvider.minVersion = API.v440;
50
50
  function areInlayHintsEnabledForFile(configurationManager, filename) {
51
51
  const preferences = configurationManager.getPreferences(filename);
52
- // Doesn't need to include `includeInlayVariableTypeHintsWhenTypeMatchesName` as it depends
53
- // on `includeInlayVariableTypeHints` being enabled.
52
+ // Doesn't need to include `includeInlayVariableTypeHintsWhenTypeMatchesName` and
53
+ // `includeInlayVariableTypeHintsWhenTypeMatchesName` as those depend on other preferences being enabled.
54
54
  return preferences.includeInlayParameterNameHints === 'literals' ||
55
55
  preferences.includeInlayParameterNameHints === 'all' ||
56
56
  preferences.includeInlayEnumMemberValueHints ||
@@ -1 +1 @@
1
- {"version":3,"file":"inlay-hints.js","sourceRoot":"","sources":["../../src/features/inlay-hints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inlay-hints.js","sourceRoot":"","sources":["../../src/features/inlay-hints.ts"],"names":[],"mappings":"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"}