This commit is contained in:
Oleksandr Smirnov 2025-03-21 16:22:34 +02:00
parent ff0f6bd1d9
commit 67b49ebf6b
No known key found for this signature in database
3 changed files with 80 additions and 16 deletions

View file

@ -37,6 +37,9 @@ local default_config = {
---@type number
timeout = 2000,
---@type boolean
setup_commands = true,
-- user specified paths to binaries
---@class gopher.ConfigCommand
commands = {

77
plugin/gopher.lua Normal file
View file

@ -0,0 +1,77 @@
if vim.g.gopher_loaded == 1 then
return
end
vim.g.gopher_loaded = 1
local c = require "gopher.config"
if c.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(unpack(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)
vim.print(opts)
require("gopher").get(unpack(opts.fargs))
end, { nargs = "*" })
vim.api.nvim_create_user_command("GoGenerate", function(opts)
require("gopher").generate(unpack(opts.fargs))
end, { nargs = 1 })
end

View file

@ -1,16 +0,0 @@
command! -nargs=* GoTagAdd :lua require"gopher".tags.add(<f-args>)
command! -nargs=* GoTagRm :lua require"gopher".tags.rm(<f-args>)
command! GoTagClear :lua require"gopher".tags.clear()
command! GoTestAdd :lua require"gopher".test.add()
command! GoTestsAll :lua require"gopher".test.all()
command! GoTestsExp :lua require"gopher".test.exported()
command! -nargs=* GoMod :lua require"gopher".mod(<f-args>)
command! -nargs=* GoGet :lua require"gopher".get(<f-args>)
command! -nargs=* GoWork :lua require"gopher".work(<f-args>)
command! -nargs=* GoImpl :lua require"gopher".impl(<f-args>)
command! -nargs=* GoGenerate :lua require"gopher".generate(<f-args>)
command! GoCmt :lua require"gopher".comment()
command! GoIfErr :lua require"gopher".iferr()
command! GoInstallDeps :lua require"gopher".install_deps()
command! GoInstallDepsSync :lua require"gopher".install_deps({ sync = true })
command! GopherLog :lua vim.cmd("tabnew " .. require("gopher._utils.log").get_outfile())