nvim: Add nvim 0.6 support

- It only warned me of vim.lsp.diagnostic renamed to vim.diagnostic so I
  only changed that.
- *Should* still work for nvim 0.5
This commit is contained in:
Hedy Li 2022-02-04 18:21:35 +08:00
parent 170857653a
commit 618c85881c
Signed by: hedy
GPG Key ID: B51B5A8D1B176372
2 changed files with 19 additions and 5 deletions

View File

@ -41,9 +41,15 @@ local on_attach = function(client, bufnr)
buf_set_keymap('n', '<F2>', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
buf_set_keymap('n', '<localleader>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
buf_set_keymap('n', '<localleader>e', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>', opts)
buf_set_keymap('n', '[d', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>', opts)
buf_set_keymap('n', ']d', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>', opts)
if vim.fn.has('nvim-0.6') == 1 then
buf_set_keymap('n', '<localleader>e', '<cmd>lua vim.diagnostic.show_line_diagnostics()<CR>', opts)
buf_set_keymap('n', '[d', '<cmd>lua vim.diagnostic.goto_prev()<CR>', opts)
buf_set_keymap('n', ']d', '<cmd>lua vim.diagnostic.goto_next()<CR>', opts)
else
buf_set_keymap('n', '<localleader>e', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>', opts)
buf_set_keymap('n', '[d', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>', opts)
buf_set_keymap('n', ']d', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>', opts)
end
buf_set_keymap("n", "g@", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts)
--buf_set_keymap('n', '<localleader>q', '<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>', opts)
end

View File

@ -59,6 +59,9 @@ Plug 'hedyhli/vim-bun' , { 'for': 'bun' }
Plug 'https://git.rawtext.club/slope-lang/slope-vim-syntax' , { 'for': 'slope' }
Plug 'mzlogin/vim-markdown-toc' , { 'for': 'markdown' }
" beware, this<tab>
" Plug 'github/copilot.vim'
call plug#end()
" Plugin declarations ends here
@ -118,8 +121,13 @@ function! LightlineDiagnostics()
" If both errors and warnings are 0 then don't display anything
try
" TODO: if we don't have nvim-0.5 then call some CoC function
let errors = luaeval('vim.lsp.diagnostic.get_count(0, [[Error]])')
let warnings = luaeval('vim.lsp.diagnostic.get_count(0, [[Warning]])')
if has('nvim-0.6')
let errors = luaeval('vim.diagnostic.get_count(0, [[Error]])')
let warnings = luaeval('vim.diagnostic.get_count(0, [[Warning]])')
else
let errors = luaeval('vim.lsp.diagnostic.get_count(0, [[Error]])')
let warnings = luaeval('vim.lsp.diagnostic.get_count(0, [[Warning]])')
endif
if errors == 0 && warnings == 0
return ''
else