feat(lsp): add golang autocmd on save
Auto organize imports and format on save.
This commit is contained in:
parent
3440fb8884
commit
8c2f01f9da
1 changed files with 32 additions and 0 deletions
|
|
@ -13,6 +13,38 @@ lspconfig.lua_ls.setup({
|
|||
},
|
||||
})
|
||||
|
||||
lspconfig.gopls.setup({
|
||||
on_attach = function(_, bufnr)
|
||||
-- autcmd format on save
|
||||
vim.api.nvim_create_autocmd("BufWritePre", {
|
||||
buffer = bufnr,
|
||||
callback = function()
|
||||
vim.lsp.buf.format()
|
||||
end,
|
||||
})
|
||||
|
||||
-- autocmd Organize Imports on save
|
||||
vim.api.nvim_create_autocmd("BufWritePre", {
|
||||
buffer = bufnr,
|
||||
callback = function()
|
||||
local params = vim.lsp.util.make_range_params()
|
||||
params.context = {only = {"source.organizeImports"}}
|
||||
local result = vim.lsp.buf_request_sync(bufnr, "textDocument/codeAction", params, 1000)
|
||||
for _, res in pairs(result or {}) do
|
||||
for _, r in pairs(res.result or {}) do
|
||||
if r.edit then
|
||||
vim.lsp.util.apply_workspace_edit(r.edit, "utf-8")
|
||||
else
|
||||
vim.lsp.buf.execute_command(r.command)
|
||||
end
|
||||
end
|
||||
end
|
||||
end,
|
||||
})
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
lspconfig.eslint.setup({
|
||||
on_attach = function(_, bufnr)
|
||||
vim.api.nvim_create_autocmd("BufWritePre", {
|
||||
|
|
|
|||
Loading…
Reference in a new issue