Configure preview window with:
autocmd User TelescopePreviewerLoaded setlocal wrap
autocmd User TelescopePreviewerLoaded setlocal number
file_maker example: Use regex highlighting for certain filetype like `*min.js` because they slow
down things with treesitter highlighter. Just a snippet for tests. We will do an extension :)
local previewers = require('telescope.previewers')
local putils = require('telescope.previewers.utils')
local pfiletype = require('plenary.filetype')
local _bad = { '.*%.min%.js' }
local bad_files = function(filepath)
for _, v in ipairs(_bad) do
if filepath:match(v) then
return true
end
end
return false
end
local new_maker = function(filepath, bufnr, bufname, use_ft_detect, callback)
if use_ft_detect == nil then use_ft_detect = true end
if bad_files(filepath) then
previewers.buffer_previewer_maker(filepath, bufnr, bufname, false, callback)
local ft = pfiletype.detect(filepath)
putils.regex_highlighter(bufnr, ft)
else
previewers.buffer_previewer_maker(filepath, bufnr, bufname, use_ft_detect, callback)
end
end
require('telescope').setup {
defaults = {
buffer_previewer_maker = new_maker,
}
}
35 lines
1.5 KiB
Lua
35 lines
1.5 KiB
Lua
local Previewer = require('telescope.previewers.previewer')
|
|
local term_previewer = require('telescope.previewers.term_previewer')
|
|
local buffer_previewer = require('telescope.previewers.buffer_previewer')
|
|
|
|
local previewers = {}
|
|
|
|
previewers.new = function(...)
|
|
return Previewer:new(...)
|
|
end
|
|
|
|
previewers.new_termopen_previewer = term_previewer.new_termopen_previewer
|
|
previewers.cat = term_previewer.cat
|
|
previewers.vimgrep = term_previewer.vimgrep
|
|
previewers.qflist = term_previewer.qflist
|
|
|
|
previewers.new_buffer_previewer = buffer_previewer.new_buffer_previewer
|
|
previewers.buffer_previewer_maker = buffer_previewer.file_maker
|
|
previewers.vim_buffer_cat = buffer_previewer.cat
|
|
previewers.vim_buffer_vimgrep = buffer_previewer.vimgrep
|
|
previewers.vim_buffer_qflist = buffer_previewer.qflist
|
|
previewers.git_branch_log = buffer_previewer.git_branch_log
|
|
previewers.git_commit_diff = buffer_previewer.git_commit_diff
|
|
previewers.git_file_diff = buffer_previewer.git_file_diff
|
|
previewers.ctags = buffer_previewer.ctags
|
|
previewers.builtin = buffer_previewer.builtin
|
|
previewers.help = buffer_previewer.help
|
|
previewers.man = buffer_previewer.man
|
|
previewers.autocommands = buffer_previewer.autocommands
|
|
previewers.highlights = buffer_previewer.highlights
|
|
previewers.display_content = buffer_previewer.display_content
|
|
|
|
previewers.Previewer = Previewer
|
|
|
|
return previewers
|