123 lines
3.6 KiB
Lua
123 lines
3.6 KiB
Lua
local telescope = require("telescope")
|
|
local actions = require("telescope.actions")
|
|
local action_layout = require("telescope.actions.layout")
|
|
local fb_actions = require("telescope").extensions.file_browser.actions
|
|
|
|
telescope.setup({
|
|
extensions = {
|
|
fzf = {
|
|
fuzzy = true, -- false will only do exact matching
|
|
override_generic_sorter = true, -- override the generic sorter
|
|
override_file_sorter = true, -- override the file sorter
|
|
case_mode = "smart_case", -- or "ignore_case" or "respect_case" or "smart_case"
|
|
},
|
|
["ui-select"] = {
|
|
require("telescope.themes").get_dropdown({}),
|
|
},
|
|
file_browser = {
|
|
mappings = {
|
|
i = {
|
|
["<c-n>"] = fb_actions.create,
|
|
["<c-r>"] = fb_actions.rename,
|
|
-- ["<c-h>"] = actions.which_key,
|
|
["<c-h>"] = fb_actions.toggle_hidden,
|
|
["<c-x>"] = fb_actions.remove,
|
|
["<c-p>"] = fb_actions.move,
|
|
["<c-y>"] = fb_actions.copy,
|
|
["<c-a>"] = fb_actions.select_all,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
pickers = {
|
|
find_files = {
|
|
hidden = true,
|
|
},
|
|
buffers = {
|
|
ignore_current_buffer = true,
|
|
sort_lastused = true,
|
|
},
|
|
-- find_command = { "fd", "--hidden", "--type", "file", "--follow", "--strip-cwd-prefix" },
|
|
},
|
|
defaults = {
|
|
file_ignore_patterns = { "node_modules", ".terraform", "%.jpg", "%.png" },
|
|
-- used for grep_string and live_grep
|
|
vimgrep_arguments = {
|
|
"rg",
|
|
"--follow",
|
|
"--color=never",
|
|
"--no-heading",
|
|
"--with-filename",
|
|
"--line-number",
|
|
"--column",
|
|
"--smart-case",
|
|
"--no-ignore",
|
|
"--trim",
|
|
},
|
|
mappings = {
|
|
i = {
|
|
-- Close on first esc instead of going to normal mode
|
|
-- https://github.com/nvim-telescope/telescope.nvim/blob/master/lua/telescope/mappings.lua
|
|
["<esc>"] = actions.close,
|
|
["<C-j>"] = actions.move_selection_next,
|
|
["<PageUp>"] = actions.results_scrolling_up,
|
|
["<PageDown>"] = actions.results_scrolling_down,
|
|
["<C-u>"] = actions.preview_scrolling_up,
|
|
["<C-d>"] = actions.preview_scrolling_down,
|
|
["<C-k>"] = actions.move_selection_previous,
|
|
["<C-q>"] = actions.send_selected_to_qflist,
|
|
["<C-l>"] = actions.send_to_qflist,
|
|
["<Tab>"] = actions.toggle_selection + actions.move_selection_worse,
|
|
["<S-Tab>"] = actions.toggle_selection + actions.move_selection_better,
|
|
["<cr>"] = actions.select_default,
|
|
["<c-v>"] = actions.select_vertical,
|
|
["<c-s>"] = actions.select_horizontal,
|
|
["<c-t>"] = actions.select_tab,
|
|
["<c-p>"] = action_layout.toggle_preview,
|
|
["<c-o>"] = action_layout.toggle_mirror,
|
|
["<c-h>"] = actions.which_key,
|
|
},
|
|
},
|
|
prompt_prefix = "> ",
|
|
selection_caret = " ",
|
|
entry_prefix = " ",
|
|
multi_icon = "<>",
|
|
initial_mode = "insert",
|
|
scroll_strategy = "cycle",
|
|
selection_strategy = "reset",
|
|
sorting_strategy = "descending",
|
|
layout_strategy = "horizontal",
|
|
layout_config = {
|
|
width = 0.95,
|
|
height = 0.85,
|
|
-- preview_cutoff = 120,
|
|
prompt_position = "top",
|
|
horizontal = {
|
|
preview_width = function(_, cols, _)
|
|
if cols > 200 then
|
|
return math.floor(cols * 0.4)
|
|
else
|
|
return math.floor(cols * 0.6)
|
|
end
|
|
end,
|
|
},
|
|
vertical = { width = 0.9, height = 0.95, preview_height = 0.5 },
|
|
flex = { horizontal = { preview_width = 0.9 } },
|
|
},
|
|
winblend = 0,
|
|
border = {},
|
|
borderchars = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" },
|
|
color_devicons = true,
|
|
use_less = true,
|
|
set_env = { ["COLORTERM"] = "truecolor" }, -- default = nil,
|
|
},
|
|
})
|
|
|
|
telescope.load_extension("projects")
|
|
telescope.load_extension("fzf")
|
|
telescope.load_extension("zoxide")
|
|
telescope.load_extension("heading")
|
|
telescope.load_extension("file_browser")
|
|
telescope.load_extension("packer")
|
|
telescope.load_extension("ui-select")
|