local actions = require("telescope.actions") local previewers = require("telescope.previewers") local builtin = require("telescope.builtin") require("telescope").setup({ defaults = require("telescope.themes").get_ivy({ dynamic_preview_title = true, vimgrep_arguments = { "rg", "--color=never", "--no-heading", "--with-filename", "--line-number", "--column", "--smart-case", "--trim", }, preview = { filesize_limit = 5, timeout = 150, treesitter = true, title = false, }, borderchars = { " ", " ", " ", " ", " ", " ", " ", " " }, sorting_strategy = "ascending", layout_config = { prompt_position = "top", }, pickers = { buffers = { mappings = { n = { ["d"] = actions.delete_buffer, }, }, sort_mru = true, sort_lastused = true, }, find_files = { find_command = { "fd", "--type", "f", "-c always", "-H", "--strip-cwd-prefix" }, hidden = true, }, }, prompt_prefix = "  ", selection_caret = " → ", entry_prefix = " ", file_ignore_patterns = { "node_modules", ".git/", "dist/" }, set_env = { ["COLORTERM"] = "truecolor" }, mappings = { i = { [""] = false, [""] = actions.select_horizontal, [""] = actions.select_default + actions.center, [""] = actions.close, [""] = actions.toggle_selection + actions.move_selection_next, [""] = require("telescope.actions.layout").toggle_preview, }, }, extensions = { file_browser = { hidden = true, theme = "ivy", }, }, }), }) local delta = previewers.new_termopen_previewer({ get_command = function(entry) return { "git", "-c", "core.pager=delta", "-c", "delta.side-by-side=false", "diff", entry.value .. "^!" } end, }) Delta_git_commits = function(opts) opts = opts or {} opts.previewer = { delta, previewers.git_commit_message.new(opts), previewers.git_commit_diff_as_was.new(opts), } builtin.git_commits(opts) end Delta_git_bcommits = function(opts) opts = opts or {} opts.previewer = { delta, previewers.git_commit_message.new(opts), previewers.git_commit_diff_as_was.new(opts), } builtin.git_bcommits(opts) end Project_files = function() local opts = { show_untracked = false } -- define here if you want to define something local ok = pcall(require("telescope.builtin").git_files, opts) if not ok then require("telescope.builtin").find_files(opts) end end local default_opts = { noremap = true, silent = true } vim.api.nvim_set_keymap("n", "", "Telescope help_tags", default_opts) vim.api.nvim_set_keymap("n", "", "lua Project_files()", default_opts) vim.api.nvim_set_keymap( "n", "", ":lua require'telescope'.extensions.file_browser.file_browser({path = vim.fn.expand('%:p:h')})", default_opts ) vim.api.nvim_set_keymap("n", "", "Telescope buffers", default_opts) vim.api.nvim_set_keymap("n", "", "Telescope live_grep", default_opts) vim.api.nvim_set_keymap("n", "", "Telescope git_commits", default_opts) vim.api.nvim_set_keymap("n", "", "Telescope resume", default_opts) require("telescope").load_extension("fzf") require("telescope").load_extension("file_browser")