1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
return {
"ray-x/go.nvim",
dependencies = { -- optional packages
"ray-x/guihua.lua",
"neovim/nvim-lspconfig",
"nvim-treesitter/nvim-treesitter",
},
config = function()
require("go").setup()
-- Go keymaps
vim.api.nvim_set_keymap("n", "<Space>gb", "<cmd>GoBuild<cr>", { noremap = true, silent = true })
vim.api.nvim_set_keymap("n", "<Space>gr", "<cmd>GoRun<cr>", { noremap = true, silent = true })
vim.api.nvim_set_keymap("n", "<Space>gd", "<cmd>GoDoc<cr>", { noremap = true, silent = true })
-- Commands to run on save:
-- local format_sync_grp = vim.api.nvim_create_augroup("GoFormat", {})
-- vim.api.nvim_create_autocmd("BufWritePre", {
-- pattern = "*.go",
-- callback = function()
-- -- Go format:
-- require("go.format").gofmt()
-- -- Goimports:
-- require("go.format").goimport()
-- end,
-- group = format_sync_grp,
-- })
end,
ft = { "go", "gomod", "gowork", "gosum" },
build = ':lua require("go.install").update_all_sync()', -- if you need to install/update all binaries
}
|