From 1f78968ac93573c89321d0135d45c925fcb28a4d Mon Sep 17 00:00:00 2001 From: dlond Date: Sat, 3 May 2025 01:26:05 +1200 Subject: [PATCH] custom telescope --- lua/custom/plugins/telescope.lua | 49 ++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 lua/custom/plugins/telescope.lua diff --git a/lua/custom/plugins/telescope.lua b/lua/custom/plugins/telescope.lua new file mode 100644 index 00000000..61dbbf3f --- /dev/null +++ b/lua/custom/plugins/telescope.lua @@ -0,0 +1,49 @@ +-- Telescope override configuration + +return { + { + 'nvim-telescope/telescope.nvim', + -- Ensure dependencies are loaded (lazy.nvim usually handles this if defined elsewhere) + -- Listing them here ensures they are available if Telescope is the first plugin requiring them. + dependencies = { + 'nvim-lua/plenary.nvim', + { + 'nvim-telescope/telescope-fzf-native.nvim', + build = 'make', + cond = function() + return vim.fn.executable 'make' == 1 + end, + }, + { 'nvim-telescope/telescope-ui-select.nvim' }, + { 'nvim-tree/nvim-web-devicons', enabled = vim.g.have_nerd_font }, -- Conditionally enable based on options + }, + opts = { -- Use opts to merge/override defaults + pickers = { + find_files = { + -- Use rg for finding files (ensure rg is installed via Nix/Home Manager) + find_command = { 'rg', '--files', '--hidden', '-g', '!.git' }, + }, + }, + -- Ensure extensions are configured if kickstart doesn't handle it via opts + extensions = { + ['ui-select'] = { + require('telescope.themes').get_dropdown(), + }, + -- Configuration for fzf-native extension + fzf = { + fuzzy = true, + override_generic_sorter = true, + override_file_sorter = true, + case_mode = 'smart_case', + }, + }, + }, + -- The config function ensures extensions are loaded after setup + config = function(_, opts) + require('telescope').setup(opts) + -- Load extensions after setup + pcall(require('telescope').load_extension, 'fzf') + pcall(require('telescope').load_extension, 'ui-select') + end, + }, +}