2021-04-02 20:43:11 +00:00
|
|
|
|
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
|
2021-04-02 22:44:58 +00:00
|
|
|
|
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>
|
|
|
|
|
|
2021-03-21 22:08:47 +00:00
|
|
|
|
lua << EOF
|
|
|
|
|
local nvim_lsp = require('lspconfig')
|
2021-03-28 00:17:24 +00:00
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
2021-07-09 22:30:23 +00:00
|
|
|
|
local settings = require('lsp_settings')
|
2021-07-05 13:23:26 +00:00
|
|
|
|
local servers = {'pylsp', 'clangd'}
|
2021-03-21 22:08:47 +00:00
|
|
|
|
for _, lsp in ipairs(servers) do
|
2021-03-28 00:17:24 +00:00
|
|
|
|
nvim_lsp[lsp].setup{on_attach=on_attach, settings={[lsp]=settings[lsp]}}
|
2021-03-21 22:08:47 +00:00
|
|
|
|
end
|
|
|
|
|
EOF
|
2020-01-22 20:35:16 +00:00
|
|
|
|
|
2021-03-17 23:33:42 +00:00
|
|
|
|
" completion-nvim
|
2021-03-20 17:22:29 +00:00
|
|
|
|
autocmd FileType python,c lua require('completion').on_attach()
|
2020-12-15 00:17:20 +00:00
|
|
|
|
let g:completion_matching_strategy_list = ['exact', 'substring', 'fuzzy']
|
2021-03-20 13:24:34 +00:00
|
|
|
|
let g:completion_matching_ignore_case = 1 " not v:true, 1. ¯\_(ツ)_/¯
|
|
|
|
|
let g:completion_matching_smart_case = 1 " not v:true, 1. ¯\_(ツ)_/¯
|
2021-03-20 21:39:17 +00:00
|
|
|
|
let g:completion_trigger_on_delete = 1 " not v:true, 1. ¯\_(ツ)_/¯
|
2021-03-15 11:55:17 +00:00
|
|
|
|
|
2021-03-17 23:33:42 +00:00
|
|
|
|
" lspkind-nvim
|
2021-04-03 00:37:23 +00:00
|
|
|
|
lua << EOF
|
2021-07-09 23:06:22 +00:00
|
|
|
|
require('lspkind').init({with_text=false, preset='codicons'})
|
2021-04-03 00:37:23 +00:00
|
|
|
|
EOF
|