feat: added better bindings for lsp

This commit is contained in:
DashieTM 2022-12-30 23:37:48 +01:00
parent 1239047cc9
commit d589775634
4 changed files with 24 additions and 8 deletions

View file

@ -1,5 +1,5 @@
require("settings.plugins")
require("settings.options") require("settings.options")
require("settings.plugins")
require("settings.cmp") require("settings.cmp")
require("settings.lsp") require("settings.lsp")
require("settings.devicons") require("settings.devicons")

View file

@ -7,6 +7,10 @@ local keymap = vim.api.nvim_set_keymap
--vim.lsp.handlers["textDocument/codeAction"] = require'lspactions'.codeaction --vim.lsp.handlers["textDocument/codeAction"] = require'lspactions'.codeaction
--vim.cmd [[ nnoremap <leader>af :lua require'lspactions'.code_action()<CR> ]] --vim.cmd [[ nnoremap <leader>af :lua require'lspactions'.code_action()<CR> ]]
-- keymap('n', '<Space>', '<Nop>', { noremap = true, silent = true })
-- keymap('n', '<Space>', '<leader>', { noremap = true, silent = true })
-- keymap("n", "<Space>", "<Leader>", opts)
-- keymap("n", "<M-CR>", ":CodeActionMenu<CR>", opts) -- keymap("n", "<M-CR>", ":CodeActionMenu<CR>", opts)
keymap("n", "<C-f>", "<cmd>TroubleToggle<CR>", term_opts) keymap("n", "<C-f>", "<cmd>TroubleToggle<CR>", term_opts)
--keymap("n", "<C-b>", ':lua require("vgit").buffer_stage()<CR>', opts) --keymap("n", "<C-b>", ':lua require("vgit").buffer_stage()<CR>', opts)

View file

@ -27,8 +27,8 @@ require("mason-lspconfig").setup({
"cmake", -- cmake "cmake", -- cmake
"bashls", -- shell "bashls", -- shell
"ansiblels", -- ansible "ansiblels", -- ansible
"omnisharp", -- dotnot -- "omnisharp", -- dotnot
"hls", -- haskel -- "hls", -- haskel
}, },
automatic_installation = true, automatic_installation = true,
}) })
@ -39,8 +39,17 @@ local on_attach = function(client, bufnr)
-- Enable completion triggered by <c-x><c-o> -- Enable completion triggered by <c-x><c-o>
vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc") vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc")
local opts = { noremap = true, silent = true, buffer=bufnr } local opts = { noremap = true, silent = true, buffer=bufnr }
vim.keymap.set("n", "<C-k>", "<Cmd>lua vim.lsp.buf.hover()<CR>", opts) vim.keymap.set("n", "<leader>h", "<Cmd>lua vim.lsp.buf.declaration()<CR>", opts)
vim.keymap.set("n", "<M-CR>", "<Cmd>lua vim.lsp.buf.code_action()<CR>", opts) vim.keymap.set("n", "<leader>j", "<Cmd>lua vim.lsp.buf.definition()<CR>", opts)
vim.keymap.set("n", "<leader>k", "<Cmd>lua vim.lsp.buf.implementation()<CR>", opts)
vim.keymap.set("n", "<leader>l", "<Cmd>lua vim.lsp.buf.references()<CR>", opts)
vim.keymap.set("n", "<leader>;", "<Cmd>lua vim.lsp.buf.code_action()<CR>", opts)
vim.keymap.set("n", "<leader>u", "<Cmd>lua vim.lsp.buf.signature_help()<CR>", opts)
vim.keymap.set("n", "<leader>g", "<Cmd>lua vim.lsp.buf.hover()<CR>", opts)
end end
require("mason-lspconfig").setup_handlers({ require("mason-lspconfig").setup_handlers({

View file

@ -26,6 +26,9 @@ local options = {
mousemodel = "popup_setpos", mousemodel = "popup_setpos",
} }
vim.keymap.set("n", "<Space>", "<Nop>", { silent = true, remap = false })
vim.g.mapleader = " "
--vim.opt.shortmess:append "c" --vim.opt.shortmess:append "c"
for k, v in pairs(options) do for k, v in pairs(options) do