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.lua14
1 files changed, 12 insertions, 2 deletions
diff --git a/lua/telescope/previewers/utils.lua b/lua/telescope/previewers/utils.lua
index 54435fd..abb44e3 100644
--- a/lua/telescope/previewers/utils.lua
+++ b/lua/telescope/previewers/utils.lua
@@ -63,8 +63,18 @@ local function has_filetype(ft)
end
--- Attach default highlighter which will choose between regex and ts
-utils.highlighter = function(bufnr, ft)
- if not (utils.ts_highlighter(bufnr, ft)) then
+utils.highlighter = function(bufnr, ft, opts)
+ opts = opts or {}
+ opts.preview = opts.preview or {}
+ opts.preview.treesitter = vim.F.if_nil(opts.preview.treesitter, true)
+ local ts_highlighting = opts.preview.treesitter == true
+ or type(opts.preview.treesitter) == "table" and vim.tbl_contains(opts.preview.treesitter, ft)
+
+ local ts_success
+ if ts_highlighting then
+ ts_success = utils.ts_highlighter(bufnr, ft)
+ end
+ if not (ts_highlighting or ts_success) then
utils.regex_highlighter(bufnr, ft)
end
end