@@ -130,22 +130,22 @@ async Task<InitializeResult> IRequestHandler<InitializeParams, InitializeResult>
130130 var ccp = new ClientCapabilityProvider ( _collection ) ;
131131
132132 var serverCapabilities = new ServerCapabilities ( ) {
133- CodeActionProvider = ccp . HasHandler ( textDocumentCapabilities . CodeAction ) ,
134- CodeLensProvider = ccp . GetOptions ( textDocumentCapabilities . CodeLens ) . Get < ICodeLensOptions , CodeLensOptions > ( CodeLensOptions . Of ) ,
135- CompletionProvider = ccp . GetOptions ( textDocumentCapabilities . Completion ) . Get < ICompletionOptions , CompletionOptions > ( CompletionOptions . Of ) ,
136- DefinitionProvider = ccp . HasHandler ( textDocumentCapabilities . Definition ) ,
137- DocumentFormattingProvider = ccp . HasHandler ( textDocumentCapabilities . Formatting ) ,
138- DocumentHighlightProvider = ccp . HasHandler ( textDocumentCapabilities . DocumentHighlight ) ,
139- DocumentLinkProvider = ccp . GetOptions ( textDocumentCapabilities . DocumentLink ) . Get < IDocumentLinkOptions , DocumentLinkOptions > ( DocumentLinkOptions . Of ) ,
140- DocumentOnTypeFormattingProvider = ccp . GetOptions ( textDocumentCapabilities . OnTypeFormatting ) . Get < IDocumentOnTypeFormattingOptions , DocumentOnTypeFormattingOptions > ( DocumentOnTypeFormattingOptions . Of ) ,
141- DocumentRangeFormattingProvider = ccp . HasHandler ( textDocumentCapabilities . RangeFormatting ) ,
142- DocumentSymbolProvider = ccp . HasHandler ( textDocumentCapabilities . DocumentSymbol ) ,
143- ExecuteCommandProvider = ccp . GetOptions ( workspaceCapabilities . ExecuteCommand ) . Get < IExecuteCommandOptions , ExecuteCommandOptions > ( ExecuteCommandOptions . Of ) ,
144- HoverProvider = ccp . HasHandler ( textDocumentCapabilities . Hover ) ,
145- ReferencesProvider = ccp . HasHandler ( textDocumentCapabilities . References ) ,
146- RenameProvider = ccp . HasHandler ( textDocumentCapabilities . Rename ) ,
147- SignatureHelpProvider = ccp . GetOptions ( textDocumentCapabilities . SignatureHelp ) . Get < ISignatureHelpOptions , SignatureHelpOptions > ( SignatureHelpOptions . Of ) ,
148- WorkspaceSymbolProvider = ccp . HasHandler ( workspaceCapabilities . Symbol )
133+ CodeActionProvider = ccp . HasStaticHandler ( textDocumentCapabilities . CodeAction ) ,
134+ CodeLensProvider = ccp . GetStaticOptions ( textDocumentCapabilities . CodeLens ) . Get < ICodeLensOptions , CodeLensOptions > ( CodeLensOptions . Of ) ,
135+ CompletionProvider = ccp . GetStaticOptions ( textDocumentCapabilities . Completion ) . Get < ICompletionOptions , CompletionOptions > ( CompletionOptions . Of ) ,
136+ DefinitionProvider = ccp . HasStaticHandler ( textDocumentCapabilities . Definition ) ,
137+ DocumentFormattingProvider = ccp . HasStaticHandler ( textDocumentCapabilities . Formatting ) ,
138+ DocumentHighlightProvider = ccp . HasStaticHandler ( textDocumentCapabilities . DocumentHighlight ) ,
139+ DocumentLinkProvider = ccp . GetStaticOptions ( textDocumentCapabilities . DocumentLink ) . Get < IDocumentLinkOptions , DocumentLinkOptions > ( DocumentLinkOptions . Of ) ,
140+ DocumentOnTypeFormattingProvider = ccp . GetStaticOptions ( textDocumentCapabilities . OnTypeFormatting ) . Get < IDocumentOnTypeFormattingOptions , DocumentOnTypeFormattingOptions > ( DocumentOnTypeFormattingOptions . Of ) ,
141+ DocumentRangeFormattingProvider = ccp . HasStaticHandler ( textDocumentCapabilities . RangeFormatting ) ,
142+ DocumentSymbolProvider = ccp . HasStaticHandler ( textDocumentCapabilities . DocumentSymbol ) ,
143+ ExecuteCommandProvider = ccp . GetStaticOptions ( workspaceCapabilities . ExecuteCommand ) . Get < IExecuteCommandOptions , ExecuteCommandOptions > ( ExecuteCommandOptions . Of ) ,
144+ HoverProvider = ccp . HasStaticHandler ( textDocumentCapabilities . Hover ) ,
145+ ReferencesProvider = ccp . HasStaticHandler ( textDocumentCapabilities . References ) ,
146+ RenameProvider = ccp . HasStaticHandler ( textDocumentCapabilities . Rename ) ,
147+ SignatureHelpProvider = ccp . GetStaticOptions ( textDocumentCapabilities . SignatureHelp ) . Get < ISignatureHelpOptions , SignatureHelpOptions > ( SignatureHelpOptions . Of ) ,
148+ WorkspaceSymbolProvider = ccp . HasStaticHandler ( workspaceCapabilities . Symbol )
149149 } ;
150150
151151 var textSyncHandlers = _collection
@@ -168,16 +168,21 @@ async Task<InitializeResult> IRequestHandler<InitializeParams, InitializeResult>
168168 }
169169 else
170170 {
171- if ( ccp . HasHandler ( textDocumentCapabilities . Synchronization ) )
171+ if ( ccp . HasStaticHandler ( textDocumentCapabilities . Synchronization ) )
172172 {
173173 // TODO: Merge options
174- serverCapabilities . TextDocumentSync = textSyncHandlers . FirstOrDefault ( ) ? . Options ?? new TextDocumentSyncOptions ( ) {
175- Change = TextDocumentSyncKind . None ,
176- OpenClose = false ,
177- Save = new SaveOptions ( ) { IncludeText = false } ,
178- WillSave = false ,
179- WillSaveWaitUntil = false
180- } ;
174+ serverCapabilities . TextDocumentSync =
175+ textSyncHandlers . FirstOrDefault ( ) ? . Options ?? new TextDocumentSyncOptions ( ) {
176+ Change = TextDocumentSyncKind . None ,
177+ OpenClose = false ,
178+ Save = new SaveOptions ( ) { IncludeText = false } ,
179+ WillSave = false ,
180+ WillSaveWaitUntil = false
181+ } ;
182+ }
183+ else
184+ {
185+ serverCapabilities . TextDocumentSync = TextDocumentSyncKind . None ;
181186 }
182187 }
183188
0 commit comments