fix(config): now it works correctly

This commit is contained in:
Smirnov Oleksandr 2023-07-20 19:40:12 +03:00
parent eac5560200
commit 3b0888ab10

View file

@ -1,10 +1,9 @@
---@class gopher.Config
---@type gopher.Config
local config = {}
---@class gopher.Config
---@field commands gopher.ConfigCommands
local default_config = {
---@class gopher.ConfigCommands
---@class gopher.ConfigCommand
commands = {
go = "go",
gomodifytags = "gomodifytags",
@ -15,13 +14,18 @@ local default_config = {
},
}
---@param user_config gopher.Config|nil
---@type gopher.Config
local _config = {}
---@param user_config? gopher.Config
function config.setup(user_config)
config = vim.tbl_deep_extend("force", config, default_config, user_config or {})
_config = vim.tbl_deep_extend("force", default_config, user_config or {})
end
-- setup ifself, needs for ability to get
-- default config without calling .setup()
config.setup()
setmetatable(config, {
__index = function(_, key)
return _config[key]
end,
})
return config