summaryrefslogtreecommitdiff
path: root/lua/ben/plugins/go.lua
blob: a2610c8e52ca5c1859f68065db078acf50fc92e3 (plain)
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
}