From 27cf9570ce038d83c90050a16406314035091468 Mon Sep 17 00:00:00 2001 From: Dinesh Salunke Date: Sat, 5 Apr 2025 18:00:24 +0530 Subject: [PATCH] refactor: minor config changes on the telescope --- lua/plugins/telescope.lua | 44 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 41 insertions(+), 3 deletions(-) diff --git a/lua/plugins/telescope.lua b/lua/plugins/telescope.lua index aa31504..c2ee032 100644 --- a/lua/plugins/telescope.lua +++ b/lua/plugins/telescope.lua @@ -3,6 +3,10 @@ return { "nvim-telescope/telescope.nvim", dependencies = { "nvim-lua/plenary.nvim", + { "nvim-telescope/telescope-ui-select.nvim" }, + + -- Useful for getting pretty icons, but requires a Nerd Font. + { "nvim-tree/nvim-web-devicons", enabled = vim.g.have_nerd_font }, }, cmd = "Telescope", keys = { @@ -33,14 +37,14 @@ return { function() require("telescope.builtin").git_files() end, - desc = "Live grep", + desc = "Git files", }, { "gs", function() require("telescope.builtin").git_status() end, - desc = "Live grep", + desc = "Git status", }, { "fc", @@ -103,11 +107,24 @@ return { end, desc = "[ L ]ist [ D ]ef[ i ]nitions", }, + { + "bff", + function() + require("telescope.builtin").current_buffer_fuzzy_find() + end, + desc = "[ L ]ist [ D ]ef[ i ]nitions", + }, }, config = function(_, opts) local telescope = require("telescope") + local builtin = require("telescope.builtin") telescope.setup({ + extensions = { + ["ui-select"] = { + require("telescope.themes").get_dropdown(), + }, + }, defaults = { prompt_prefix = "", selection_caret = "", @@ -147,7 +164,28 @@ return { }, }) - telescope.load_extension("tnf") + pcall(telescope.load_extension, "tnf") + pcall(telescope.load_extension, "fzf") + pcall(telescope.load_extension, "ui-select") + + vim.keymap.set("n", "/", function() + -- You can pass additional configuration to Telescope to change the theme, layout, etc. + builtin.current_buffer_fuzzy_find(require("telescope.themes").get_dropdown({ + winblend = 10, + previewer = false, + })) + end, { desc = "[/] Fuzzily search in current buffer" }) + + vim.keymap.set("n", "s/", function() + builtin.live_grep({ + grep_open_files = true, + prompt_title = "Live Grep in Open Files", + }) + end, { desc = "[S]earch [/] in Open Files" }) + + vim.keymap.set("n", "sn", function() + builtin.find_files({ cwd = vim.fn.stdpath("config") }) + end, { desc = "[S]earch [N]eovim files" }) end, }, }