1
1
// Copyright (c) Microsoft Corporation.
2
2
// Licensed under the MIT License.
3
+ using System ;
3
4
using System . Linq ;
4
5
using System . Threading ;
5
6
using System . Threading . Tasks ;
13
14
using OmniSharp . Extensions . LanguageServer . Protocol . Models ;
14
15
using OmniSharp . Extensions . LanguageServer . Protocol . Server ;
15
16
using OmniSharp . Extensions . LanguageServer . Protocol . Server . Capabilities ;
17
+ using OmniSharp . Extensions . LanguageServer . Protocol . Window ;
16
18
17
19
namespace Bicep . LanguageServer . Handlers
18
20
{
19
21
public class BicepTextDocumentSyncHandler : TextDocumentSyncHandlerBase
20
22
{
21
23
private readonly ICompilationManager compilationManager ;
24
+ private readonly ILanguageServerFacade server ;
22
25
23
- public BicepTextDocumentSyncHandler ( ICompilationManager compilationManager )
26
+ public BicepTextDocumentSyncHandler ( ICompilationManager compilationManager , ILanguageServerFacade server )
24
27
{
25
28
this . compilationManager = compilationManager ;
29
+ this . server = server ;
26
30
}
27
31
28
32
public override TextDocumentAttributes GetTextDocumentAttributes ( DocumentUri uri )
@@ -42,9 +46,19 @@ public override Task<Unit> Handle(DidChangeTextDocumentParams request, Cancellat
42
46
43
47
public override Task < Unit > Handle ( DidOpenTextDocumentParams request , CancellationToken cancellationToken )
44
48
{
45
- this . compilationManager . UpsertCompilation ( request . TextDocument . Uri , request . TextDocument . Version , request . TextDocument . Text ) ;
46
-
47
- return Unit . Task ;
49
+ this . server . Window . LogInfo ( $ "Received open file request server-side.") ;
50
+
51
+ try
52
+ {
53
+ this . compilationManager . UpsertCompilation ( request . TextDocument . Uri , request . TextDocument . Version , request . TextDocument . Text ) ;
54
+
55
+ return Unit . Task ;
56
+ }
57
+ catch ( Exception exception )
58
+ {
59
+ this . server . Window . LogError ( $ "Exception server side: { exception } ") ;
60
+ throw ;
61
+ }
48
62
}
49
63
50
64
public override Task < Unit > Handle ( DidSaveTextDocumentParams request , CancellationToken cancellationToken )
0 commit comments