summaryrefslogtreecommitdiff
path: root/lua/telescope/command.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/telescope/command.lua')
-rw-r--r--lua/telescope/command.lua10
1 files changed, 8 insertions, 2 deletions
diff --git a/lua/telescope/command.lua b/lua/telescope/command.lua
index 01ed3c6..8d47f5a 100644
--- a/lua/telescope/command.lua
+++ b/lua/telescope/command.lua
@@ -97,10 +97,16 @@ local function convert_user_opts(user_opts)
if ok then
user_opts[key] = eval
else
- eval = assert(loadstring("return " .. val))()
- if type(eval) == "table" then
+ local err
+ eval, err = loadstring("return " .. val)
+ if err ~= nil then
+ -- discard invalid lua expression
+ user_opts[key] = nil
+ elseif select("#", assert(eval)()) == 1 and type(assert(eval)()) == "table" then
+ -- allow if return a single table only
user_opts[key] = eval
else
+ -- otherwise return nil (allows split check later)
user_opts[key] = nil
end
end