55 ShowMessageNotification , MessageType , WorkspaceFolder , WorkspaceFoldersChangeEvent ,
66 DocumentSymbolParams , SymbolInformation , DocumentSymbol , RenameParams ,
77 WorkspaceEdit , Range , CodeActionKind , CodeActionParams , CodeAction ,
8- ReferenceParams , Location , TextDocumentIdentifier
8+ ReferenceParams , Location , TextDocumentIdentifier , TextDocumentChangeEvent ,
9+ DidChangeWatchedFilesParams , DidChangeConfigurationParams
910} from 'vscode-languageserver/node'
1011import { TextDocument } from 'vscode-languageserver-textdocument'
1112import {
@@ -67,7 +68,7 @@ const documents = new TextDocuments(TextDocument)
6768const pendingValidationRequests : Map < string , NodeJS . Timer > = new Map
6869const validationDelay = 200
6970
70- connection . onInitialize ( ( params : InitializeParams ) => {
71+ connection . onInitialize ( ( params : InitializeParams ) : InitializeResult => {
7172 workspaceRoot = params . rootUri
7273 workspaceFolders = params . workspaceFolders || [ ]
7374
@@ -117,7 +118,7 @@ connection.onInitialize((params: InitializeParams) => {
117118 return result
118119} )
119120
120- connection . onInitialized ( ( ) => {
121+ connection . onInitialized ( ( ) : void => {
121122 if ( hasConfigurationCapability ) {
122123 connection . client . register ( DidChangeConfigurationNotification . type , undefined )
123124 }
@@ -161,7 +162,7 @@ function updateLogLevel () {
161162 . then ( settings => setLevel ( settings . logging . level ) )
162163}
163164
164- connection . onDidChangeConfiguration ( event => {
165+ connection . onDidChangeConfiguration ( ( event : DidChangeConfigurationParams ) : void => {
165166 logDebug ( 'configuration changed' )
166167 documentExtras . clear ( )
167168 if ( ! hasConfigurationCapability ) {
@@ -208,7 +209,7 @@ async function ensureDocumentExtras(document: TextDocument): Promise<DocumentExt
208209 return extras
209210}
210211
211- documents . onDidChangeContent ( event => {
212+ documents . onDidChangeContent ( ( event : TextDocumentChangeEvent < TextDocument > ) : void => {
212213 const { document } = event
213214 const { uri } = document
214215 logDebug ( 'document changed - %1' , uri )
@@ -217,26 +218,31 @@ documents.onDidChangeContent(event => {
217218 triggerValidation ( document )
218219} )
219220
221+ documents . onDidOpen ( ( event : TextDocumentChangeEvent < TextDocument > ) : void => {
222+ const { document } = event
223+ logDebug ( 'document opened - %1' , document . uri )
224+ triggerValidation ( document )
225+ } )
226+
220227function invalidateExtras ( extras : DocumentExtras ) : void {
221228 extras . error = extras . ast = extras . tokens = extras . warnings = undefined
222229}
223230
224- documents . onDidClose ( event => {
231+ documents . onDidClose ( ( event : TextDocumentChangeEvent < TextDocument > ) : void => {
225232 const { document } = event
226233 const { uri } = document
227234 logDebug ( 'document closed - %1' , uri )
228235 documentExtras . delete ( uri )
229236 cancelValidation ( document )
230237} )
231238
232- connection . onDidChangeWatchedFiles ( event => {
239+ connection . onDidChangeWatchedFiles ( ( event : DidChangeWatchedFilesParams ) : void => {
233240 if ( wantDebug ( ) ) {
234241 logDebug ( 'watched files changed - %1' ,
235242 JSON . stringify ( event . changes . map ( ( { uri } ) => uri ) ) )
236243 }
237244 event . changes . forEach ( change => {
238- const { uri } = change
239- const document = documents . get ( uri )
245+ const document = documents . get ( change . uri )
240246 if ( document ) triggerValidation ( document )
241247 } )
242248} )
0 commit comments