Hans [MD PhD AI]

Disable capabilities (e.g., reference) for lsp server in Neovim

require'lspconfig'.basedpyright.setup({
  on_attach = function(client)
   -- client.server_capabilities.completionProvider = true
   print(vim.inspect(client.server_capabilities))
   client.server_capabilities.renameProvider = false
   client.server_capabilities.signatureProvider = false
   client.server_capabilities.referencesProvider = false
   client.server_capabilities.declarationProvider = false
   client.server_capabilities.definitionProvider = false
   client.server_capabilities.documentSymbolProvider = false
   client.server_capabilities.executeCommandProvider = false
   client.server_capabilities.hoverProvider = false
   client.server_capabilities.inlayHintProvider = false
   client.server_capabilities.referencesProvider = false
   client.server_capabilities.renameProvider = false
   client.server_capabilities.signatureHelpProvider = false
   client.server_capabilities.typeDefinitionProvider = false
   client.server_capabilities.workspaceSymbolProvider = false
  end
})

You can find them all by printing:

print(vim.inspect(client.server_capabilities))