@@ -558,13 +558,26 @@ require('lazy').setup({
558
558
-- For example, in C this would take you to the header.
559
559
map (' gD' , vim .lsp .buf .declaration , ' [G]oto [D]eclaration' )
560
560
561
+ -- This function resolves a difference between neovim nightly (version 0.11) and stable (version 0.10)
562
+ --- @param client vim.lsp.Client
563
+ --- @param method vim.lsp.protocol.Method
564
+ --- @param bufnr ? integer some lsp support methods only in specific files
565
+ --- @return boolean
566
+ local function client_supports_method (client , method , bufnr )
567
+ if vim .fn .has ' nvim-0.11' == 1 then
568
+ return client :supports_method (method , bufnr )
569
+ else
570
+ return client .supports_method (method , { bufnr = bufnr })
571
+ end
572
+ end
573
+
561
574
-- The following two autocommands are used to highlight references of the
562
575
-- word under your cursor when your cursor rests there for a little while.
563
576
-- See `:help CursorHold` for information about when this is executed
564
577
--
565
578
-- When you move your cursor, the highlights will be cleared (the second autocommand).
566
579
local client = vim .lsp .get_client_by_id (event .data .client_id )
567
- if client and client : supports_method ( vim .lsp .protocol .Methods .textDocument_documentHighlight ) then
580
+ if client and client_supports_method ( client , vim .lsp .protocol .Methods .textDocument_documentHighlight , event . buf ) then
568
581
local highlight_augroup = vim .api .nvim_create_augroup (' kickstart-lsp-highlight' , { clear = false })
569
582
vim .api .nvim_create_autocmd ({ ' CursorHold' , ' CursorHoldI' }, {
570
583
buffer = event .buf ,
@@ -591,7 +604,7 @@ require('lazy').setup({
591
604
-- code, if the language server you are using supports them
592
605
--
593
606
-- This may be unwanted, since they displace some of your code
594
- if client and client : supports_method ( vim .lsp .protocol .Methods .textDocument_inlayHint ) then
607
+ if client and client_supports_method ( client , vim .lsp .protocol .Methods .textDocument_inlayHint , event . buf ) then
595
608
map (' <leader>th' , function ()
596
609
vim .lsp .inlay_hint .enable (not vim .lsp .inlay_hint .is_enabled { bufnr = event .buf })
597
610
end , ' [T]oggle Inlay [H]ints' )
0 commit comments