|
|
|
local present, telescope = pcall(require, "telescope")
|
|
|
|
if not present then
|
|
|
|
return
|
|
|
|
end
|
|
|
|
|
|
|
|
telescope.setup(
|
|
|
|
{
|
|
|
|
defaults = {
|
|
|
|
vimgrep_arguments = {
|
|
|
|
"rg",
|
|
|
|
"--color=never",
|
|
|
|
"--no-heading",
|
|
|
|
"--with-filename",
|
|
|
|
"--line-number",
|
|
|
|
"--column",
|
|
|
|
"--smart-case"
|
|
|
|
},
|
|
|
|
prompt_prefix = " ",
|
|
|
|
selection_caret = " ",
|
|
|
|
entry_prefix = " ",
|
|
|
|
initial_mode = "insert",
|
|
|
|
selection_strategy = "reset",
|
|
|
|
sorting_strategy = "descending",
|
|
|
|
layout_strategy = "horizontal",
|
|
|
|
layout_config = {
|
|
|
|
horizontal = {
|
|
|
|
prompt_position = "top",
|
|
|
|
preview_width = 0.55,
|
|
|
|
results_width = 0.8
|
|
|
|
},
|
|
|
|
vertical = {
|
|
|
|
mirror = false
|
|
|
|
},
|
|
|
|
width = 0.87,
|
|
|
|
height = 0.80,
|
|
|
|
preview_cutoff = 120
|
|
|
|
},
|
|
|
|
file_sorter = require("telescope.sorters").get_fuzzy_file,
|
|
|
|
file_ignore_patterns = {},
|
|
|
|
generic_sorter = require("telescope.sorters").get_generic_fuzzy_sorter,
|
|
|
|
path_display = {"absolute"},
|
|
|
|
winblend = 0,
|
|
|
|
border = {},
|
|
|
|
borderchars = {"─", "│", "─", "│", "╭", "╮", "╯", "╰"},
|
|
|
|
color_devicons = true,
|
|
|
|
use_less = true,
|
|
|
|
set_env = {["COLORTERM"] = "truecolor"}, -- default = nil,
|
|
|
|
file_previewer = require("telescope.previewers").vim_buffer_cat.new,
|
|
|
|
grep_previewer = require("telescope.previewers").vim_buffer_vimgrep.new,
|
|
|
|
qflist_previewer = require("telescope.previewers").vim_buffer_qflist.new,
|
|
|
|
-- Developer configurations: Not meant for general override
|
|
|
|
buffer_previewer_maker = require("telescope.previewers").buffer_previewer_maker
|
|
|
|
},
|
|
|
|
extensions = {
|
|
|
|
fzf = {
|
|
|
|
fuzzy = true, -- false will only do exact matching
|
|
|
|
override_generic_sorter = false, -- override the generic sorter
|
|
|
|
override_file_sorter = true, -- override the file sorter
|
|
|
|
case_mode = "smart_case" -- or "ignore_case" or "respect_case"
|
|
|
|
-- the default case_mode is "smart_case"
|
|
|
|
},
|
|
|
|
media_files = {
|
|
|
|
filetypes = {"png", "webp", "jpg", "jpeg"},
|
|
|
|
find_cmd = "rg" -- find command (defaults to `fd`)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
)
|
|
|
|
|
|
|
|
-- load the theme_switcher extension
|
|
|
|
require("telescope").load_extension("themes")
|
|
|
|
|
|
|
|
if
|
|
|
|
not pcall(
|
|
|
|
function()
|
|
|
|
telescope.load_extension("fzf")
|
|
|
|
telescope.load_extension("media_files")
|
|
|
|
end
|
|
|
|
)
|
|
|
|
then
|
|
|
|
-- This should only trigger when in need of PackerSync, so better do it
|
|
|
|
print("After completion of PackerCompile, restart neovim.")
|
|
|
|
-- Trigger packer compile on PackerComplete, so it properly waits for PackerSync
|
|
|
|
vim.cmd 'autocmd User PackerComplete ++once lua print "Waiting for PackerCompile.." require("packer").compile()'
|
|
|
|
vim.cmd 'autocmd User PackerCompileDone ++once echo "Packer Compile done, restart neovim."'
|
|
|
|
require "pluginList"
|
|
|
|
require("packer").update("telescope-fzf-native.nvim", "telescope-media-files.nvim")
|
|
|
|
end
|