all repos

gopher.nvim @ 57b5dbf62e7d01d4eb9597f6df4ce11b463c97be

Minimalistic plugin for Go development
3 files changed, 19 insertions(+), 13 deletions(-)
feat(struct_tags): set default tag (#87)

* feat(struct_tags): add config option for default tag

* docs: docgen

* fix(struct_tags): as it turns out it didnt work as i supposed to before, but now it does
Author: Smirnov Oleksandr ss2316544@gmail.com
Committed by: GitHub noreply@github.com
Committed at: 2025-03-02 17:19:00 +0200
Parent: c2f64db
M doc/gopher.nvim.txt

@@ -55,6 +55,10 @@ -- log level, you might consider using DEBUG or TRACE for debugging the plugin

---@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 @@ ---@class gopher.ConfigGoTag

gotag = { ---@type gopher.ConfigGoTagTransform transform = "snakecase", + + -- default tags to add to struct fields + default_tag = "json", }, } <
M lua/gopher/config.lua

@@ -62,6 +62,9 @@ ---@class gopher.ConfigGoTag

gotag = { ---@type gopher.ConfigGoTagTransform transform = "snakecase", + + -- default tags to add to struct fields + default_tag = "json", }, } --minidoc_afterlines_end
M lua/gopher/struct_tags.lua

@@ -55,11 +55,6 @@ for _, v in ipairs(arg) do

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