fix(plugin): respect setup_commands option

This commit is contained in:
Oleksandr Smirnov 2025-03-21 16:51:30 +02:00
parent b49175cd34
commit eeff227715
No known key found for this signature in database
2 changed files with 66 additions and 56 deletions

View file

@ -93,10 +93,17 @@ function config.setup(user_config)
_config = vim.tbl_deep_extend("force", default_config, user_config or {}) _config = vim.tbl_deep_extend("force", default_config, user_config or {})
end end
---@return boolean
---@private
function config.should_setup_commands()
return config.setup_commands
end
setmetatable(config, { setmetatable(config, {
__index = function(_, key) __index = function(_, key)
return _config[key] return _config[key]
end, end,
}) })
---@return gopher.Config
return config return config

View file

@ -3,74 +3,77 @@ if vim.g.gopher_loaded == 1 then
end end
vim.g.gopher_loaded = 1 vim.g.gopher_loaded = 1
local c = require "gopher.config" --- NOTE: runs in defer since this file before gopher.config
if c.setup_commands then --- I'm not sure if this is the best to do this
vim.api.nvim_create_user_command("GopherLog", function() vim.defer_fn(function()
vim.cmd("tabnew " .. require("gopher._utils.log").get_outfile()) if require("gopher.config").should_setup_commands() then
end, { nargs = 0 }) vim.api.nvim_create_user_command("GopherLog", function()
vim.cmd("tabnew " .. require("gopher._utils.log").get_outfile())
end, { nargs = 0 })
vim.api.nvim_create_user_command("GoIfErr", function() vim.api.nvim_create_user_command("GoIfErr", function()
require("gopher").iferr() require("gopher").iferr()
end, { nargs = 0 }) end, { nargs = 0 })
vim.api.nvim_create_user_command("GoCmt", function() vim.api.nvim_create_user_command("GoCmt", function()
require("gopher").comment() require("gopher").comment()
end, { nargs = 0 }) end, { nargs = 0 })
vim.api.nvim_create_user_command("GoImpl", function(args) vim.api.nvim_create_user_command("GoImpl", function(args)
require("gopher").impl(unpack(args.fargs)) require("gopher").impl(unpack(args.fargs))
end, { nargs = "*" }) end, { nargs = "*" })
-- :GoInstall -- :GoInstall
vim.api.nvim_create_user_command("GoInstallDeps", function() vim.api.nvim_create_user_command("GoInstallDeps", function()
require("gopher").install_deps() require("gopher").install_deps()
end, { nargs = 0 }) end, { nargs = 0 })
vim.api.nvim_create_user_command("GoInstallDepsSync", function() vim.api.nvim_create_user_command("GoInstallDepsSync", function()
require("gopher").install_deps { sync = true } require("gopher").install_deps { sync = true }
end, { nargs = 0 }) end, { nargs = 0 })
--- :GoTag --- :GoTag
vim.api.nvim_create_user_command("GoTagAdd", function(opts) vim.api.nvim_create_user_command("GoTagAdd", function(opts)
require("gopher").tags.add(unpack(opts.fargs)) require("gopher").tags.add(unpack(opts.fargs))
end, { nargs = "*" }) end, { nargs = "*" })
vim.api.nvim_create_user_command("GoTagRm", function(opts) vim.api.nvim_create_user_command("GoTagRm", function(opts)
require("gopher").tags.rm(unpack(opts.fargs)) require("gopher").tags.rm(unpack(opts.fargs))
end, { nargs = "*" }) end, { nargs = "*" })
vim.api.nvim_create_user_command("GoTagClear", function() vim.api.nvim_create_user_command("GoTagClear", function()
require("gopher").tags.clear() require("gopher").tags.clear()
end, { nargs = 0 }) end, { nargs = 0 })
--- :GoTest --- :GoTest
vim.api.nvim_create_user_command("GoTestAdd", function() vim.api.nvim_create_user_command("GoTestAdd", function()
require("gopher").test.add() require("gopher").test.add()
end, { nargs = 0 }) end, { nargs = 0 })
vim.api.nvim_create_user_command("GoTestsAll", function() vim.api.nvim_create_user_command("GoTestsAll", function()
require("gopher").test.all() require("gopher").test.all()
end, { nargs = 0 }) end, { nargs = 0 })
vim.api.nvim_create_user_command("GoTestsExp", function() vim.api.nvim_create_user_command("GoTestsExp", function()
require("gopher").test.exported() require("gopher").test.exported()
end, { nargs = 0 }) end, { nargs = 0 })
-- :Go -- :Go
vim.api.nvim_create_user_command("GoMod", function(opts) vim.api.nvim_create_user_command("GoMod", function(opts)
require("gopher").mod(opts.fargs) require("gopher").mod(opts.fargs)
end, { nargs = "*" }) end, { nargs = "*" })
vim.api.nvim_create_user_command("GoGet", function(opts) vim.api.nvim_create_user_command("GoGet", function(opts)
vim.print(opts) vim.print(opts)
require("gopher").get(opts.fargs) require("gopher").get(opts.fargs)
end, { nargs = "*" }) end, { nargs = "*" })
vim.api.nvim_create_user_command("GoWork", function(opts) vim.api.nvim_create_user_command("GoWork", function(opts)
require("gopher").get(opts.fargs) require("gopher").get(opts.fargs)
end, { nargs = "*" }) end, { nargs = "*" })
vim.api.nvim_create_user_command("GoGenerate", function(opts) vim.api.nvim_create_user_command("GoGenerate", function(opts)
require("gopher").generate(opts.fargs or "") require("gopher").generate(opts.fargs or "")
end, { nargs = "?" }) end, { nargs = "?" })
end end
end, 0)