Skip to content

Commit 13deee2

Browse files
tweaks!
1 parent 1d8489f commit 13deee2

File tree

4 files changed

+26
-10
lines changed

4 files changed

+26
-10
lines changed

sample/SampleServer/Program.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ class TextDocumentHandler : ITextDocumentSyncHandler
3939
private readonly ILanguageServer _router;
4040

4141
private readonly DocumentSelector _documentSelector = new DocumentSelector(
42-
new DocumentFilter() { Pattern = "*.cs" }
42+
new DocumentFilter() { Pattern = "*.csproj" }
4343
);
4444

4545
private SynchronizationCapability _capability;
@@ -51,12 +51,12 @@ public TextDocumentHandler(ILanguageServer router)
5151

5252
public TextDocumentSyncOptions Options { get; } = new TextDocumentSyncOptions() {
5353
WillSaveWaitUntil = false,
54-
WillSave = false,
55-
Change = TextDocumentSyncKind.None,
54+
WillSave = true,
55+
Change = TextDocumentSyncKind.Full,
5656
Save = new SaveOptions() {
57-
IncludeText = false
57+
IncludeText = true
5858
},
59-
OpenClose = false
59+
OpenClose = true
6060
};
6161

6262
public Task Handle(DidChangeTextDocumentParams notification)

src/Lsp/LanguageServer.cs

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
namespace Lsp
1818
{
19-
public class LanguageServer : IInitializeHandler, ILanguageServer, IDisposable
19+
public class LanguageServer : ILanguageServer, IInitializeHandler, IInitializedHandler, IDisposable
2020
{
2121
private readonly Connection _connection;
2222
private readonly LspRequestRouter _requestRouter;
@@ -81,12 +81,12 @@ public async Task Initialize()
8181
{
8282
_connection.Open();
8383

84-
Server = await _initializeComplete.Task;
84+
await _initializeComplete.Task;
8585

8686
_reciever.Initialized();
8787

8888
// Small delay to let client respond
89-
await Task.Delay(20);
89+
await Task.Delay(100);
9090

9191
await DynamicallyRegisterHandlers();
9292
}
@@ -153,11 +153,26 @@ async Task<InitializeResult> IRequestHandler<InitializeParams, InitializeResult>
153153
// TODO: Need a call back here
154154
// serverCapabilities.Experimental;
155155

156-
var result = new InitializeResult() { Capabilities = serverCapabilities };
156+
var result = Server = new InitializeResult() { Capabilities = serverCapabilities };
157+
158+
// TODO:
157159
_initializeComplete.SetResult(result);
160+
if (_clientVersion == ClientVersion.Lsp2)
161+
{
162+
}
163+
158164
return result;
159165
}
160166

167+
public Task Handle()
168+
{
169+
if (_clientVersion == ClientVersion.Lsp3)
170+
{
171+
_initializeComplete.SetResult(Server);
172+
}
173+
return Task.CompletedTask;
174+
}
175+
161176
private bool HasHandler<T>()
162177
{
163178
return _collection.Any(z => z.HandlerType == typeof(T));

src/Lsp/Lsp.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@
1111
<ProjectReference Include="..\JsonRpc\JsonRpc.csproj" />
1212
</ItemGroup>
1313
</Project>
14+

vscode-testextension/src/extension.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ export function activate(context: ExtensionContext) {
2626
// Options to control the language client
2727
let clientOptions: LanguageClientOptions = {
2828
// Register the server for plain text documents
29-
documentSelector: ['csproj'],
29+
documentSelector: ['xml'],
3030
synchronize: {
3131
// Synchronize the setting section 'languageServerExample' to the server
3232
configurationSection: 'languageServerExample',

0 commit comments

Comments
 (0)