From e6dcfa8f3ab6eda95ab56fe2188e694364cfc7af Mon Sep 17 00:00:00 2001 From: spike Date: Thu, 29 Sep 2022 20:52:16 +0200 Subject: [PATCH] golang format on save / leave insert --- lua/spike/lsp/go.lua | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 lua/spike/lsp/go.lua diff --git a/lua/spike/lsp/go.lua b/lua/spike/lsp/go.lua new file mode 100644 index 0000000..8415895 --- /dev/null +++ b/lua/spike/lsp/go.lua @@ -0,0 +1,32 @@ +-- custom golang lsp settings + +local augroup = vim.api.nvim_create_augroup +local autocmd = vim.api.nvim_create_autocmd +local M = {} + + +local augroupname = "spike.go" + +-- Navigator custom on_attach for golang + +function M.gopls_onattach(client, bufnr) + -- auto auto format on save + local ok, goformat = pcall(require, "go.format") + if not ok then + print("go.nvim missing !") + return + end + + augroup(augroupname, {}) + autocmd({"BufWritePre", "InsertLeave"}, { + group = augroupname, + buffer = bufnr, + callback = function() + goformat.goimport() + end + + + }) +end + +return M