feat(neovim): migrate most vimscript to lua
This commit is contained in:
parent
09d1037a2a
commit
a102a8000b
12 changed files with 232 additions and 208 deletions
|
@ -1,4 +1,18 @@
|
|||
local config = require'lspconfig'
|
||||
-- autocomplete config
|
||||
vim.opt.completeopt="menuone,noinsert"
|
||||
vim.opt.shortmess:append("c")
|
||||
|
||||
require'compe'.setup {
|
||||
enabled = true,
|
||||
preselect = "always",
|
||||
allow_prefix_unmatch = true,
|
||||
source = {
|
||||
path = true,
|
||||
calc = true,
|
||||
nvim_lsp = true,
|
||||
vsnip = true,
|
||||
},
|
||||
}
|
||||
|
||||
local pid = vim.fn.getpid()
|
||||
|
||||
|
@ -21,6 +35,8 @@ end
|
|||
require('lspfuzzy').setup {}
|
||||
|
||||
-- enable lsp snippets for nvim-compe
|
||||
|
||||
local config = require'lspconfig'
|
||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
capabilities.textDocument.completion.completionItem.snippetSupport = true
|
||||
local servers = {
|
||||
|
@ -32,6 +48,7 @@ local servers = {
|
|||
"dockerls",
|
||||
"rnix",
|
||||
"tsserver",
|
||||
"graphql",
|
||||
"pylsp",
|
||||
"terraformls",
|
||||
"hls",
|
||||
|
@ -222,7 +239,7 @@ config.diagnosticls.setup {
|
|||
}
|
||||
|
||||
-- nvim-autoclose & nvim-compe compatibility
|
||||
local remap = vim.api.nvim_set_keymap
|
||||
local map = vim.api.nvim_set_keymap
|
||||
local npairs = require('nvim-autopairs')
|
||||
|
||||
npairs.setup({
|
||||
|
@ -244,4 +261,4 @@ MUtils.completion_confirm=function()
|
|||
end
|
||||
end
|
||||
|
||||
remap('i' , '<CR>','v:lua.MUtils.completion_confirm()', {expr = true , noremap = true})
|
||||
map('i' , '<CR>','v:lua.MUtils.completion_confirm()', {expr = true , noremap = true})
|
||||
|
|
|
@ -1,42 +0,0 @@
|
|||
" autocomplete config
|
||||
set completeopt=menuone,noinsert
|
||||
set shortmess+=c
|
||||
|
||||
let g:compe = {}
|
||||
let g:compe.enabled = v:true
|
||||
let g:compe.preselect = 'always'
|
||||
let g:compe.allow_prefix_unmatch = v:true
|
||||
let g:compe.source = {}
|
||||
let g:compe.source.path = v:true
|
||||
let g:compe.source.calc = v:true
|
||||
let g:compe.source.nvim_lsp = v:true
|
||||
let g:compe.source.vsnip = v:true
|
||||
|
||||
inoremap <silent><expr> <C-Space> compe#complete()
|
||||
inoremap <silent><expr> <CR> compe#confirm('<CR>')
|
||||
inoremap <silent><expr> <C-e> compe#close('<C-e>')
|
||||
inoremap <silent><expr> <C-f> compe#scroll({ 'delta': +4 })
|
||||
inoremap <silent><expr> <C-d> compe#scroll({ 'delta': -4 })
|
||||
|
||||
" Use <Tab> and <S-Tab> to navigate through popup menu
|
||||
inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
|
||||
inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
|
||||
|
||||
" maps
|
||||
nnoremap <silent> gd <cmd>lua vim.lsp.buf.definition()<CR>
|
||||
nnoremap <silent> gp <cmd>lua peek_definition()<CR>
|
||||
nnoremap <silent> gy <cmd>lua vim.lsp.buf.type_definition()<CR>
|
||||
nnoremap <silent> gi <cmd>lua vim.lsp.buf.implementation()<CR>
|
||||
nnoremap <silent> gr <cmd>lua vim.lsp.buf.references()<CR>
|
||||
nnoremap <silent> gD <cmd>lua vim.lsp.buf.declaration()<CR>
|
||||
nnoremap <silent> K <cmd>lua vim.lsp.buf.hover()<CR>
|
||||
nnoremap <silent> <c-k> <cmd>lua vim.lsp.buf.signature_help()<CR>
|
||||
nnoremap <silent> <leader>sd <cmd>lua vim.lsp.buf.document_symbol()<CR>
|
||||
nnoremap <silent> <leader>sw <cmd>lua vim.lsp.buf.workspace_symbol()<CR>
|
||||
nnoremap <silent> <leader>f <cmd>lua vim.lsp.buf.formatting_seq_sync(nil, nil, { 'tsserver', 'diagnosticls' })<CR>
|
||||
nnoremap <silent> <leader>a <cmd>lua vim.lsp.buf.code_action()<CR>
|
||||
nnoremap <silent> <leader>r <cmd>lua vim.lsp.buf.rename()<CR>
|
||||
nnoremap <silent> <leader>i <cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>
|
||||
nnoremap <silent> <leader>q <cmd>lua vim.lsp.diagnostic.set_loclist()<CR>
|
||||
nnoremap <silent> [d <cmd>lua vim.lsp.diagnostic.goto_prev()<CR>
|
||||
nnoremap <silent> ]d <cmd>lua vim.lsp.diagnostic.goto_next()<CR>
|
30
home/editors/neovim/lsp/mappings.lua
Normal file
30
home/editors/neovim/lsp/mappings.lua
Normal file
|
@ -0,0 +1,30 @@
|
|||
local map = vim.api.nvim_set_keymap
|
||||
|
||||
map("i", "<C-Space>", "compe#complete()", { noremap = true, expr = true, silent = true })
|
||||
map("i", "<CR>", "compe#confirm('<CR>')", { noremap = true, expr = true, silent = true })
|
||||
map("i", "<C-e>", "compe#close('<C-e>')", { noremap = true, expr = true, silent = true })
|
||||
map("i", "<C-f>", "compe#scroll({ 'delta': +4 })", { noremap = true, expr = true, silent = true })
|
||||
map("i", "<C-d>", "compe#scroll({ 'delta': -4 })", { noremap = true, expr = true, silent = true })
|
||||
|
||||
-- Use <Tab> and <S-Tab> to navigate through popup menu
|
||||
map("i", "<Tab>", "pumvisible() ? '<C-n>' : '<Tab>'", { noremap = true, expr = true })
|
||||
map("i", "<S-Tab>", "pumvisible() ? '<C-p>' : '<S-Tab>'", { noremap = true, expr = true })
|
||||
|
||||
-- maps
|
||||
map("n", "gd", "<cmd>lua vim.lsp.buf.definition()<CR>", { noremap = true, silent = true })
|
||||
map("n", "gp", "<cmd>lua peek_definition()<CR>", { noremap = true, silent = true })
|
||||
map("n", "gy", "<cmd>lua vim.lsp.buf.type_definition()<CR>", { noremap = true, silent = true })
|
||||
map("n", "gi", "<cmd>lua vim.lsp.buf.implementation()<CR>", { noremap = true, silent = true })
|
||||
map("n", "gr", "<cmd>lua vim.lsp.buf.references()<CR>", { noremap = true, silent = true })
|
||||
map("n", "gD", "<cmd>lua vim.lsp.buf.declaration()<CR>", { noremap = true, silent = true })
|
||||
map("n", "K", "<cmd>lua vim.lsp.buf.hover()<CR>", { noremap = true, silent = true })
|
||||
map("n", "<c-k>", "<cmd>lua vim.lsp.buf.signature_help()<CR>", { noremap = true, silent = true })
|
||||
map("n", "<leader>sd", "<cmd>lua vim.lsp.buf.document_symbol()<CR>", { noremap = true, silent = true })
|
||||
map("n", "<leader>sw", "<cmd>lua vim.lsp.buf.workspace_symbol()<CR>", { noremap = true, silent = true })
|
||||
map("n", "<leader>f", "<cmd>lua vim.lsp.buf.formatting_seq_sync(nil, nil, { 'tsserver', 'diagnosticls' })<CR>", { noremap = true, silent = true })
|
||||
map("n", "<leader>a", "<cmd>lua vim.lsp.buf.code_action()<CR>", { noremap = true, silent = true })
|
||||
map("n", "<leader>r", "<cmd>lua vim.lsp.buf.rename()<CR>", { noremap = true, silent = true })
|
||||
map("n", "<leader>i", "<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>", { noremap = true, silent = true })
|
||||
map("n", "<leader>q", "<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>", { noremap = true, silent = true })
|
||||
map("n", "[d", "<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>", { noremap = true, silent = true })
|
||||
map("n", "]d", "<cmd>lua vim.lsp.diagnostic.goto_next()<CR>", { noremap = true, silent = true })
|
Loading…
Add table
Add a link
Reference in a new issue