summaryrefslogtreecommitdiffstatshomepage
path: root/runtime/lua/vim/shared.lua
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2025-05-04 16:36:32 -0700
committerGitHub <noreply@github.com>2025-05-04 16:36:32 -0700
commit40351bbbbe7891db9bdeb0d6c3bd95e2e0309775 (patch)
tree6867de8e1ab91af46d4ddec13c3b7ee120c0d659 /runtime/lua/vim/shared.lua
parent0862c1036a8e45c594ed279dd4576719f93614c5 (diff)
fix(lua): vim.validate `message` param #33675
Problem: vim.validate does not handle `message` param. Solution: Add the missing logic.
Diffstat (limited to 'runtime/lua/vim/shared.lua')
-rw-r--r--runtime/lua/vim/shared.lua16
1 files changed, 8 insertions, 8 deletions
diff --git a/runtime/lua/vim/shared.lua b/runtime/lua/vim/shared.lua
index 982cfbdf81..fa66e18ac4 100644
--- a/runtime/lua/vim/shared.lua
+++ b/runtime/lua/vim/shared.lua
@@ -865,7 +865,7 @@ do
--- @param param_name string
--- @param val any
--- @param validator vim.validate.Validator
- --- @param message? string
+ --- @param message? string "Expected" message
--- @param allow_alias? boolean Allow short type names: 'n', 's', 't', 'b', 'f', 'c'
--- @return string?
local function is_valid(param_name, val, validator, message, allow_alias)
@@ -877,18 +877,18 @@ do
end
if not is_type(val, expected) then
- return string.format('%s: expected %s, got %s', param_name, expected, type(val))
+ return ('%s: expected %s, got %s'):format(param_name, message or expected, type(val))
end
elseif vim.is_callable(validator) then
-- Check user-provided validation function
local valid, opt_msg = validator(val)
if not valid then
- local err_msg =
- string.format('%s: expected %s, got %s', param_name, message or '?', tostring(val))
-
- if opt_msg then
- err_msg = string.format('%s. Info: %s', err_msg, opt_msg)
- end
+ local err_msg = ('%s: expected %s, got %s'):format(
+ param_name,
+ message or '?',
+ tostring(val)
+ )
+ err_msg = opt_msg and ('%s. Info: %s'):format(err_msg, opt_msg) or err_msg
return err_msg
end