Skip to content

Commit

Permalink
fix: send capabilities one by one
Browse files Browse the repository at this point in the history
  • Loading branch information
Loïc Mangeonjean committed Oct 10, 2023
1 parent 310e20e commit bba2bf2
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions src/capabilities.ts
Original file line number Diff line number Diff line change
Expand Up @@ -96,11 +96,15 @@ export function synchronizeLanguageServerCapabilities (
try {
// Synchronizing dynamic server capabilities
const sendRegistrationRequest = (registrations: readonly Registration[]) => {
clientConnection.sendRequest(RegistrationRequest.type, {
registrations: registrations.filter(r => !IGNORED_REGISTRATION_METHOD.has(r.method)).map(adaptRegistration)
}).catch(error => {
logger?.error('Unable to send registration requestion to client', { error })
})
// Send registration one by one even if it's possible to send them all at once
// Because C# LSP sends duplicated capabilities that make the client ignore the next capabilities in the list
for (const registration of registrations.filter(r => !IGNORED_REGISTRATION_METHOD.has(r.method)).map(adaptRegistration)) {
clientConnection.sendRequest(RegistrationRequest.type, {
registrations: [registration]
}).catch(error => {
logger?.error('Unable to send registration requestion to client', { error })
})
}
}
const registrationRequests = watchableServerCapabilities.getRegistrationRequests()
if (registrationRequests.length > 0) {
Expand Down

0 comments on commit bba2bf2

Please sign in to comment.