diff --git a/doc/gopher.nvim.txt b/doc/gopher.nvim.txt index 29a3786..c455a7e 100644 --- a/doc/gopher.nvim.txt +++ b/doc/gopher.nvim.txt @@ -55,6 +55,10 @@ You can look at default options |gopher.nvim-config-defaults| ---@type number log_level = vim.log.levels.INFO, + -- timeout for running commands + ---@type number + timeout = 2000, + -- user specified paths to binaries ---@class gopher.ConfigCommand commands = { @@ -80,6 +84,9 @@ You can look at default options |gopher.nvim-config-defaults| gotag = { ---@type gopher.ConfigGoTagTransform transform = "snakecase", + + -- default tags to add to struct fields + default_tag = "json", }, } < diff --git a/lua/gopher/config.lua b/lua/gopher/config.lua index 94dbab9..f86d49c 100644 --- a/lua/gopher/config.lua +++ b/lua/gopher/config.lua @@ -62,6 +62,9 @@ local default_config = { gotag = { ---@type gopher.ConfigGoTagTransform transform = "snakecase", + + -- default tags to add to struct fields + default_tag = "json", }, } --minidoc_afterlines_end diff --git a/lua/gopher/struct_tags.lua b/lua/gopher/struct_tags.lua index 17e0d78..703b296 100644 --- a/lua/gopher/struct_tags.lua +++ b/lua/gopher/struct_tags.lua @@ -55,11 +55,6 @@ local function modify(...) table.insert(cmd_args, v) end - -- set default tag for "clear tags" - if #arg == 1 and arg[1] ~= "-clear-tags" then - table.insert(cmd_args, "json") - end - local rs = r.sync { c.commands.gomodifytags, "-transform", @@ -99,13 +94,14 @@ end -- add tags to struct under cursor function struct_tags.add(...) - local arg = { ... } - if #arg == nil or arg == "" then - arg = { "json" } + local user_tags = { ... } + if #user_tags == 0 then + vim.print("c.gotag.default_tag", c.gotag.default_tag) + user_tags = { c.gotag.default_tag } end local cmd_args = { "-add-tags" } - for _, v in ipairs(arg) do + for _, v in ipairs(user_tags) do table.insert(cmd_args, v) end @@ -114,13 +110,13 @@ end -- remove tags to struct under cursor function struct_tags.remove(...) - local arg = { ... } - if #arg == nil or arg == "" then - arg = { "json" } + local user_tags = { ... } + if #user_tags == 0 then + user_tags = { c.gotag.default_tag } end local cmd_args = { "-remove-tags" } - for _, v in ipairs(arg) do + for _, v in ipairs(user_tags) do table.insert(cmd_args, v) end