@@ -189,12 +189,39 @@ end
189189function initialized_notification (params:: InitializedParams , server:: LanguageServerInstance , conn)
190190 server. status = :running
191191
192+ client_capabilities_registrations = Registration[]
193+
192194 if server. clientcapability_workspace_didChangeConfiguration
195+ push! (
196+ client_capabilities_registrations,
197+ Registration (string (uuid4 ()), " workspace/didChangeConfiguration" , missing )
198+ )
199+ end
200+
201+ if ! ismissing (server. clientCapabilities) &&
202+ ! ismissing (server. clientCapabilities. workspace) &&
203+ ! ismissing (server. clientCapabilities. workspace. didChangeWatchedFiles) &&
204+ ! ismissing (server. clientCapabilities. workspace. didChangeWatchedFiles. dynamicRegistration) &&
205+ ! ismissing (server. clientCapabilities. workspace. didChangeWatchedFiles. relativePatternSupport) &&
206+ server. clientCapabilities. workspace. didChangeWatchedFiles. dynamicRegistration &&
207+ server. clientCapabilities. workspace. didChangeWatchedFiles. relativePatternSupport
208+
209+ push! (
210+ client_capabilities_registrations,
211+ Registration (" workspace/didChangeWatchedFiles" , " workspace/didChangeWatchedFiles" , DidChangeWatchedFilesRegistrationOptions ([
212+ FileSystemWatcher (" **/*.{jl,jmd,md}" , missing ),
213+ FileSystemWatcher (" **/{Project.toml,JuliaProject.toml,Manifest.toml,JuliaManifest.toml,.JuliaLint.toml}" , missing )
214+ ]))
215+ )
216+ end
217+
218+ if length (client_capabilities_registrations) > 0
193219 JSONRPC. send (
194220 conn,
195221 client_registerCapability_request_type,
196- RegistrationParams ([ Registration ( string ( uuid4 ()), " workspace/didChangeConfiguration " , missing )] )
222+ RegistrationParams (client_capabilities_registrations )
197223 )
224+
198225 end
199226
200227 JuliaWorkspaces. mark_current_diagnostics (server. workspace)
0 commit comments