diff --git a/lua/piemenu/core/menu.lua b/lua/piemenu/core/menu.lua index 930c9fa..bb9a96a 100644 --- a/lua/piemenu/core/menu.lua +++ b/lua/piemenu/core/menu.lua @@ -60,8 +60,9 @@ function Menus.parse(name, raw_setting) end end - local setting, err = Setting.new(raw_setting) - if err then + local setting = Setting.new(raw_setting) + if type(setting) == "string" then + local err = setting return err end diff --git a/lua/piemenu/core/setting.lua b/lua/piemenu/core/setting.lua index aafbdde..93161a6 100644 --- a/lua/piemenu/core/setting.lua +++ b/lua/piemenu/core/setting.lua @@ -34,18 +34,18 @@ function Setting.new(raw_setting) animation = { data.animation, "table" }, }) if base_err then - return nil, base_err + return base_err end local anim_err = validatelib.validate({ ["animation.duration"] = validatelib.not_negative(data.animation.duration), }) if anim_err then - return nil, anim_err + return anim_err end local tbl = { _data = data } - return setmetatable(tbl, Setting), nil + return setmetatable(tbl, Setting) end function Setting.default_values() diff --git a/lua/piemenu/view/init.lua b/lua/piemenu/view/init.lua index 288d81e..1c9a004 100644 --- a/lua/piemenu/view/init.lua +++ b/lua/piemenu/view/init.lua @@ -21,9 +21,10 @@ function View.open(name, raw_setting) return err end - local setting, merge_err = menus.setting:merge(raw_setting) - if merge_err then - return merge_err + local setting = menus.setting:merge(raw_setting) + if type(setting) == "string" then + local err = setting + return err end local view_setting = setting:for_view()