-- Find, Filter, Preview, Pick. All lua, all the time. -- https://github.com/nvim-telescope/telescope.nvim return { "telescope.nvim", lazy = false, cmd = { "Telescope" }, load = function(name) vim.cmd.packadd(name) vim.cmd.packadd("telescope-fzf-native.nvim") vim.cmd.packadd("telescope-git-conflicts.nvim") vim.cmd.packadd("telescope-live-grep-args.nvim") --vim.cmd.packadd("sqlite-lua") -- For telescope-smart-history.nvim --vim.cmd.packadd("telescope-smart-history.nvim") end, before = function() vim.g.loaded_telescope = nil end, after = function() local actions = require("telescope.actions") local lga_actions = require("telescope-live-grep-args.actions") require("telescope").setup({ defaults = { color_devicons = false, entry_prefix = " ", 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" -- the default case_mode is "smart_case" }, live_grep_args = { auto_quoting = true, mappings = { n = { -- Usage/FixMe: does not seem to be triggered [""] = lga_actions.quote_prompt(), [""] = lga_actions.quote_prompt({ postfix = " --iglob " }), -- freeze the current list and start a fuzzy search in the frozen list [""] = lga_actions.to_fuzzy_refine, }, }, -- ... also accepts theme settings, for example: -- theme = "dropdown", -- use dropdown theme -- theme = { }, -- use own theme spec -- layout_config = { mirror=true }, -- mirror preview pane }, }, mappings = { i = { [""] = actions.cycle_history_prev, [""] = actions.cycle_history_next, -- [""] = actions.close, }, }, file_ignore_patterns = { "%.git/", "build/", "dist/", "node_modules", "result/", "target/", }, history = { path = "~/.local/share/nvim/databases/telescope_history.sqlite3", limit = 100, }, initial_mode = "insert", layout_config = { height = 0.800000, horizontal = { preview_width = 0.550000, prompt_position = "top" }, preview_cutoff = 120, vertical = { mirror = false }, width = 0.800000, }, layout_strategy = "horizontal", path_display = { "absolute" }, pickers = { find_command = { "fd" }, }, prompt_prefix = "  ", selection_caret = " ", selection_strategy = "reset", set_env = { COLORTERM = "truecolor" }, sorting_strategy = "ascending", vimgrep_arguments = { "rg", "--color=never", "--no-heading", "--with-filename", "--line-number", "--column", "--smart-case", "--hidden", "--no-ignore", }, winblend = 0, }, pickers = { find_files = { find_command = { "fd", "--type=file" }, }, }, }) local telescope = require("telescope") telescope.load_extension("conflicts") telescope.load_extension("fzf") telescope.load_extension("live_grep_args") --telescope.load_extension("smart_history") --telescope.load_extension("noice") end, keys = { { "ff", "Telescope find_files", desc = "Find files [Telescope]", expr = false, mode = "n", noremap = true, nowait = false, script = false, silent = true, unique = false, }, { "fg", function() require("telescope").extensions.live_grep_args.live_grep_args() end, desc = "Live grep [Telescope]", expr = false, mode = "n", noremap = true, nowait = false, script = false, silent = true, unique = false, }, { "gc", function() require("telescope-live-grep-args.shortcuts").grep_word_under_cursor() end, desc = "[G]rep word under [C]ursor [Telescope]", expr = false, mode = "n", noremap = true, nowait = false, script = false, silent = true, unique = false, }, { "fm", function() require("telescope.builtin").live_grep({ grep_open_files = true }) end, desc = "Buffers grep [Telescope]", expr = false, mode = "n", noremap = true, nowait = false, script = false, silent = true, unique = false, }, { "m", "Telescope buffers", desc = "Buffers [Telescope]", expr = false, mode = "n", noremap = true, nowait = false, script = false, silent = true, unique = false, }, { "fb", "Telescope buffers", desc = "Buffers [Telescope]", expr = false, mode = "n", noremap = true, nowait = false, script = false, silent = true, unique = false, }, { "fh", "Telescope help_tags", desc = "Help tags [Telescope]", expr = false, mode = "n", noremap = true, nowait = false, script = false, silent = true, unique = false, }, { "ft", "Telescope", desc = "Open [Telescope]", expr = false, mode = "n", noremap = true, nowait = false, script = false, silent = true, unique = false, }, { "fr", "Telescope resume", desc = "Resume (previous search) [Telescope]", expr = false, mode = "n", noremap = true, nowait = false, script = false, silent = true, unique = false, }, { "fvcw", "Telescope git_commits", desc = "Git commits [Telescope]", expr = false, mode = "n", noremap = true, nowait = false, script = false, silent = true, unique = false, }, { "fvcb", "Telescope git_bcommits", desc = "Git buffer commits [Telescope]", expr = false, mode = "n", noremap = true, nowait = false, script = false, silent = true, unique = false, }, { "fvb", "Telescope git_branches", desc = "Git branches [Telescope]", expr = false, mode = "n", noremap = true, nowait = false, script = false, silent = true, unique = false, }, { "fvs", "Telescope git_status", desc = "Git status [Telescope]", expr = false, mode = "n", noremap = true, nowait = false, script = false, silent = true, unique = false, }, { "fvx", "Telescope git_stash", desc = "Git stash [Telescope]", expr = false, mode = "n", noremap = true, nowait = false, script = false, silent = true, unique = false, }, { "flsb", "Telescope lsp_document_symbols", desc = "LSP Document Symbols [Telescope]", expr = false, mode = "n", noremap = true, nowait = false, script = false, silent = true, unique = false, }, { "flsw", "Telescope lsp_workspace_symbols", desc = "LSP Workspace Symbols [Telescope]", expr = false, mode = "n", noremap = true, nowait = false, script = false, silent = true, unique = false, }, { "flr", "Telescope lsp_references", desc = "LSP References [Telescope]", expr = false, mode = "n", noremap = true, nowait = false, script = false, silent = true, unique = false, }, { "fli", "Telescope lsp_implementations", desc = "LSP Implementations [Telescope]", expr = false, mode = "n", noremap = true, nowait = false, script = false, silent = true, unique = false, }, { "flD", "Telescope lsp_definitions", desc = "LSP Definitions [Telescope]", expr = false, mode = "n", noremap = true, nowait = false, script = false, silent = true, unique = false, }, { "flt", "Telescope lsp_type_definitions", desc = "LSP Type Definitions [Telescope]", expr = false, mode = "n", noremap = true, nowait = false, script = false, silent = true, unique = false, }, { "fld", "Telescope diagnostics", desc = "Diagnostics [Telescope]", expr = false, mode = "n", noremap = true, nowait = false, script = false, silent = true, unique = false, }, { "fs", "Telescope treesitter", desc = "Treesitter [Telescope]", expr = false, mode = "n", noremap = true, nowait = false, script = false, silent = true, unique = false, }, }, }