]> Git — Sourcephile - julm/julm-nix.git/blob - home-manager/profiles/nvim/lua/plugins/telescope.lua
neovim: configure, using ghostty and tmux
[julm/julm-nix.git] / home-manager / profiles / nvim / lua / plugins / telescope.lua
1 -- Find, Filter, Preview, Pick. All lua, all the time.
2 -- https://github.com/nvim-telescope/telescope.nvim
3 return {
4 "telescope.nvim",
5 lazy = false,
6 cmd = { "Telescope" },
7 load = function(name)
8 vim.cmd.packadd(name)
9 vim.cmd.packadd("telescope-fzf-native.nvim")
10 vim.cmd.packadd("telescope-git-conflicts.nvim")
11 end,
12 before = function()
13 vim.g.loaded_telescope = nil
14 end,
15 after = function()
16 require("telescope").setup({
17 defaults = {
18 color_devicons = false,
19 entry_prefix = " ",
20 extensions = {
21 fzf = {
22 fuzzy = true, -- false will only do exact matching
23 --override_generic_sorter = true, -- override the generic sorter
24 --override_file_sorter = true, -- override the file sorter
25 --case_mode = "smart_case", -- or "ignore_case" or "respect_case"
26 -- the default case_mode is "smart_case"
27 },
28 },
29 file_ignore_patterns = { "node_modules", "%.git/", "dist/", "build/", "target/", "result/" },
30 initial_mode = "insert",
31 layout_config = {
32 height = 0.800000,
33 horizontal = { preview_width = 0.550000, prompt_position = "top" },
34 preview_cutoff = 120,
35 vertical = { mirror = false },
36 width = 0.800000,
37 },
38 layout_strategy = "horizontal",
39 path_display = { "absolute" },
40 pickers = {
41 find_command = { "fd" },
42 },
43 prompt_prefix = "  ",
44 selection_caret = " ",
45 selection_strategy = "reset",
46 set_env = { COLORTERM = "truecolor" },
47 sorting_strategy = "ascending",
48 vimgrep_arguments = {
49 "rg",
50 "--color=never",
51 "--no-heading",
52 "--with-filename",
53 "--line-number",
54 "--column",
55 "--smart-case",
56 "--hidden",
57 "--no-ignore",
58 },
59 winblend = 0,
60 },
61 pickers = {
62 find_files = {
63 find_command = { "fd", "--type=file" },
64 },
65 },
66 })
67 local telescope = require("telescope")
68 telescope.load_extension("fzf")
69 telescope.load_extension("conflicts")
70 --telescope.load_extension("noice")
71 end,
72 keys = {
73 {
74 "<leader>ff",
75 "<cmd>Telescope find_files<CR>",
76 desc = "Find files [Telescope]",
77 expr = false,
78 mode = "n",
79 noremap = true,
80 nowait = false,
81 script = false,
82 silent = true,
83 unique = false,
84 },
85 {
86 "<leader>fg",
87 "<cmd>Telescope live_grep<CR>",
88 desc = "Live grep [Telescope]",
89 expr = false,
90 mode = "n",
91 noremap = true,
92 nowait = false,
93 script = false,
94 silent = true,
95 unique = false,
96 },
97 {
98 "<leader>fm",
99 function()
100 require("telescope.builtin").live_grep({ grep_open_files = true })
101 end,
102 desc = "Buffers grep [Telescope]",
103 expr = false,
104 mode = "n",
105 noremap = true,
106 nowait = false,
107 script = false,
108 silent = true,
109 unique = false,
110 },
111 {
112 "m",
113 "<cmd>Telescope buffers<CR>",
114 desc = "Buffers [Telescope]",
115 expr = false,
116 mode = "n",
117 noremap = true,
118 nowait = false,
119 script = false,
120 silent = true,
121 unique = false,
122 },
123 {
124 "<leader>fb",
125 "<cmd>Telescope buffers<CR>",
126 desc = "Buffers [Telescope]",
127 expr = false,
128 mode = "n",
129 noremap = true,
130 nowait = false,
131 script = false,
132 silent = true,
133 unique = false,
134 },
135 {
136 "<leader>fh",
137 "<cmd>Telescope help_tags<CR>",
138 desc = "Help tags [Telescope]",
139 expr = false,
140 mode = "n",
141 noremap = true,
142 nowait = false,
143 script = false,
144 silent = true,
145 unique = false,
146 },
147 {
148 "<leader>ft",
149 "<cmd>Telescope<CR>",
150 desc = "Open [Telescope]",
151 expr = false,
152 mode = "n",
153 noremap = true,
154 nowait = false,
155 script = false,
156 silent = true,
157 unique = false,
158 },
159 {
160 "<leader>fr",
161 "<cmd>Telescope resume<CR>",
162 desc = "Resume (previous search) [Telescope]",
163 expr = false,
164 mode = "n",
165 noremap = true,
166 nowait = false,
167 script = false,
168 silent = true,
169 unique = false,
170 },
171 {
172 "<leader>fvcw",
173 "<cmd>Telescope git_commits<CR>",
174 desc = "Git commits [Telescope]",
175 expr = false,
176 mode = "n",
177 noremap = true,
178 nowait = false,
179 script = false,
180 silent = true,
181 unique = false,
182 },
183 {
184 "<leader>fvcb",
185 "<cmd>Telescope git_bcommits<CR>",
186 desc = "Git buffer commits [Telescope]",
187 expr = false,
188 mode = "n",
189 noremap = true,
190 nowait = false,
191 script = false,
192 silent = true,
193 unique = false,
194 },
195 {
196 "<leader>fvb",
197 "<cmd>Telescope git_branches<CR>",
198 desc = "Git branches [Telescope]",
199 expr = false,
200 mode = "n",
201 noremap = true,
202 nowait = false,
203 script = false,
204 silent = true,
205 unique = false,
206 },
207 {
208 "<leader>fvs",
209 "<cmd>Telescope git_status<CR>",
210 desc = "Git status [Telescope]",
211 expr = false,
212 mode = "n",
213 noremap = true,
214 nowait = false,
215 script = false,
216 silent = true,
217 unique = false,
218 },
219 {
220 "<leader>fvx",
221 "<cmd>Telescope git_stash<CR>",
222 desc = "Git stash [Telescope]",
223 expr = false,
224 mode = "n",
225 noremap = true,
226 nowait = false,
227 script = false,
228 silent = true,
229 unique = false,
230 },
231 {
232 "<leader>flsb",
233 "<cmd>Telescope lsp_document_symbols<CR>",
234 desc = "LSP Document Symbols [Telescope]",
235 expr = false,
236 mode = "n",
237 noremap = true,
238 nowait = false,
239 script = false,
240 silent = true,
241 unique = false,
242 },
243 {
244 "<leader>flsw",
245 "<cmd>Telescope lsp_workspace_symbols<CR>",
246 desc = "LSP Workspace Symbols [Telescope]",
247 expr = false,
248 mode = "n",
249 noremap = true,
250 nowait = false,
251 script = false,
252 silent = true,
253 unique = false,
254 },
255 {
256 "<leader>flr",
257 "<cmd>Telescope lsp_references<CR>",
258 desc = "LSP References [Telescope]",
259 expr = false,
260 mode = "n",
261 noremap = true,
262 nowait = false,
263 script = false,
264 silent = true,
265 unique = false,
266 },
267 {
268 "<leader>fli",
269 "<cmd>Telescope lsp_implementations<CR>",
270 desc = "LSP Implementations [Telescope]",
271 expr = false,
272 mode = "n",
273 noremap = true,
274 nowait = false,
275 script = false,
276 silent = true,
277 unique = false,
278 },
279 {
280 "<leader>flD",
281 "<cmd>Telescope lsp_definitions<CR>",
282 desc = "LSP Definitions [Telescope]",
283 expr = false,
284 mode = "n",
285 noremap = true,
286 nowait = false,
287 script = false,
288 silent = true,
289 unique = false,
290 },
291 {
292 "<leader>flt",
293 "<cmd>Telescope lsp_type_definitions<CR>",
294 desc = "LSP Type Definitions [Telescope]",
295 expr = false,
296 mode = "n",
297 noremap = true,
298 nowait = false,
299 script = false,
300 silent = true,
301 unique = false,
302 },
303 {
304 "<leader>fld",
305 "<cmd>Telescope diagnostics<CR>",
306 desc = "Diagnostics [Telescope]",
307 expr = false,
308 mode = "n",
309 noremap = true,
310 nowait = false,
311 script = false,
312 silent = true,
313 unique = false,
314 },
315 {
316 "<leader>fs",
317 "<cmd>Telescope treesitter<CR>",
318 desc = "Treesitter [Telescope]",
319 expr = false,
320 mode = "n",
321 noremap = true,
322 nowait = false,
323 script = false,
324 silent = true,
325 unique = false,
326 },
327 },
328 }