diff options
author | 最萌小汐 <sumneko@hotmail.com> | 2022-04-01 17:54:19 +0800 |
---|---|---|
committer | 最萌小汐 <sumneko@hotmail.com> | 2022-04-01 17:54:19 +0800 |
commit | d699b4cac83b81b023323076b74d3d03b6b13ee6 (patch) | |
tree | f5b22d0425e0e467a1604d43b4ed6b22b697c81e /script/utility.lua | |
parent | 231e4e3b2be6f815c1d6734185537f777ef32d88 (diff) | |
download | lua-language-server-d699b4cac83b81b023323076b74d3d03b6b13ee6.zip |
update
Diffstat (limited to 'script/utility.lua')
-rw-r--r-- | script/utility.lua | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/script/utility.lua b/script/utility.lua index e282f12f..1d207350 100644 --- a/script/utility.lua +++ b/script/utility.lua @@ -676,6 +676,7 @@ end ---@class switch ---@field cachedCases string[] ---@field map table<string, function> +---@field _default fun(...):... local switchMT = {} switchMT.__index = switchMT @@ -700,6 +701,13 @@ function switchMT:call(callback) return self end +---@param callback fun(...):... +---@return switch +function switchMT:default(callback) + self._default = callback + return self +end + function switchMT:getMap() return self.map end @@ -713,7 +721,7 @@ end ---@param name string ---@return ... function switchMT:__call(name, ...) - local callback = self.map[name] + local callback = self.map[name] or self._default if not callback then return end |