testing on_attach with golang
This commit is contained in:
parent
fa7c2cb4d6
commit
b79e6922fd
@ -49,9 +49,40 @@ vim.cmd([[
|
|||||||
-- language server setup
|
-- language server setup
|
||||||
local lspconfig = require('lspconfig')
|
local lspconfig = require('lspconfig')
|
||||||
|
|
||||||
|
local on_attach = function(_, bufnr)
|
||||||
|
-- key mappings
|
||||||
|
local opts = {
|
||||||
|
buffer = bufnr,
|
||||||
|
noremap = true,
|
||||||
|
silent = true,
|
||||||
|
focusable = false,
|
||||||
|
border = 'rounded',
|
||||||
|
source = 'always',
|
||||||
|
prefix = ' ',
|
||||||
|
scope = 'cursor',
|
||||||
|
close_events = { "BufLeave","CursorMoved","InsertEnter","FocusLost" },
|
||||||
|
}
|
||||||
|
-- error viewing
|
||||||
|
vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float, opts)
|
||||||
|
vim.keymap.set('n', '<leader>[d', vim.diagnostic.goto_prev, opts)
|
||||||
|
vim.keymap.set('n', '<leader>]d', vim.diagnostic.goto_next, opts)
|
||||||
|
-- def viewing/rename
|
||||||
|
vim.keymap.set('n', '<leader>gD', vim.lsp.buf.declaration, opts)
|
||||||
|
vim.keymap.set('n', '<leader>gd', vim.lsp.buf.definition, opts)
|
||||||
|
vim.keymap.set('n', '<leader>rn', vim.lsp.buf.rename, opts)
|
||||||
|
vim.keymap.set('n', '<leader>H', vim.lsp.buf.hover, opts)
|
||||||
|
-- auto hover for error viewing
|
||||||
|
vim.api.nvim_create_autocmd("CursorHold", {
|
||||||
|
callback = function()
|
||||||
|
vim.diagnostic.open_float(nil, opts)
|
||||||
|
end
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
-- Go
|
-- Go
|
||||||
lspconfig.gopls.setup{
|
lspconfig.gopls.setup{
|
||||||
cmd = {"gopls", "serve"},
|
cmd = {"gopls", "serve"},
|
||||||
|
on_attach = on_attach,
|
||||||
filetypes = {"go", "gomod"},
|
filetypes = {"go", "gomod"},
|
||||||
settings = {
|
settings = {
|
||||||
gopls = {
|
gopls = {
|
||||||
@ -98,24 +129,19 @@ vim.diagnostic.config({
|
|||||||
|
|
||||||
vim.o.updatetime = 250
|
vim.o.updatetime = 250
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("CursorHold", {
|
vim.api.nvim_create_autocmd('LspAttach', {
|
||||||
buffer = bufnr,
|
callback = function(ev)
|
||||||
callback = function()
|
local opts = { buffer = ev.buf }
|
||||||
local opts = {
|
-- error viewing
|
||||||
focusable = false,
|
vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float, opts)
|
||||||
close_events = { "BufLeave", "CursorMoved", "InsertEnter", "FocusLost" },
|
vim.keymap.set('n', '<leader>[d', vim.diagnostic.goto_prev, opts)
|
||||||
border = 'rounded',
|
vim.keymap.set('n', '<leader>]d', vim.diagnostic.goto_next, opts)
|
||||||
source = 'always',
|
-- def viewing/rename
|
||||||
prefix = ' ',
|
vim.keymap.set('n', '<leader>gD', vim.lsp.buf.declaration, opts)
|
||||||
scope = 'cursor',
|
vim.keymap.set('n', '<leader>gd', vim.lsp.buf.definition, opts)
|
||||||
}
|
vim.keymap.set('n', '<leader>rn', vim.lsp.buf.rename, opts)
|
||||||
vim.diagnostic.open_float(nil, opts)
|
vim.keymap.set('n', '<leader>H', vim.lsp.buf.hover, opts)
|
||||||
end
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
-- lsp mappingsd
|
|
||||||
vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float, opts)
|
|
||||||
vim.keymap.set('n', '<leader>gD', vim.lsp.buf.declaration, opts)
|
|
||||||
vim.keymap.set('n', '<leader>gd', vim.lsp.buf.definition, opts)
|
|
||||||
vim.keymap.set('n', '<leader>rn', vim.lsp.buf.rename, opts)
|
|
||||||
vim.keymap.set('n', '<leader>H', vim.lsp.buf.hover, opts)
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user