gopher.nvim/plugin/gopher.lua(view raw)
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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
--- NOTE: runs in defer since this file before gopher.config
--- I'm not sure if this is the best to do this
vim.schedule(function()
if require("gopher.config").should_setup_commands() then
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()
require("gopher").iferr()
end, { nargs = 0 })
vim.api.nvim_create_user_command("GoCmt", function()
require("gopher").comment()
end, { nargs = 0 })
vim.api.nvim_create_user_command("GoImpl", function(args)
require("gopher").impl(unpack(args.fargs))
end, { nargs = "*" })
-- :GoInstall
vim.api.nvim_create_user_command("GoInstallDeps", function()
require("gopher").install_deps()
end, { nargs = 0 })
vim.api.nvim_create_user_command("GoInstallDepsSync", function()
require("gopher").install_deps { sync = true }
end, { nargs = 0 })
--- :GoTag
vim.api.nvim_create_user_command("GoTagAdd", function(opts)
require("gopher").tags.add(unpack(opts.fargs))
end, { nargs = "*" })
vim.api.nvim_create_user_command("GoTagRm", function(opts)
require("gopher").tags.rm(unpack(opts.fargs))
end, { nargs = "*" })
vim.api.nvim_create_user_command("GoTagClear", function()
require("gopher").tags.clear()
end, { nargs = 0 })
--- :GoTest
vim.api.nvim_create_user_command("GoTestAdd", function()
require("gopher").test.add()
end, { nargs = 0 })
vim.api.nvim_create_user_command("GoTestsAll", function()
require("gopher").test.all()
end, { nargs = 0 })
vim.api.nvim_create_user_command("GoTestsExp", function()
require("gopher").test.exported()
end, { nargs = 0 })
-- :Go
vim.api.nvim_create_user_command("GoMod", function(opts)
require("gopher").mod(opts.fargs)
end, { nargs = "*" })
vim.api.nvim_create_user_command("GoGet", function(opts)
vim.print(opts)
require("gopher").get(opts.fargs)
end, { nargs = "*" })
vim.api.nvim_create_user_command("GoWork", function(opts)
require("gopher").get(opts.fargs)
end, { nargs = "*" })
vim.api.nvim_create_user_command("GoGenerate", function(opts)
require("gopher").generate(opts.fargs or "")
end, { nargs = "?" })
end
end)
|