sync develop with main (#119)
* chore: remove unused rules from nvim selene setup * test: add test for config * chore: update tasks, run tests on all recent versions * refactor(test): make helper test function more ergonomic In my opinion, requiring user to access tests via `T["module_name"]` was too fragile and typos prone. * fix(config): typo annotations * chore(ci): install go bins via gopher.nvim itself * feat(struct_tags): add range support (#117) * feat(struct_tags): add range support * refactor: use `start`, and `end_` naming for ranges * fix(testutils): validate provided cursor position * chore: update CONTRIBUTING.md * chore: add demos (#118) * chore: add dataset for demos * chore(demos): add demos * chore: update CONTRIBUTING * this copefully will fix comments gif * chore: add note about lazy loading * chore(readme): at this point there is no code from go.nvim or iferr * chore(readme): update the structure * chore(readme): change wording of some things
This commit is contained in:
parent
de585144eb
commit
76e817b5e1
37 changed files with 472 additions and 188 deletions
|
|
@ -11,10 +11,13 @@ end
|
|||
---@param name string
|
||||
---@param fn fun(args: table)
|
||||
---@param nargs? number|"*"|"?"
|
||||
---@param range? boolean
|
||||
---@private
|
||||
local function cmd(name, fn, nargs)
|
||||
nargs = nargs or 0
|
||||
vim.api.nvim_create_user_command(name, fn, { nargs = nargs })
|
||||
local function cmd(name, fn, nargs, range)
|
||||
vim.api.nvim_create_user_command(name, fn, {
|
||||
nargs = nargs or 0,
|
||||
range = range or false,
|
||||
})
|
||||
end
|
||||
|
||||
cmd("GopherLog", function()
|
||||
|
|
@ -44,12 +47,24 @@ end)
|
|||
|
||||
-- :GoTag
|
||||
cmd("GoTagAdd", function(opts)
|
||||
require("gopher").tags.add(unpack(opts.fargs))
|
||||
end, "*")
|
||||
require("gopher").tags.add {
|
||||
tags = opts.fargs,
|
||||
range = (opts.count ~= -1) and {
|
||||
start = opts.line1,
|
||||
end_ = opts.line2,
|
||||
} or nil,
|
||||
}
|
||||
end, "*", true)
|
||||
|
||||
cmd("GoTagRm", function(opts)
|
||||
require("gopher").tags.rm(unpack(opts.fargs))
|
||||
end, "*")
|
||||
require("gopher").tags.rm {
|
||||
tags = opts.fargs,
|
||||
range = (opts.count ~= -1) and {
|
||||
start = opts.line1,
|
||||
end_ = opts.line2,
|
||||
} or nil,
|
||||
}
|
||||
end, "*", true)
|
||||
|
||||
cmd("GoTagClear", function()
|
||||
require("gopher").tags.clear()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue