summaryrefslogtreecommitdiff
path: root/lua/telescope/previewers/utils.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/telescope/previewers/utils.lua')
-rw-r--r--lua/telescope/previewers/utils.lua19
1 files changed, 16 insertions, 3 deletions
diff --git a/lua/telescope/previewers/utils.lua b/lua/telescope/previewers/utils.lua
index 44a6160..bd8c300 100644
--- a/lua/telescope/previewers/utils.lua
+++ b/lua/telescope/previewers/utils.lua
@@ -78,9 +78,22 @@ end
--- Attach default highlighter which will choose between regex and ts
utils.highlighter = function(bufnr, ft, opts)
- opts = opts or {}
- opts.preview = opts.preview or {}
- opts.preview.treesitter = vim.F.if_nil(opts.preview.treesitter, conf.preview.treesitter)
+ opts = vim.F.if_nil(opts, {})
+ opts.preview = vim.F.if_nil(opts.preview, {})
+ opts.preview.treesitter = (function()
+ if type(opts.preview) == "table" and opts.preview.treesitter then
+ return opts.preview.treesitter
+ end
+ if type(conf.preview) == "table" and conf.preview.treesitter then
+ return conf.preview.treesitter
+ end
+ if type(conf.preview) == "boolean" then
+ return conf.preview
+ end
+ -- We should never get here
+ return false
+ end)()
+
if type(opts.preview.treesitter) == "boolean" then
local temp = { enable = opts.preview.treesitter }
opts.preview.treesitter = temp