typescript-language-server 2.2.0 → 3.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.
- package/CHANGELOG.md +24 -0
- package/README.md +6 -117
- package/lib/completion.d.ts +1 -1
- package/lib/completion.d.ts.map +1 -1
- package/lib/completion.js +18 -18
- package/lib/completion.js.map +1 -1
- package/lib/configuration-manager.js +2 -2
- package/lib/configuration-manager.js.map +1 -1
- package/lib/features/call-hierarchy.d.ts +7 -0
- package/lib/features/call-hierarchy.d.ts.map +1 -0
- package/lib/features/call-hierarchy.js +81 -0
- package/lib/features/call-hierarchy.js.map +1 -0
- package/lib/features/call-hierarchy.spec.d.ts +2 -0
- package/lib/features/call-hierarchy.spec.d.ts.map +1 -0
- package/lib/features/call-hierarchy.spec.js +107 -0
- package/lib/features/call-hierarchy.spec.js.map +1 -0
- package/lib/{semantic-tokens.d.ts → features/semantic-tokens.d.ts} +1 -1
- package/lib/features/semantic-tokens.d.ts.map +1 -0
- package/lib/{semantic-tokens.js → features/semantic-tokens.js} +0 -0
- package/lib/features/semantic-tokens.js.map +1 -0
- package/lib/lsp-connection.d.ts.map +1 -1
- package/lib/lsp-connection.js +6 -7
- package/lib/lsp-connection.js.map +1 -1
- package/lib/lsp-server.d.ts +4 -4
- package/lib/lsp-server.d.ts.map +1 -1
- package/lib/lsp-server.js +67 -74
- package/lib/lsp-server.js.map +1 -1
- package/lib/lsp-server.spec.js +2 -130
- package/lib/lsp-server.spec.js.map +1 -1
- package/lib/protocol-translation.d.ts +2 -1
- package/lib/protocol-translation.d.ts.map +1 -1
- package/lib/protocol-translation.js +6 -3
- package/lib/protocol-translation.js.map +1 -1
- package/lib/quickfix.js +1 -1
- package/lib/quickfix.js.map +1 -1
- package/lib/refactor.js +4 -4
- package/lib/refactor.js.map +1 -1
- package/lib/test-utils.d.ts +4 -0
- package/lib/test-utils.d.ts.map +1 -1
- package/lib/test-utils.js +9 -0
- package/lib/test-utils.js.map +1 -1
- package/lib/tsServer/requests.d.ts +4 -0
- package/lib/tsServer/requests.d.ts.map +1 -1
- package/lib/tsServer/serverProcess.js +1 -1
- package/lib/tsServer/serverProcess.js.map +1 -1
- package/lib/tsServer/spawner.js +3 -3
- package/lib/tsServer/spawner.js.map +1 -1
- package/lib/tsServer/versionProvider.js +1 -1
- package/lib/tsServer/versionProvider.js.map +1 -1
- package/lib/utils/logger.js +1 -3
- package/lib/utils/logger.js.map +1 -1
- package/package.json +7 -7
- package/lib/calls.d.ts +0 -8
- package/lib/calls.d.ts.map +0 -1
- package/lib/calls.js +0 -191
- package/lib/calls.js.map +0 -1
- package/lib/lsp-protocol.calls.proposed.d.ts +0 -119
- package/lib/lsp-protocol.calls.proposed.d.ts.map +0 -1
- package/lib/lsp-protocol.calls.proposed.js +0 -39
- package/lib/lsp-protocol.calls.proposed.js.map +0 -1
- package/lib/lsp-protocol.inlayHints.proposed.d.ts +0 -27
- package/lib/lsp-protocol.inlayHints.proposed.d.ts.map +0 -1
- package/lib/lsp-protocol.inlayHints.proposed.js +0 -3
- package/lib/lsp-protocol.inlayHints.proposed.js.map +0 -1
- package/lib/semantic-tokens.d.ts.map +0 -1
- package/lib/semantic-tokens.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,30 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
All notable changes to this project will be documented in this file.
|
|
3
3
|
|
|
4
|
+
## [3.0.0](https://github.com/typescript-language-server/typescript-language-server/compare/v2.3.0...v3.0.0) (2022-12-29)
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
### ⚠ BREAKING CHANGES
|
|
8
|
+
|
|
9
|
+
* Remove experimental and legacy implementations of inlay hints and call hierarchy. Use to the official `textDocument/inlayHint` and `textDocument/prepareCallHierarchy` implementations instead.
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* drop experimental `textDocument/calls`, `typescript/inlayHints` ([#647](https://github.com/typescript-language-server/typescript-language-server/issues/647)) ([b15f8a7](https://github.com/typescript-language-server/typescript-language-server/commit/b15f8a7cca8470b0ef9e9878e94fba95e278d372))
|
|
14
|
+
* implement support for spec version of Call Hierarchy ([#649](https://github.com/typescript-language-server/typescript-language-server/issues/649)) ([3ce0e17](https://github.com/typescript-language-server/typescript-language-server/commit/3ce0e17e72f32913739c9d67d3dfb6092f09a2aa))
|
|
15
|
+
|
|
16
|
+
## [2.3.0](https://github.com/typescript-language-server/typescript-language-server/compare/v2.2.0...v2.3.0) (2022-12-27)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Features
|
|
20
|
+
|
|
21
|
+
* implement `textDocument/selectionRange` request ([#642](https://github.com/typescript-language-server/typescript-language-server/issues/642)) ([a5598c6](https://github.com/typescript-language-server/typescript-language-server/commit/a5598c68aac961cbd6294133a9235e4db5b95929))
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### Bug Fixes
|
|
25
|
+
|
|
26
|
+
* **completions:** don't insert call snippet if already a call ([#646](https://github.com/typescript-language-server/typescript-language-server/issues/646)) ([5d34de5](https://github.com/typescript-language-server/typescript-language-server/commit/5d34de5fd38ce5a9dcafc4a385ccb39b0a89f2b0))
|
|
27
|
+
|
|
4
28
|
## [2.2.0](https://github.com/typescript-language-server/typescript-language-server/compare/v2.1.0...v2.2.0) (2022-12-09)
|
|
5
29
|
|
|
6
30
|
|
package/README.md
CHANGED
|
@@ -27,10 +27,8 @@ Maintained by a [community of contributors](https://github.com/typescript-langua
|
|
|
27
27
|
- [Organize Imports](#organize-imports)
|
|
28
28
|
- [Rename File](#rename-file)
|
|
29
29
|
- [Configure plugin](#configure-plugin)
|
|
30
|
-
- [Inlay hints \(`
|
|
31
|
-
- [Callers and callees \(`textDocument/calls`\) \(experimental\)](#callers-and-callees-textdocumentcalls-experimental)
|
|
30
|
+
- [Inlay hints \(`textDocument/inlayHint`\)](#inlay-hints-textdocumentinlayhint)
|
|
32
31
|
- [Supported Protocol features](#supported-protocol-features)
|
|
33
|
-
- [Experimental](#experimental)
|
|
34
32
|
- [Development](#development)
|
|
35
33
|
- [Build](#build)
|
|
36
34
|
- [Test](#test)
|
|
@@ -484,35 +482,11 @@ Most of the time, you'll execute commands with arguments retrieved from another
|
|
|
484
482
|
void
|
|
485
483
|
```
|
|
486
484
|
|
|
487
|
-
## Inlay hints (`
|
|
488
|
-
|
|
489
|
-
> !!! This implementation is deprecated. Use the spec-compliant `textDocument/inlayHint` request instead. !!!
|
|
490
|
-
|
|
491
|
-
Supports experimental inline hints.
|
|
492
|
-
|
|
493
|
-
```ts
|
|
494
|
-
type Request = {
|
|
495
|
-
textDocument: TextDocumentIdentifier,
|
|
496
|
-
range?: Range,
|
|
497
|
-
}
|
|
498
|
-
|
|
499
|
-
type Response = {
|
|
500
|
-
inlayHints: InlayHint[];
|
|
501
|
-
}
|
|
502
|
-
|
|
503
|
-
type InlayHint = {
|
|
504
|
-
text: string;
|
|
505
|
-
position: lsp.Position;
|
|
506
|
-
kind: 'Type' | 'Parameter' | 'Enum';
|
|
507
|
-
whitespaceBefore?: boolean;
|
|
508
|
-
whitespaceAfter?: boolean;
|
|
509
|
-
};
|
|
510
|
-
```
|
|
485
|
+
## Inlay hints (`textDocument/inlayHint`)
|
|
511
486
|
|
|
512
487
|
For the request to return any results, some or all of the following options need to be enabled through `preferences`:
|
|
513
488
|
|
|
514
489
|
```ts
|
|
515
|
-
// Not officially part of UserPreferences yet but you can send them along with the UserPreferences just fine:
|
|
516
490
|
export interface InlayHintsOptions extends UserPreferences {
|
|
517
491
|
includeInlayParameterNameHints: 'none' | 'literals' | 'all';
|
|
518
492
|
includeInlayParameterNameHintsWhenArgumentMatchesName: boolean;
|
|
@@ -525,90 +499,6 @@ export interface InlayHintsOptions extends UserPreferences {
|
|
|
525
499
|
}
|
|
526
500
|
```
|
|
527
501
|
|
|
528
|
-
## Callers and callees (`textDocument/calls`) (experimental)
|
|
529
|
-
|
|
530
|
-
Supports showing callers and calles for a given symbol. If the editor has support for appropriate UI, it can generate a tree of callers and calles for a document.
|
|
531
|
-
|
|
532
|
-
```ts
|
|
533
|
-
type Request = {
|
|
534
|
-
/**
|
|
535
|
-
* The text document.
|
|
536
|
-
*/
|
|
537
|
-
textDocument: TextDocumentIdentifier;
|
|
538
|
-
/**
|
|
539
|
-
* The position inside the text document.
|
|
540
|
-
*/
|
|
541
|
-
position: Position;
|
|
542
|
-
/**
|
|
543
|
-
* Outgoing direction for callees.
|
|
544
|
-
* The default is incoming for callers.
|
|
545
|
-
*/
|
|
546
|
-
direction?: CallDirection;
|
|
547
|
-
}
|
|
548
|
-
|
|
549
|
-
export enum CallDirection {
|
|
550
|
-
/**
|
|
551
|
-
* Incoming calls aka. callers
|
|
552
|
-
*/
|
|
553
|
-
Incoming = 'incoming',
|
|
554
|
-
/**
|
|
555
|
-
* Outgoing calls aka. callees
|
|
556
|
-
*/
|
|
557
|
-
Outgoing = 'outgoing',
|
|
558
|
-
}
|
|
559
|
-
|
|
560
|
-
type Result = {
|
|
561
|
-
/**
|
|
562
|
-
* The symbol of a definition for which the request was made.
|
|
563
|
-
*
|
|
564
|
-
* If no definition is found at a given text document position, the symbol is undefined.
|
|
565
|
-
*/
|
|
566
|
-
symbol?: DefinitionSymbol;
|
|
567
|
-
/**
|
|
568
|
-
* List of calls.
|
|
569
|
-
*/
|
|
570
|
-
calls: Call[];
|
|
571
|
-
}
|
|
572
|
-
|
|
573
|
-
interface Call {
|
|
574
|
-
/**
|
|
575
|
-
* Actual location of a call to a definition.
|
|
576
|
-
*/
|
|
577
|
-
location: Location;
|
|
578
|
-
/**
|
|
579
|
-
* Symbol refered to by this call. For outgoing calls this is a callee,
|
|
580
|
-
* otherwise a caller.
|
|
581
|
-
*/
|
|
582
|
-
symbol: DefinitionSymbol;
|
|
583
|
-
}
|
|
584
|
-
|
|
585
|
-
interface DefinitionSymbol {
|
|
586
|
-
/**
|
|
587
|
-
* The name of this symbol.
|
|
588
|
-
*/
|
|
589
|
-
name: string;
|
|
590
|
-
/**
|
|
591
|
-
* More detail for this symbol, e.g the signature of a function.
|
|
592
|
-
*/
|
|
593
|
-
detail?: string;
|
|
594
|
-
/**
|
|
595
|
-
* The kind of this symbol.
|
|
596
|
-
*/
|
|
597
|
-
kind: SymbolKind;
|
|
598
|
-
/**
|
|
599
|
-
* The range enclosing this symbol not including leading/trailing whitespace but everything else
|
|
600
|
-
* like comments. This information is typically used to determine if the the clients cursor is
|
|
601
|
-
* inside the symbol to reveal in the symbol in the UI.
|
|
602
|
-
*/
|
|
603
|
-
location: Location;
|
|
604
|
-
/**
|
|
605
|
-
* The range that should be selected and revealed when this symbol is being picked, e.g the name of a function.
|
|
606
|
-
* Must be contained by the the `range`.
|
|
607
|
-
*/
|
|
608
|
-
selectionRange: Range;
|
|
609
|
-
}
|
|
610
|
-
```
|
|
611
|
-
|
|
612
502
|
## Supported Protocol features
|
|
613
503
|
|
|
614
504
|
- [x] textDocument/codeAction
|
|
@@ -624,20 +514,19 @@ interface DefinitionSymbol {
|
|
|
624
514
|
- [x] textDocument/formatting
|
|
625
515
|
- [x] textDocument/hover
|
|
626
516
|
- [x] textDocument/inlayHint (no support for `inlayHint/resolve` or `workspace/inlayHint/refresh`)
|
|
517
|
+
- [x] textDocument/prepareCallHierarchy
|
|
518
|
+
- [x] callHierarchy/incomingCalls
|
|
519
|
+
- [x] callHierarchy/outgoingCalls
|
|
627
520
|
- [x] textDocument/prepareRename
|
|
628
521
|
- [x] textDocument/rangeFormatting
|
|
629
522
|
- [x] textDocument/references
|
|
630
523
|
- [x] textDocument/rename
|
|
524
|
+
- [x] textDocument/selectionRange
|
|
631
525
|
- [x] textDocument/signatureHelp
|
|
632
526
|
- [x] workspace/symbol
|
|
633
527
|
- [x] workspace/didChangeConfiguration
|
|
634
528
|
- [x] workspace/executeCommand
|
|
635
529
|
|
|
636
|
-
### Experimental
|
|
637
|
-
|
|
638
|
-
- [x] textDocument/calls (experimental)
|
|
639
|
-
- [x] typescript/inlayHints (experimental, supported from Typescript v4.4.2) DEPRECATED (use `textDocument/inlayHint` instead)
|
|
640
|
-
|
|
641
530
|
## Development
|
|
642
531
|
|
|
643
532
|
### Build
|
package/lib/completion.d.ts
CHANGED
|
@@ -5,6 +5,6 @@ import { tsp, SupportedFeatures } from './ts-protocol.js';
|
|
|
5
5
|
import { IFilePathToResourceConverter } from './utils/previewer.js';
|
|
6
6
|
import type { WorkspaceConfigurationCompletionOptions } from './configuration-manager.js';
|
|
7
7
|
export declare function asCompletionItem(entry: tsp.CompletionEntry, optionalReplacementSpan: tsp.TextSpan | undefined, file: string, position: lsp.Position, document: LspDocument, filePathConverter: IFilePathToResourceConverter, options: WorkspaceConfigurationCompletionOptions, features: SupportedFeatures): lsp.CompletionItem | null;
|
|
8
|
-
export declare function asResolvedCompletionItem(item: lsp.CompletionItem, details: tsp.CompletionEntryDetails, client: TspClient, filePathConverter: IFilePathToResourceConverter, options: WorkspaceConfigurationCompletionOptions, features: SupportedFeatures): Promise<lsp.CompletionItem>;
|
|
8
|
+
export declare function asResolvedCompletionItem(item: lsp.CompletionItem, details: tsp.CompletionEntryDetails, document: LspDocument | undefined, client: TspClient, filePathConverter: IFilePathToResourceConverter, options: WorkspaceConfigurationCompletionOptions, features: SupportedFeatures): Promise<lsp.CompletionItem>;
|
|
9
9
|
export declare function getCompletionTriggerCharacter(character: string | undefined): tsp.CompletionsTriggerCharacter | undefined;
|
|
10
10
|
//# sourceMappingURL=completion.d.ts.map
|
package/lib/completion.d.ts.map
CHANGED
|
@@ -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,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAS,GAAG,EAAiB,iBAAiB,EAA2B,MAAM,kBAAkB,CAAC;AAEzG,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAGpE,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,4BAA4B,CAAC;AAU1F,wBAAgB,gBAAgB,CAC5B,KAAK,EAAE,GAAG,CAAC,eAAe,EAC1B,uBAAuB,EAAE,GAAG,CAAC,QAAQ,GAAG,SAAS,EACjD,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EACpC,QAAQ,EAAE,WAAW,EACrB,iBAAiB,EAAE,4BAA4B,EAC/C,OAAO,EAAE,uCAAuC,EAChD,QAAQ,EAAE,iBAAiB,GAC5B,GAAG,CAAC,cAAc,GAAG,IAAI,CA+E3B;AA0GD,wBAAsB,wBAAwB,CAC1C,IAAI,EAAE,GAAG,CAAC,cAAc,EACxB,OAAO,EAAE,GAAG,CAAC,sBAAsB,EACnC,MAAM,EAAE,SAAS,EACjB,iBAAiB,EAAE,4BAA4B,EAC/C,OAAO,EAAE,uCAAuC,EAChD,QAAQ,EAAE,iBAAiB,GAC5B,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../src/completion.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAS,GAAG,EAAiB,iBAAiB,EAA2B,MAAM,kBAAkB,CAAC;AAEzG,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAGpE,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,4BAA4B,CAAC;AAU1F,wBAAgB,gBAAgB,CAC5B,KAAK,EAAE,GAAG,CAAC,eAAe,EAC1B,uBAAuB,EAAE,GAAG,CAAC,QAAQ,GAAG,SAAS,EACjD,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EACpC,QAAQ,EAAE,WAAW,EACrB,iBAAiB,EAAE,4BAA4B,EAC/C,OAAO,EAAE,uCAAuC,EAChD,QAAQ,EAAE,iBAAiB,GAC5B,GAAG,CAAC,cAAc,GAAG,IAAI,CA+E3B;AA0GD,wBAAsB,wBAAwB,CAC1C,IAAI,EAAE,GAAG,CAAC,cAAc,EACxB,OAAO,EAAE,GAAG,CAAC,sBAAsB,EACnC,QAAQ,EAAE,WAAW,GAAG,SAAS,EACjC,MAAM,EAAE,SAAS,EACjB,iBAAiB,EAAE,4BAA4B,EAC/C,OAAO,EAAE,uCAAuC,EAChD,QAAQ,EAAE,iBAAiB,GAC5B,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAoB7B;AAsLD,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC,2BAA2B,GAAG,SAAS,CAexH"}
|
package/lib/completion.js
CHANGED
|
@@ -37,7 +37,7 @@ export function asCompletionItem(entry, optionalReplacementSpan, file, position,
|
|
|
37
37
|
if (entry.source && entry.hasAction) {
|
|
38
38
|
// De-prioritze auto-imports
|
|
39
39
|
// https://github.com/Microsoft/vscode/issues/40311
|
|
40
|
-
item.sortText =
|
|
40
|
+
item.sortText = `\uffff${entry.sortText}`;
|
|
41
41
|
}
|
|
42
42
|
const { isSnippet, replacementSpan, sourceDisplay } = entry;
|
|
43
43
|
if (isSnippet && !features.completionSnippets) {
|
|
@@ -182,7 +182,7 @@ function asCommitCharacters(kind) {
|
|
|
182
182
|
}
|
|
183
183
|
return commitCharacters.length === 0 ? undefined : commitCharacters;
|
|
184
184
|
}
|
|
185
|
-
export async function asResolvedCompletionItem(item, details, client, filePathConverter, options, features) {
|
|
185
|
+
export async function asResolvedCompletionItem(item, details, document, client, filePathConverter, options, features) {
|
|
186
186
|
item.detail = asDetail(details, filePathConverter);
|
|
187
187
|
const { documentation, tags } = details;
|
|
188
188
|
item.documentation = Previewer.markdownDocumentation(documentation, tags, filePathConverter);
|
|
@@ -191,39 +191,39 @@ export async function asResolvedCompletionItem(item, details, client, filePathCo
|
|
|
191
191
|
item.additionalTextEdits = asAdditionalTextEdits(details.codeActions, filepath);
|
|
192
192
|
item.command = asCommand(details.codeActions, item.data.file);
|
|
193
193
|
}
|
|
194
|
-
if (features.completionSnippets && canCreateSnippetOfFunctionCall(item.kind, options)) {
|
|
194
|
+
if (document && features.completionSnippets && canCreateSnippetOfFunctionCall(item.kind, options)) {
|
|
195
195
|
const { line, offset } = item.data;
|
|
196
196
|
const position = Position.fromLocation({ line, offset });
|
|
197
|
-
const shouldCompleteFunction = await isValidFunctionCompletionContext(filepath, position, client);
|
|
197
|
+
const shouldCompleteFunction = await isValidFunctionCompletionContext(filepath, position, client, document);
|
|
198
198
|
if (shouldCompleteFunction) {
|
|
199
199
|
createSnippetOfFunctionCall(item, details);
|
|
200
200
|
}
|
|
201
201
|
}
|
|
202
202
|
return item;
|
|
203
203
|
}
|
|
204
|
-
async function isValidFunctionCompletionContext(filepath, position, client) {
|
|
204
|
+
async function isValidFunctionCompletionContext(filepath, position, client, document) {
|
|
205
205
|
// Workaround for https://github.com/Microsoft/TypeScript/issues/12677
|
|
206
206
|
// Don't complete function calls inside of destructive assigments or imports
|
|
207
207
|
try {
|
|
208
208
|
const args = Position.toFileLocationRequestArgs(filepath, position);
|
|
209
209
|
const response = await client.request(tsp.CommandTypes.Quickinfo, args);
|
|
210
|
-
if (response.type
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
case 'alias':
|
|
219
|
-
return false;
|
|
220
|
-
default:
|
|
221
|
-
return true;
|
|
210
|
+
if (response.type === 'response' && response.body) {
|
|
211
|
+
switch (response.body.kind) {
|
|
212
|
+
case 'var':
|
|
213
|
+
case 'let':
|
|
214
|
+
case 'const':
|
|
215
|
+
case 'alias':
|
|
216
|
+
return false;
|
|
217
|
+
}
|
|
222
218
|
}
|
|
223
219
|
}
|
|
224
220
|
catch {
|
|
225
|
-
|
|
221
|
+
// Noop
|
|
226
222
|
}
|
|
223
|
+
// Don't complete function call if there is already something that looks like a function call
|
|
224
|
+
// https://github.com/microsoft/vscode/issues/18131
|
|
225
|
+
const after = document.getLine(position.line).slice(position.character);
|
|
226
|
+
return after.match(/^[a-z_$0-9]*\s*\(/gi) === null;
|
|
227
227
|
}
|
|
228
228
|
function canCreateSnippetOfFunctionCall(kind, options) {
|
|
229
229
|
return options.completeFunctionCalls === true && (kind === lsp.CompletionItemKind.Function || kind === lsp.CompletionItemKind.Method);
|
package/lib/completion.js.map
CHANGED
|
@@ -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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"}
|
|
@@ -129,9 +129,9 @@ export class ConfigurationManager {
|
|
|
129
129
|
const slashNormalized = p.replace(/\\/g, '/');
|
|
130
130
|
const isRelative = /^\.\.?($|\/)/.test(slashNormalized);
|
|
131
131
|
return path.posix.isAbsolute(p) ? p :
|
|
132
|
-
p.startsWith('*') ?
|
|
132
|
+
p.startsWith('*') ? `/${slashNormalized}` :
|
|
133
133
|
isRelative ? path.posix.join(workspaceFolder, p) :
|
|
134
|
-
|
|
134
|
+
`/**/${slashNormalized}`;
|
|
135
135
|
});
|
|
136
136
|
}
|
|
137
137
|
}
|
|
@@ -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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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as lsp from 'vscode-languageserver';
|
|
2
|
+
import type { LspDocuments } from '../document.js';
|
|
3
|
+
import { tsp } from '../ts-protocol.js';
|
|
4
|
+
export declare function fromProtocolCallHierarchyItem(item: tsp.CallHierarchyItem, documents: LspDocuments, workspaceRoot: string | undefined): lsp.CallHierarchyItem;
|
|
5
|
+
export declare function fromProtocolCallHierarchyIncomingCall(item: tsp.CallHierarchyIncomingCall, documents: LspDocuments, workspaceRoot: string | undefined): lsp.CallHierarchyIncomingCall;
|
|
6
|
+
export declare function fromProtocolCallHierarchyOutgoingCall(item: tsp.CallHierarchyOutgoingCall, documents: LspDocuments, workspaceRoot: string | undefined): lsp.CallHierarchyOutgoingCall;
|
|
7
|
+
//# sourceMappingURL=call-hierarchy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call-hierarchy.d.ts","sourceRoot":"","sources":["../../src/features/call-hierarchy.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAS,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAG/C,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,GAAG,CAAC,iBAAiB,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC,iBAAiB,CAoB5J;AAED,wBAAgB,qCAAqC,CAAC,IAAI,EAAE,GAAG,CAAC,yBAAyB,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC,yBAAyB,CAKpL;AAED,wBAAgB,qCAAqC,CAAC,IAAI,EAAE,GAAG,CAAC,yBAAyB,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC,yBAAyB,CAKpL"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (C) 2022 TypeFox and others.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
|
|
5
|
+
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*/
|
|
7
|
+
/*---------------------------------------------------------------------------------------------
|
|
8
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
9
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
10
|
+
*--------------------------------------------------------------------------------------------*/
|
|
11
|
+
import path from 'node:path';
|
|
12
|
+
import * as lsp from 'vscode-languageserver';
|
|
13
|
+
import { pathToUri } from '../protocol-translation.js';
|
|
14
|
+
import { tslib } from '../ts-protocol.js';
|
|
15
|
+
import { Range } from '../utils/typeConverters.js';
|
|
16
|
+
export function fromProtocolCallHierarchyItem(item, documents, workspaceRoot) {
|
|
17
|
+
const useFileName = isSourceFileItem(item);
|
|
18
|
+
const name = useFileName ? path.basename(item.file) : item.name;
|
|
19
|
+
const detail = useFileName
|
|
20
|
+
? workspaceRoot ? path.relative(workspaceRoot, path.dirname(item.file)) : path.dirname(item.file)
|
|
21
|
+
: item.containerName ?? '';
|
|
22
|
+
const result = {
|
|
23
|
+
kind: fromProtocolScriptElementKind(item.kind),
|
|
24
|
+
name,
|
|
25
|
+
detail,
|
|
26
|
+
uri: pathToUri(item.file, documents),
|
|
27
|
+
range: Range.fromTextSpan(item.span),
|
|
28
|
+
selectionRange: Range.fromTextSpan(item.selectionSpan),
|
|
29
|
+
};
|
|
30
|
+
const kindModifiers = item.kindModifiers ? parseKindModifier(item.kindModifiers) : undefined;
|
|
31
|
+
if (kindModifiers?.has(tslib.ScriptElementKindModifier.deprecatedModifier)) {
|
|
32
|
+
result.tags = [lsp.SymbolTag.Deprecated];
|
|
33
|
+
}
|
|
34
|
+
return result;
|
|
35
|
+
}
|
|
36
|
+
export function fromProtocolCallHierarchyIncomingCall(item, documents, workspaceRoot) {
|
|
37
|
+
return {
|
|
38
|
+
from: fromProtocolCallHierarchyItem(item.from, documents, workspaceRoot),
|
|
39
|
+
fromRanges: item.fromSpans.map(Range.fromTextSpan),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export function fromProtocolCallHierarchyOutgoingCall(item, documents, workspaceRoot) {
|
|
43
|
+
return {
|
|
44
|
+
to: fromProtocolCallHierarchyItem(item.to, documents, workspaceRoot),
|
|
45
|
+
fromRanges: item.fromSpans.map(Range.fromTextSpan),
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
function isSourceFileItem(item) {
|
|
49
|
+
return item.kind === tslib.ScriptElementKind.scriptElement || item.kind === tslib.ScriptElementKind.moduleElement && item.selectionSpan.start.line === 1 && item.selectionSpan.start.offset === 1;
|
|
50
|
+
}
|
|
51
|
+
function fromProtocolScriptElementKind(kind) {
|
|
52
|
+
switch (kind) {
|
|
53
|
+
case tslib.ScriptElementKind.moduleElement: return lsp.SymbolKind.Module;
|
|
54
|
+
case tslib.ScriptElementKind.classElement: return lsp.SymbolKind.Class;
|
|
55
|
+
case tslib.ScriptElementKind.enumElement: return lsp.SymbolKind.Enum;
|
|
56
|
+
case tslib.ScriptElementKind.enumMemberElement: return lsp.SymbolKind.EnumMember;
|
|
57
|
+
case tslib.ScriptElementKind.interfaceElement: return lsp.SymbolKind.Interface;
|
|
58
|
+
case tslib.ScriptElementKind.indexSignatureElement: return lsp.SymbolKind.Method;
|
|
59
|
+
case tslib.ScriptElementKind.callSignatureElement: return lsp.SymbolKind.Method;
|
|
60
|
+
case tslib.ScriptElementKind.memberFunctionElement: return lsp.SymbolKind.Method;
|
|
61
|
+
case tslib.ScriptElementKind.memberVariableElement: return lsp.SymbolKind.Property;
|
|
62
|
+
case tslib.ScriptElementKind.memberGetAccessorElement: return lsp.SymbolKind.Property;
|
|
63
|
+
case tslib.ScriptElementKind.memberSetAccessorElement: return lsp.SymbolKind.Property;
|
|
64
|
+
case tslib.ScriptElementKind.variableElement: return lsp.SymbolKind.Variable;
|
|
65
|
+
case tslib.ScriptElementKind.letElement: return lsp.SymbolKind.Variable;
|
|
66
|
+
case tslib.ScriptElementKind.constElement: return lsp.SymbolKind.Variable;
|
|
67
|
+
case tslib.ScriptElementKind.localVariableElement: return lsp.SymbolKind.Variable;
|
|
68
|
+
case tslib.ScriptElementKind.alias: return lsp.SymbolKind.Variable;
|
|
69
|
+
case tslib.ScriptElementKind.functionElement: return lsp.SymbolKind.Function;
|
|
70
|
+
case tslib.ScriptElementKind.localFunctionElement: return lsp.SymbolKind.Function;
|
|
71
|
+
case tslib.ScriptElementKind.constructSignatureElement: return lsp.SymbolKind.Constructor;
|
|
72
|
+
case tslib.ScriptElementKind.constructorImplementationElement: return lsp.SymbolKind.Constructor;
|
|
73
|
+
case tslib.ScriptElementKind.typeParameterElement: return lsp.SymbolKind.TypeParameter;
|
|
74
|
+
case tslib.ScriptElementKind.string: return lsp.SymbolKind.String;
|
|
75
|
+
default: return lsp.SymbolKind.Variable;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
function parseKindModifier(kindModifiers) {
|
|
79
|
+
return new Set(kindModifiers.split(/,|\s+/g));
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=call-hierarchy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call-hierarchy.js","sourceRoot":"","sources":["../../src/features/call-hierarchy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call-hierarchy.spec.d.ts","sourceRoot":"","sources":["../../src/features/call-hierarchy.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (C) 2022 TypeFox and others.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
|
|
5
|
+
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*/
|
|
7
|
+
import * as chai from 'chai';
|
|
8
|
+
import { uri, createServer, positionAfter, documentFromFile } from './../test-utils.js';
|
|
9
|
+
const assert = chai.assert;
|
|
10
|
+
const diagnostics = new Map();
|
|
11
|
+
let server;
|
|
12
|
+
async function getIncomingCalls(server, item) {
|
|
13
|
+
const incomingCalls = await server.callHierarchyIncomingCalls({ item });
|
|
14
|
+
const children = await Promise.all((incomingCalls || []).map(incomingCall => getIncomingCalls(server, incomingCall.from)));
|
|
15
|
+
return {
|
|
16
|
+
...item,
|
|
17
|
+
children,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
async function getOutgoingCalls(server, item) {
|
|
21
|
+
const outgoingCalls = await server.callHierarchyOutgoingCalls({ item });
|
|
22
|
+
const children = await Promise.all((outgoingCalls || []).map(outgoingCall => getOutgoingCalls(server, outgoingCall.to)));
|
|
23
|
+
return {
|
|
24
|
+
...item,
|
|
25
|
+
children,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function itemToString(item, indentLevel) {
|
|
29
|
+
if (!item) {
|
|
30
|
+
return '<not found>';
|
|
31
|
+
}
|
|
32
|
+
return `${new Array(indentLevel * 2 + 1).join(' ')}-|> ${item.name} (symbol: ${item.uri.split('/').pop()}#${item.selectionRange.start.line})`;
|
|
33
|
+
}
|
|
34
|
+
function callsToString(item, indentLevel, lines) {
|
|
35
|
+
for (const child of item.children) {
|
|
36
|
+
lines.push(itemToString(child, indentLevel + 1));
|
|
37
|
+
callsToString(child, indentLevel + 1, lines);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
before(async () => {
|
|
41
|
+
server = await createServer({
|
|
42
|
+
rootUri: uri(),
|
|
43
|
+
publishDiagnostics: args => diagnostics.set(args.uri, args),
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
beforeEach(() => {
|
|
47
|
+
server.closeAll();
|
|
48
|
+
// "closeAll" triggers final publishDiagnostics with an empty list so clear last.
|
|
49
|
+
diagnostics.clear();
|
|
50
|
+
});
|
|
51
|
+
after(() => {
|
|
52
|
+
server.closeAll();
|
|
53
|
+
server.shutdown();
|
|
54
|
+
});
|
|
55
|
+
describe.only('call hierarchy', () => {
|
|
56
|
+
const oneDoc = documentFromFile({ path: 'call-hierarchy/one.ts' });
|
|
57
|
+
const twoDoc = documentFromFile({ path: 'call-hierarchy/two.ts' });
|
|
58
|
+
const threeDoc = documentFromFile({ path: 'call-hierarchy/three.ts' });
|
|
59
|
+
function openDocuments() {
|
|
60
|
+
for (const textDocument of [oneDoc, twoDoc, threeDoc]) {
|
|
61
|
+
server.didOpenTextDocument({ textDocument });
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
it('incoming calls', async () => {
|
|
65
|
+
openDocuments();
|
|
66
|
+
const items = await server.prepareCallHierarchy({
|
|
67
|
+
textDocument: twoDoc,
|
|
68
|
+
position: positionAfter(twoDoc, 'new Three().tada'),
|
|
69
|
+
});
|
|
70
|
+
assert.isNotNull(items);
|
|
71
|
+
assert.lengthOf(items, 1);
|
|
72
|
+
const lines = [];
|
|
73
|
+
for (const item of items) {
|
|
74
|
+
lines.push(itemToString(item, 0));
|
|
75
|
+
const incomingCalls = await getIncomingCalls(server, item);
|
|
76
|
+
callsToString(incomingCalls, 0, lines);
|
|
77
|
+
}
|
|
78
|
+
assert.equal(lines.join('\n'), `
|
|
79
|
+
-|> tada (symbol: three.ts#2)
|
|
80
|
+
-|> callThreeTwice (symbol: two.ts#3)
|
|
81
|
+
-|> main (symbol: one.ts#2)
|
|
82
|
+
`.trim());
|
|
83
|
+
});
|
|
84
|
+
it('outgoing calls', async () => {
|
|
85
|
+
openDocuments();
|
|
86
|
+
const items = await server.prepareCallHierarchy({
|
|
87
|
+
textDocument: oneDoc,
|
|
88
|
+
position: positionAfter(oneDoc, 'new Two().callThreeTwice'),
|
|
89
|
+
});
|
|
90
|
+
assert.isNotNull(items);
|
|
91
|
+
assert.lengthOf(items, 1);
|
|
92
|
+
const lines = [];
|
|
93
|
+
for (const item of items) {
|
|
94
|
+
lines.push(itemToString(item, 0));
|
|
95
|
+
const outgoingCalls = await getOutgoingCalls(server, item);
|
|
96
|
+
callsToString(outgoingCalls, 0, lines);
|
|
97
|
+
}
|
|
98
|
+
assert.equal(lines.join('\n'), `
|
|
99
|
+
-|> callThreeTwice (symbol: two.ts#3)
|
|
100
|
+
-|> tada (symbol: three.ts#2)
|
|
101
|
+
-|> print (symbol: three.ts#6)
|
|
102
|
+
-|> log (symbol: console.d.ts#220)
|
|
103
|
+
-|> Three (symbol: three.ts#1)
|
|
104
|
+
`.trim());
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
//# sourceMappingURL=call-hierarchy.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call-hierarchy.spec.js","sourceRoot":"","sources":["../../src/features/call-hierarchy.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semantic-tokens.d.ts","sourceRoot":"","sources":["../../src/features/semantic-tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAQlD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,GAAI,MAAM,EAAE,CAiC3E"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semantic-tokens.js","sourceRoot":"","sources":["../../src/features/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,MAAM,UAAU,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"}
|