@@ -144,7 +144,7 @@ connection.onInitialize((params: InitializeParams): InitializeResult => {
144144 }
145145
146146 clientSnippetSupport = getClientCapability ( 'textDocument.completion.completionItem.snippetSupport' , false ) ;
147- dynamicFormatterRegistration = getClientCapability ( 'textDocument.rangeFormatting.dynamicRegistration' , false ) && ( params . initializationOptions . provideFormatter === undefined ) ;
147+ dynamicFormatterRegistration = getClientCapability ( 'textDocument.rangeFormatting.dynamicRegistration' , false ) && ( typeof params . initializationOptions . provideFormatter !== 'boolean' ) ;
148148 foldingRangeLimit = getClientCapability ( 'textDocument.foldingRange.rangeLimit' , Number . MAX_VALUE ) ;
149149 hierarchicalDocumentSymbolSupport = getClientCapability ( 'textDocument.documentSymbol.hierarchicalDocumentSymbolSupport' , false ) ;
150150 const capabilities : ServerCapabilities = {
@@ -153,11 +153,10 @@ connection.onInitialize((params: InitializeParams): InitializeResult => {
153153 completionProvider : clientSnippetSupport ? { resolveProvider : true , triggerCharacters : [ '"' , ':' ] } : undefined ,
154154 hoverProvider : true ,
155155 documentSymbolProvider : true ,
156- documentRangeFormattingProvider : false ,
156+ documentRangeFormattingProvider : params . initializationOptions . provideFormatter === true ,
157157 colorProvider : { } ,
158158 foldingRangeProvider : true ,
159- selectionRangeProvider : true ,
160- documentFormattingProvider : params . initializationOptions . provideFormatter === true
159+ selectionRangeProvider : true
161160 } ;
162161
163162 return { capabilities } ;
0 commit comments