From 6d642c4df1c38025fea2101e63d7fb243a396325 Mon Sep 17 00:00:00 2001 From: Dominik Madarasz Date: Wed, 22 May 2024 14:25:44 +0200 Subject: [PATCH] go lsp --- bash/.bashrc | 2 +- nvim/.config/nvim/after/plugin/go.lua | 11 +++++++++++ nvim/.config/nvim/after/plugin/lsp.lua | 4 ++++ nvim/.config/nvim/lazy-lock.json | 2 ++ nvim/.config/nvim/lua/zak/plugins.lua | 16 +++++++++++++++- 5 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 nvim/.config/nvim/after/plugin/go.lua diff --git a/bash/.bashrc b/bash/.bashrc index 3cbac1e..98c1452 100644 --- a/bash/.bashrc +++ b/bash/.bashrc @@ -127,5 +127,5 @@ export NVM_DIR="$HOME/.nvm" export KUBECONFIG=$HOME/kubeconfig -export PATH="$PATH:$HOME:$HOME/bin:$HOME/.local/bin:/usr/local/go/bin:/usr/local/bin" +export PATH="$PATH:$HOME:$HOME/bin:$HOME/.local/bin:/usr/local/go/bin:/usr/local/bin:$GOPATH/bin" diff --git a/nvim/.config/nvim/after/plugin/go.lua b/nvim/.config/nvim/after/plugin/go.lua new file mode 100644 index 0000000..6642e56 --- /dev/null +++ b/nvim/.config/nvim/after/plugin/go.lua @@ -0,0 +1,11 @@ +local format_sync_grp = vim.api.nvim_create_augroup("GoFormat", {}) +vim.api.nvim_create_autocmd("BufWritePre", { + pattern = "*.go", + callback = function() + require('go.format').goimports() + end, + group = format_sync_grp, +}) + +require('go').setup() + diff --git a/nvim/.config/nvim/after/plugin/lsp.lua b/nvim/.config/nvim/after/plugin/lsp.lua index dbf05a5..763ab9a 100644 --- a/nvim/.config/nvim/after/plugin/lsp.lua +++ b/nvim/.config/nvim/after/plugin/lsp.lua @@ -58,3 +58,7 @@ lsp.on_attach(function(client, bufnr) end) lsp.setup() + +require("lspconfig").gopls.setup({ + -- your gopls setup +}) diff --git a/nvim/.config/nvim/lazy-lock.json b/nvim/.config/nvim/lazy-lock.json index c567384..6c94a80 100644 --- a/nvim/.config/nvim/lazy-lock.json +++ b/nvim/.config/nvim/lazy-lock.json @@ -7,6 +7,8 @@ "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "copilot-cmp": { "branch": "master", "commit": "72fbaa03695779f8349be3ac54fa8bd77eed3ee3" }, "copilot.lua": { "branch": "master", "commit": "f7612f5af4a7d7615babf43ab1e67a2d790c13a6" }, + "go.nvim": { "branch": "master", "commit": "294d65c93514f14fbbe8af0545ab8918d939acdb" }, + "guihua.lua": { "branch": "master", "commit": "5b45e29629eb1136c82870a5ebe55747ffebe79b" }, "harpoon": { "branch": "master", "commit": "ccae1b9bec717ae284906b0bf83d720e59d12b91" }, "lazy.nvim": { "branch": "main", "commit": "8f19915175395680808de529e4220da8dafc0759" }, "lsp-zero.nvim": { "branch": "v3.x", "commit": "f12d50716e8e59ea9f5cf484eac6968c33a95917" }, diff --git a/nvim/.config/nvim/lua/zak/plugins.lua b/nvim/.config/nvim/lua/zak/plugins.lua index 4e4a27a..8a96ee4 100644 --- a/nvim/.config/nvim/lua/zak/plugins.lua +++ b/nvim/.config/nvim/lua/zak/plugins.lua @@ -71,5 +71,19 @@ return require('lazy').setup({ { 'zbirenbaum/copilot.lua', dependencies = 'zbirenbaum/copilot-cmp' - } + }, + { + "ray-x/go.nvim", + dependencies = { -- optional packages + "ray-x/guihua.lua", + "neovim/nvim-lspconfig", + "nvim-treesitter/nvim-treesitter", + }, + config = function() + require("go").setup() + end, + event = {"CmdlineEnter"}, + ft = {"go", 'gomod'}, + build = ':lua require("go.install").update_all_sync()' -- if you need to install/update all binaries +} })