* fix(typo): README.md (#47) * feat: add support for named tests * test * tags in table * debug installer msg * test * hardcoded @develop * get gotests tag from setup() * update readme * store install tag in urls table * removed gotests tag * update README.md * remove urls installer index reference * remove named arg from add_test() * . * update README.md * update README.md --------- Co-authored-by: Steve M <gearcog@users.noreply.github.com>
56 lines
1.5 KiB
Lua
56 lines
1.5 KiB
Lua
---@type gopher.Config
|
|
local config = {}
|
|
|
|
---@alias gopher.ConfigGoTagTransform
|
|
---| "snakecase" "GopherUser" -> "gopher_user"
|
|
---| "camelcase" "GopherUser" -> "gopherUser"
|
|
---| "lispcase" "GopherUser" -> "gopher-user"
|
|
---| "pascalcase" "GopherUser" -> "GopherUser"
|
|
---| "titlecase" "GopherUser" -> "Gopher User"
|
|
---| "keep" keeps the original field name
|
|
|
|
---@class gopher.Config
|
|
local default_config = {
|
|
---@class gopher.ConfigCommand
|
|
commands = {
|
|
go = "go",
|
|
gomodifytags = "gomodifytags",
|
|
gotests = "gotests",
|
|
impl = "impl",
|
|
iferr = "iferr",
|
|
dlv = "dlv",
|
|
},
|
|
---@class gopher.ConfigGotests
|
|
gotests = {
|
|
-- gotests doesn't have template named "default" so this plugin uses "default" to set the default template
|
|
template = "default",
|
|
-- path to a directory containing custom test code templates
|
|
---@type string|nil
|
|
template_dir = nil,
|
|
-- switch table tests from using slice to map (with test name for the key)
|
|
-- works only with gotests installed from develop branch
|
|
---@type boolean
|
|
named = false,
|
|
},
|
|
---@class gopher.ConfigGoTag
|
|
gotag = {
|
|
---@type gopher.ConfigGoTagTransform
|
|
transform = "snakecase",
|
|
},
|
|
}
|
|
|
|
---@type gopher.Config
|
|
local _config = default_config
|
|
|
|
---@param user_config? gopher.Config
|
|
function config.setup(user_config)
|
|
_config = vim.tbl_deep_extend("force", default_config, user_config or {})
|
|
end
|
|
|
|
setmetatable(config, {
|
|
__index = function(_, key)
|
|
return _config[key]
|
|
end,
|
|
})
|
|
|
|
return config
|