1
1
namespace CSharpLanguageServer
2
2
3
- open System
4
-
5
- open Newtonsoft.Json .Linq
6
3
open Ionide.LanguageServerProtocol
4
+ open Ionide.LanguageServerProtocol .Server
7
5
open Ionide.LanguageServerProtocol .Types
8
6
9
7
type ProgressReporter ( client : ILspClient ) =
10
8
let mutable canReport = false
11
9
12
10
let mutable endSent = false
13
11
14
- member val Token = ProgressToken.C2 ( Guid.NewGuid() .ToString())
12
+ member val Token = ProgressToken.C2 ( System. Guid.NewGuid() .ToString())
15
13
16
14
member this.Begin ( title , ? cancellable , ? message , ? percentage ) = async {
17
15
let! progressCreateResult = client.WindowWorkDoneProgressCreate({ Token = this.Token })
@@ -28,7 +26,7 @@ type ProgressReporter(client: ILspClient) =
28
26
?percentage = percentage
29
27
)
30
28
31
- do ! client.Progress({ Token = this.Token; Value = JToken.FromObject param })
29
+ do ! client.Progress({ Token = this.Token; Value = serialize param })
32
30
}
33
31
34
32
member this.Report (? cancellable , ? message , ? percentage ) = async {
@@ -38,7 +36,7 @@ type ProgressReporter(client: ILspClient) =
38
36
?message = message,
39
37
?percentage = percentage
40
38
)
41
- do ! client.Progress({ Token = this.Token; Value = JToken.FromObject param })
39
+ do ! client.Progress({ Token = this.Token; Value = serialize param })
42
40
}
43
41
44
42
member this.End (? message ) = async {
@@ -47,5 +45,5 @@ type ProgressReporter(client: ILspClient) =
47
45
let param = WorkDoneProgressEnd.Create(
48
46
?message = message
49
47
)
50
- do ! client.Progress({ Token = this.Token; Value = JToken.FromObject param })
48
+ do ! client.Progress({ Token = this.Token; Value = serialize param })
51
49
}
0 commit comments