| 1 | return { |
| 2 | "nvim-telescope/telescope.nvim", |
| 3 | tag = "0.1.5", |
| 4 | config = function() |
| 5 | local builtin = require('telescope.builtin') |
| 6 | vim.keymap.set('n', '<leader>ff', builtin.find_files, {}) |
| 7 | vim.keymap.set('n', '<leader>/', builtin.live_grep, {}) |
| 8 | vim.keymap.set('n', '<leader>fb', builtin.buffers, {}) |
| 9 | vim.keymap.set('n', '<leader>fh', builtin.help_tags, {}) |
| 10 | vim.keymap.set('n', '<leader>sd', ":Telescope diagnostics bufnr=0<cr>", {}) |
| 11 | vim.keymap.set('n', "<leader>sD", "<cmd>Telescope diagnostics<cr>", {}) |
| 12 | vim.keymap.set('n', "<Leader>o", ":Telescope buffers theme=dropdown<CR>", {}) |
| 13 | vim.keymap.set('n', "<leader><leader>", ":Telescope smart_open<CR>", {}) |
| 14 | vim.keymap.set('n', "<leader>gc", "<cmd>Telescope git_commits<CR>", {}) |
| 15 | vim.keymap.set('n', "<leader>gs", "<cmd>Telescope git_status<CR>", {}) |
| 16 | vim.keymap.set('n', "<leader>sb", "<cmd>Telescope current_buffer_fuzzy_find<cr>", {}) |
| 17 | |
| 18 | |
| 19 | |
| 20 | local telescope = require("telescope") |
| 21 | local actions = require("telescope.actions") |
| 22 | telescope.setup({ |
| 23 | file_ignore_patterns = { "%.git/.", "node_modules" }, |
| 24 | defaults = { |
| 25 | mappings = { |
| 26 | i = { |
| 27 | ["<esc>"] = actions.close, |
| 28 | }, |
| 29 | }, |
| 30 | previewer = false, |
| 31 | hidden = true, |
| 32 | prompt_prefix = " ", |
| 33 | file_ignore_patterns = { "node_modules", "package-lock.json" }, |
| 34 | initial_mode = "insert", |
| 35 | select_strategy = "reset", |
| 36 | sorting_strategy = "ascending", |
| 37 | -- layout_strategy = "horizontal", |
| 38 | layout_config = { |
| 39 | -- width = 0.5, |
| 40 | -- height = 0.4, |
| 41 | prompt_position = "top", |
| 42 | preview_cutoff = 120, |
| 43 | }, |
| 44 | }, |
| 45 | pickers = { |
| 46 | find_files = { |
| 47 | -- theme = "dropdown", |
| 48 | previewer = true, |
| 49 | layout_config = { |
| 50 | -- width = 0.5, |
| 51 | height = 0.8, |
| 52 | prompt_position = "top", |
| 53 | preview_cutoff = 120, |
| 54 | }, |
| 55 | }, |
| 56 | git_files = { |
| 57 | previewer = true, |
| 58 | layout_config = { |
| 59 | height = 0.8, |
| 60 | prompt_position = "top", |
| 61 | preview_cutoff = 120, |
| 62 | }, |
| 63 | }, |
| 64 | buffers = { |
| 65 | mappings = { |
| 66 | i = { |
| 67 | ["<c-d>"] = actions.delete_buffer, |
| 68 | ["<c-j>"] = actions.move_selection_next, |
| 69 | ["<c-k>"] = actions.move_selection_previous, |
| 70 | }, |
| 71 | n = { |
| 72 | ["<c-d>"] = actions.delete_buffer, |
| 73 | ["<c-j>"] = actions.move_selection_next, |
| 74 | ["<c-k>"] = actions.move_selection_previous, |
| 75 | }, |
| 76 | }, |
| 77 | previewer = false, |
| 78 | initial_mode = "insert", |
| 79 | theme = "dropdown", |
| 80 | layout_config = { |
| 81 | width = 0.5, |
| 82 | height = 0.4, |
| 83 | prompt_position = "top", |
| 84 | preview_cutoff = 120, |
| 85 | }, |
| 86 | }, |
| 87 | current_buffer_fuzzy_find = { |
| 88 | previewer = true, |
| 89 | -- theme = "dropdown", |
| 90 | layout_config = { |
| 91 | -- width = 0.5, |
| 92 | height = 0.8, |
| 93 | prompt_position = "top", |
| 94 | preview_cutoff = 120, |
| 95 | }, |
| 96 | }, |
| 97 | live_grep = { |
| 98 | file_ignore_patterns = { "node_modules", "package-lock.json" }, |
| 99 | only_sort_text = true, |
| 100 | previewer = true, |
| 101 | layout_config = { |
| 102 | horizontal = { |
| 103 | width = 0.9, |
| 104 | height = 0.75, |
| 105 | preview_width = 0.6, |
| 106 | }, |
| 107 | }, |
| 108 | }, |
| 109 | grep_string = { |
| 110 | only_sort_text = true, |
| 111 | previewer = true, |
| 112 | layout_config = { |
| 113 | horizontal = { |
| 114 | width = 0.9, |
| 115 | height = 0.75, |
| 116 | preview_width = 0.6, |
| 117 | }, |
| 118 | }, |
| 119 | }, |
| 120 | lsp_references = { |
| 121 | show_line = false, |
| 122 | previewer = true, |
| 123 | layout_config = { |
| 124 | horizontal = { |
| 125 | width = 0.9, |
| 126 | height = 0.75, |
| 127 | preview_width = 0.6, |
| 128 | }, |
| 129 | }, |
| 130 | }, |
| 131 | treesitter = { |
| 132 | show_line = false, |
| 133 | previewer = true, |
| 134 | layout_config = { |
| 135 | horizontal = { |
| 136 | width = 0.9, |
| 137 | height = 0.75, |
| 138 | preview_width = 0.6, |
| 139 | }, |
| 140 | }, |
| 141 | }, |
| 142 | }, |
| 143 | extensions = { |
| 144 | fzf = { |
| 145 | fuzzy = true, -- false will only do exact matching |
| 146 | override_generic_sorter = true, -- override the generic sorter |
| 147 | override_file_sorter = true, -- override the file sorter |
| 148 | case_mode = "smart_case", -- or "ignore_case" or "respect_case" |
| 149 | }, |
| 150 | ["ui-select"] = { |
| 151 | require("telescope.themes").get_dropdown({ |
| 152 | previewer = false, |
| 153 | initial_mode = "normal", |
| 154 | sorting_strategy = "ascending", |
| 155 | layout_strategy = "horizontal", |
| 156 | layout_config = { |
| 157 | horizontal = { |
| 158 | width = 0.5, |
| 159 | height = 0.4, |
| 160 | preview_width = 0.6, |
| 161 | }, |
| 162 | }, |
| 163 | }), |
| 164 | }, |
| 165 | frecency = { |
| 166 | default_workspace = "CWD", |
| 167 | show_scores = true, |
| 168 | show_unindexed = true, |
| 169 | disable_devicons = false, |
| 170 | ignore_patterns = { |
| 171 | "*.git/*", |
| 172 | "*/tmp/*", |
| 173 | "*/lua-language-server/*", |
| 174 | }, |
| 175 | }, |
| 176 | -- file_browser = { |
| 177 | -- -- theme = "", |
| 178 | -- previewer = true, |
| 179 | -- -- disables netrw and use telescope-file-browser in its place |
| 180 | -- hijack_netrw = true, |
| 181 | -- -- mappings = { |
| 182 | -- -- ["i"] = { |
| 183 | -- -- -- your custom insert mode mappings |
| 184 | -- -- }, |
| 185 | -- -- ["n"] = { |
| 186 | -- -- -- your custom normal mode mappings |
| 187 | -- -- }, |
| 188 | -- -- }, |
| 189 | -- }, |
| 190 | }, |
| 191 | }) |
| 192 | -- telescope.load_extension("file_browser") |
| 193 | end, |
| 194 | } |