@@ -16,29 +16,12 @@ import * as vscode from "vscode";
16
16
import * as TestDiscovery from "./TestDiscovery" ;
17
17
import {
18
18
LSPTestItem ,
19
- textDocumentTestsRequest ,
20
- workspaceTestsRequest ,
21
- } from "../sourcekit-lsp/lspExtensions" ;
22
- import { InitializeResult , RequestType } from "vscode-languageclient/node" ;
19
+ TextDocumentTestsRequest ,
20
+ WorkspaceTestsRequest ,
21
+ } from "../sourcekit-lsp/extensions" ;
23
22
import { SwiftPackage , TargetType } from "../SwiftPackage" ;
24
- import { Converter } from "vscode-languageclient/lib/common/protocolConverter" ;
25
-
26
- interface ILanguageClient {
27
- get initializeResult ( ) : InitializeResult | undefined ;
28
- get protocol2CodeConverter ( ) : Converter ;
29
-
30
- sendRequest < P , R , E > (
31
- type : RequestType < P , R , E > ,
32
- params : P ,
33
- token ?: vscode . CancellationToken
34
- ) : Promise < R > ;
35
- }
36
-
37
- interface ILanguageClientManager {
38
- useLanguageClient < Return > ( process : {
39
- ( client : ILanguageClient , cancellationToken : vscode . CancellationToken ) : Promise < Return > ;
40
- } ) : Promise < Return > ;
41
- }
23
+ import { LanguageClientManager } from "../sourcekit-lsp/LanguageClientManager" ;
24
+ import { LanguageClient } from "vscode-languageclient/node" ;
42
25
43
26
/**
44
27
* Used to augment test discovery via `swift test --list-tests`.
@@ -49,7 +32,7 @@ interface ILanguageClientManager {
49
32
* these results.
50
33
*/
51
34
export class LSPTestDiscovery {
52
- constructor ( private languageClient : ILanguageClientManager ) { }
35
+ constructor ( private languageClient : LanguageClientManager ) { }
53
36
54
37
/**
55
38
* Return a list of tests in the supplied document.
@@ -62,15 +45,15 @@ export class LSPTestDiscovery {
62
45
return await this . languageClient . useLanguageClient ( async ( client , token ) => {
63
46
// Only use the lsp for this request if it supports the
64
47
// textDocument/tests method, and is at least version 2.
65
- if ( this . checkExperimentalCapability ( client , textDocumentTestsRequest . method , 2 ) ) {
48
+ if ( this . checkExperimentalCapability ( client , TextDocumentTestsRequest . method , 2 ) ) {
66
49
const testsInDocument = await client . sendRequest (
67
- textDocumentTestsRequest ,
50
+ TextDocumentTestsRequest . type ,
68
51
{ textDocument : { uri : document . toString ( ) } } ,
69
52
token
70
53
) ;
71
54
return this . transformToTestClass ( client , swiftPackage , testsInDocument ) ;
72
55
} else {
73
- throw new Error ( `${ textDocumentTestsRequest . method } requests not supported` ) ;
56
+ throw new Error ( `${ TextDocumentTestsRequest . method } requests not supported` ) ;
74
57
}
75
58
} ) ;
76
59
}
@@ -83,11 +66,11 @@ export class LSPTestDiscovery {
83
66
return await this . languageClient . useLanguageClient ( async ( client , token ) => {
84
67
// Only use the lsp for this request if it supports the
85
68
// workspace/tests method, and is at least version 2.
86
- if ( this . checkExperimentalCapability ( client , workspaceTestsRequest . method , 2 ) ) {
87
- const tests = await client . sendRequest ( workspaceTestsRequest , { } , token ) ;
69
+ if ( this . checkExperimentalCapability ( client , WorkspaceTestsRequest . method , 2 ) ) {
70
+ const tests = await client . sendRequest ( WorkspaceTestsRequest . type , token ) ;
88
71
return this . transformToTestClass ( client , swiftPackage , tests ) ;
89
72
} else {
90
- throw new Error ( `${ workspaceTestsRequest . method } requests not supported` ) ;
73
+ throw new Error ( `${ WorkspaceTestsRequest . method } requests not supported` ) ;
91
74
}
92
75
} ) ;
93
76
}
@@ -97,7 +80,7 @@ export class LSPTestDiscovery {
97
80
* above the supplied `minVersion`.
98
81
*/
99
82
private checkExperimentalCapability (
100
- client : ILanguageClient ,
83
+ client : LanguageClient ,
101
84
method : string ,
102
85
minVersion : number
103
86
) {
@@ -114,7 +97,7 @@ export class LSPTestDiscovery {
114
97
* updating the format of the location.
115
98
*/
116
99
private transformToTestClass (
117
- client : ILanguageClient ,
100
+ client : LanguageClient ,
118
101
swiftPackage : SwiftPackage ,
119
102
input : LSPTestItem [ ]
120
103
) : TestDiscovery . TestClass [ ] {
0 commit comments