mirror of
https://github.com/kristoferssolo/SoloVim.git
synced 2025-10-21 20:10:41 +00:00
95 lines
2.5 KiB
Lua
95 lines
2.5 KiB
Lua
if not pcall(require, "telescope") then
|
|
return
|
|
end
|
|
|
|
local builtin = require("telescope.builtin")
|
|
|
|
vim.keymap.set("n", "<C-p>", builtin.git_files, {})
|
|
|
|
local telescope = require("telescope")
|
|
local actions = require("telescope.actions")
|
|
telescope.setup({
|
|
defaults = {
|
|
vimgrep_arguments = {
|
|
"rg",
|
|
"--color=never",
|
|
"--no-heading",
|
|
"--with-filename",
|
|
"--line-number",
|
|
"--column",
|
|
"--smart-case",
|
|
"--hidden",
|
|
},
|
|
prompt_prefix = " ",
|
|
selection_caret = " ",
|
|
path_display = { "smart" },
|
|
file_ignore_patterns = { ".git/", "node_modules", ".venv/" },
|
|
mappings = {
|
|
i = {
|
|
["<Down>"] = actions.cycle_history_next,
|
|
["<Up>"] = actions.cycle_history_prev,
|
|
["<C-j>"] = actions.move_selection_next,
|
|
["<C-k>"] = actions.move_selection_previous,
|
|
},
|
|
},
|
|
},
|
|
pickers = {
|
|
find_files = {
|
|
hidden = true,
|
|
follow = true,
|
|
},
|
|
},
|
|
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"
|
|
},
|
|
media_files = {
|
|
-- filetypes whitelist
|
|
filetypes = { "png", "webp", "jpg", "jpeg", "mp4", "webm" },
|
|
find_cmd = "rg",
|
|
},
|
|
emoji = {
|
|
action = function(emoji)
|
|
-- argument emoji is a table.
|
|
-- {name="", value="", cagegory="", description=""}
|
|
|
|
vim.fn.setreg("*", emoji.value)
|
|
print([[Press p or "*p to paste this emoji]] .. emoji.value)
|
|
|
|
-- insert emoji when picked
|
|
-- vim.api.nvim_put({ emoji.value }, 'c', false, true)
|
|
end,
|
|
},
|
|
["ui-select"] = {
|
|
require("telescope.themes").get_dropdown({
|
|
-- even more opts
|
|
}),
|
|
|
|
-- pseudo code / specification for writing custom displays, like the one
|
|
-- for "codeactions"
|
|
-- specific_opts = {
|
|
-- [kind] = {
|
|
-- make_indexed = function(items) -> indexed_items, width,
|
|
-- make_displayer = function(widths) -> displayer
|
|
-- make_display = function(displayer) -> function(e)
|
|
-- make_ordinal = function(e) -> string
|
|
-- },
|
|
-- -- for example to disable the custom builtin "codeactions" display
|
|
-- do the following
|
|
-- codeactions = false,
|
|
-- }
|
|
},
|
|
},
|
|
})
|
|
pcall(telescope.load_extension, "fzf")
|
|
pcall(telescope.load_extension, "media_files")
|
|
pcall(telescope.load_extension, "emoji")
|
|
pcall(telescope.load_extension, "ui-select")
|
|
pcall(telescope.load_extension, "color_names")
|
|
pcall(telescope.load_extension, "git_worktree")
|
|
pcall(telescope.load_extension, "lazygit")
|
|
pcall(telescope.load_extension, "dap")
|