1
0
mirror of https://gitlab.com/baco/dotconf.git synced 2024-06-18 22:07:04 +00:00
dotfiles/nvim/language_server.vim

55 lines
2.6 KiB
VimL
Raw Normal View History

sign define LspDiagnosticsSignError text=texthl=LspDiagnosticsSignError linehl= numhl=
sign define LspDiagnosticsSignWarning text=texthl=LspDiagnosticsSignWarning linehl= numhl=
sign define LspDiagnosticsSignInformation text= texthl=LspDiagnosticsSignInformation linehl= numhl=
sign define LspDiagnosticsSignHint text=texthl=LspDiagnosticsSignHint linehl= numhl=
2021-03-17 23:33:42 +00:00
" nvim-lspconfig
set completeopt=menuone,noinsert,noselect
nnoremap <silent> gD <cmd>lua vim.lsp.buf.declaration()<CR>
nnoremap <silent> gd <cmd>lua vim.lsp.buf.definition()<CR>
nnoremap <silent> K <cmd>lua vim.lsp.buf.hover()<CR>
nnoremap <silent> gi <cmd>lua vim.lsp.buf.implementation()<CR>
nnoremap <silent> <c-k> <cmd>lua vim.lsp.buf.signature_help()<CR>
nnoremap <silent> <space>wa <cmd>lua vim.lsp.buf.add_workspace_folder()<CR>
nnoremap <silent> <space>wr <cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>
nnoremap <silent> <space>wl <cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>
nnoremap <silent> <space>D <cmd>lua vim.lsp.buf.type_definition()<CR>
nnoremap <silent> <space>rn <cmd>lua vim.lsp.buf.rename()<CR>
nnoremap <silent> gr <cmd>lua vim.lsp.buf.references()<CR>
nnoremap <silent> g0 <cmd>lua vim.lsp.buf.document_symbol()<CR>
nnoremap <silent> gW <cmd>lua vim.lsp.buf.workspace_symbol()<CR>
nnoremap <silent> <space>e <cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>
nnoremap <silent> [d <cmd>lua vim.lsp.diagnostic.goto_prev()<CR>
nnoremap <silent> ]d <cmd>lua vim.lsp.diagnostic.goto_next()<CR>
nnoremap <silent> <space>q <cmd>lua vim.lsp.diagnostic.set_loclist()<CR>
lua << EOF
local nvim_lsp = require('lspconfig')
local on_attach = function(client, bufnr)
vim.api.nvim_command('autocmd CursorHold <buffer> lua vim.lsp.diagnostic.show_line_diagnostics()')
vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(
vim.lsp.diagnostic.on_publish_diagnostics, {virtual_text=false}
)
end
local settings = require('lsp_settings')
local servers = {'pylsp', 'clangd'}
for _, lsp in ipairs(servers) do
nvim_lsp[lsp].setup{on_attach=on_attach, settings={[lsp]=settings[lsp]}}
end
EOF
2021-03-17 23:33:42 +00:00
" completion-nvim
autocmd FileType python,c lua require('completion').on_attach()
let g:completion_matching_strategy_list = ['exact', 'substring', 'fuzzy']
let g:completion_matching_ignore_case = 1 " not v:true, 1. ¯\_(ツ)_/¯
let g:completion_matching_smart_case = 1 " not v:true, 1. ¯\_(ツ)_/¯
let g:completion_trigger_on_delete = 1 " not v:true, 1. ¯\_(ツ)_/¯
2021-03-17 23:33:42 +00:00
" lspkind-nvim
lua << EOF
require('lspkind').init({with_text=false, preset='codicons'})
EOF