summaryrefslogtreecommitdiff
path: root/lua/ben/plugins/go.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/ben/plugins/go.lua')
-rw-r--r--lua/ben/plugins/go.lua29
1 files changed, 29 insertions, 0 deletions
diff --git a/lua/ben/plugins/go.lua b/lua/ben/plugins/go.lua
new file mode 100644
index 0000000..a2610c8
--- /dev/null
+++ b/lua/ben/plugins/go.lua
@@ -0,0 +1,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
+}