return { 'olexsmir/gopher.nvim', enabled = true, ft = "go", dependencies = { 'nvim-lua/plenary.nvim', 'nvim-treesitter/nvim-treesitter', -- DAP capabilities 'mfussenegger/nvim-dap', }, config = function(_, opts) -- Some dependencies need to be installed with GoInstallDeps: -- gomodifytags -- impl -- gotests -- iferr -- I just installed them with mason, it would be easier to install -- them here with mason, but my config is already a mess require('gopher').setup(opts) -- deprecated, setup `nvim-dap` manually or use https://github.com/leoluz/nvim-dap-go -- require('gopher.dap').setup() local nmap = function(keys, func, desc) if desc then desc = 'GO: ' .. desc end vim.keymap.set('n', keys, func, { desc = desc }) end nmap('gsa', ':GoTagAdd', '[s]truct tag [a]dd') nmap('gsr', ':GoTagRm', '[s]truct tag [r]m') nmap('gii', ':GoImpl', '[i]mplement [i]nterface') nmap('gie', 'GoIfErr', 'generate [i]f [e]rr') nmap('gta', ':GoTestAdd', '[t]est [a]dd') nmap('gts', 'GoTestsAll', '[t]est[s] add all') nmap('gte', 'GoTestsExp', '[t]ests add [e]xported') end, }