]> Git — Sourcephile - julm/julm-nix.git/blob - home-manager/profiles/nvim/lua/plugins/telescope.lua
Functionality/Correctness(nvim/neo-tree): sort folder in ascending order
[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 vim.cmd.packadd("telescope-live-grep-args.nvim")
12 --vim.cmd.packadd("sqlite-lua") -- For telescope-smart-history.nvim
13 --vim.cmd.packadd("telescope-smart-history.nvim")
14 end,
15 before = function()
16 vim.g.loaded_telescope = nil
17 end,
18 after = function()
19 local actions = require("telescope.actions")
20 local lga_actions = require("telescope-live-grep-args.actions")
21 require("telescope").setup({
22 defaults = {
23 color_devicons = false,
24 entry_prefix = " ",
25 extensions = {
26 fzf = {
27 fuzzy = true, -- false will only do exact matching
28 --override_generic_sorter = true, -- override the generic sorter
29 --override_file_sorter = true, -- override the file sorter
30 --case_mode = "smart_case", -- or "ignore_case" or "respect_case"
31 -- the default case_mode is "smart_case"
32 },
33 live_grep_args = {
34 auto_quoting = true,
35 mappings = {
36 n = {
37 -- Usage/FixMe: does not seem to be triggered
38 ["<C-k>"] = lga_actions.quote_prompt(),
39 ["<C-g>"] = lga_actions.quote_prompt({ postfix = " --iglob " }),
40 -- freeze the current list and start a fuzzy search in the frozen list
41 ["<C-space>"] = lga_actions.to_fuzzy_refine,
42 },
43 },
44 -- ... also accepts theme settings, for example:
45 -- theme = "dropdown", -- use dropdown theme
46 -- theme = { }, -- use own theme spec
47 -- layout_config = { mirror=true }, -- mirror preview pane
48 },
49 },
50 mappings = {
51 i = {
52 ["<C-Up>"] = actions.cycle_history_prev,
53 ["<C-Down>"] = actions.cycle_history_next,
54 -- ["<esc>"] = actions.close,
55 },
56 },
57 file_ignore_patterns = {
58 "%.git/",
59 "build/",
60 "dist/",
61 "node_modules",
62 "result/",
63 "target/",
64 },
65 history = {
66 path = "~/.local/share/nvim/databases/telescope_history.sqlite3",
67 limit = 100,
68 },
69 initial_mode = "insert",
70 layout_config = {
71 height = 0.800000,
72 horizontal = { preview_width = 0.550000, prompt_position = "top" },
73 preview_cutoff = 120,
74 vertical = { mirror = false },
75 width = 0.800000,
76 },
77 layout_strategy = "horizontal",
78 path_display = { "absolute" },
79 pickers = {
80 find_command = { "fd" },
81 },
82 prompt_prefix = "  ",
83 selection_caret = " ",
84 selection_strategy = "reset",
85 set_env = { COLORTERM = "truecolor" },
86 sorting_strategy = "ascending",
87 vimgrep_arguments = {
88 "rg",
89 "--color=never",
90 "--no-heading",
91 "--with-filename",
92 "--line-number",
93 "--column",
94 "--smart-case",
95 "--hidden",
96 "--no-ignore",
97 },
98 winblend = 0,
99 },
100 pickers = {
101 find_files = {
102 find_command = { "fd", "--type=file" },
103 },
104 },
105 })
106 local telescope = require("telescope")
107 telescope.load_extension("conflicts")
108 telescope.load_extension("fzf")
109 telescope.load_extension("live_grep_args")
110 --telescope.load_extension("smart_history")
111 --telescope.load_extension("noice")
112 end,
113 keys = {
114 {
115 "<leader>ff",
116 "<cmd>Telescope find_files<CR>",
117 desc = "Find files [Telescope]",
118 expr = false,
119 mode = "n",
120 noremap = true,
121 nowait = false,
122 script = false,
123 silent = true,
124 unique = false,
125 },
126 {
127 "<leader>fg",
128 function()
129 require("telescope").extensions.live_grep_args.live_grep_args()
130 end,
131 desc = "Live grep [Telescope]",
132 expr = false,
133 mode = "n",
134 noremap = true,
135 nowait = false,
136 script = false,
137 silent = true,
138 unique = false,
139 },
140 {
141 "<leader>gc",
142 function()
143 require("telescope-live-grep-args.shortcuts").grep_word_under_cursor()
144 end,
145 desc = "[G]rep word under [C]ursor [Telescope]",
146 expr = false,
147 mode = "n",
148 noremap = true,
149 nowait = false,
150 script = false,
151 silent = true,
152 unique = false,
153 },
154 {
155 "<leader>fm",
156 function()
157 require("telescope.builtin").live_grep({ grep_open_files = true })
158 end,
159 desc = "Buffers grep [Telescope]",
160 expr = false,
161 mode = "n",
162 noremap = true,
163 nowait = false,
164 script = false,
165 silent = true,
166 unique = false,
167 },
168 {
169 "m",
170 "<cmd>Telescope buffers<CR>",
171 desc = "Buffers [Telescope]",
172 expr = false,
173 mode = "n",
174 noremap = true,
175 nowait = false,
176 script = false,
177 silent = true,
178 unique = false,
179 },
180 {
181 "<leader>fb",
182 "<cmd>Telescope buffers<CR>",
183 desc = "Buffers [Telescope]",
184 expr = false,
185 mode = "n",
186 noremap = true,
187 nowait = false,
188 script = false,
189 silent = true,
190 unique = false,
191 },
192 {
193 "<leader>fh",
194 "<cmd>Telescope help_tags<CR>",
195 desc = "Help tags [Telescope]",
196 expr = false,
197 mode = "n",
198 noremap = true,
199 nowait = false,
200 script = false,
201 silent = true,
202 unique = false,
203 },
204 {
205 "<leader>ft",
206 "<cmd>Telescope<CR>",
207 desc = "Open [Telescope]",
208 expr = false,
209 mode = "n",
210 noremap = true,
211 nowait = false,
212 script = false,
213 silent = true,
214 unique = false,
215 },
216 {
217 "<leader>fr",
218 "<cmd>Telescope resume<CR>",
219 desc = "Resume (previous search) [Telescope]",
220 expr = false,
221 mode = "n",
222 noremap = true,
223 nowait = false,
224 script = false,
225 silent = true,
226 unique = false,
227 },
228 {
229 "<leader>fvcw",
230 "<cmd>Telescope git_commits<CR>",
231 desc = "Git commits [Telescope]",
232 expr = false,
233 mode = "n",
234 noremap = true,
235 nowait = false,
236 script = false,
237 silent = true,
238 unique = false,
239 },
240 {
241 "<leader>fvcb",
242 "<cmd>Telescope git_bcommits<CR>",
243 desc = "Git buffer commits [Telescope]",
244 expr = false,
245 mode = "n",
246 noremap = true,
247 nowait = false,
248 script = false,
249 silent = true,
250 unique = false,
251 },
252 {
253 "<leader>fvb",
254 "<cmd>Telescope git_branches<CR>",
255 desc = "Git branches [Telescope]",
256 expr = false,
257 mode = "n",
258 noremap = true,
259 nowait = false,
260 script = false,
261 silent = true,
262 unique = false,
263 },
264 {
265 "<leader>fvs",
266 "<cmd>Telescope git_status<CR>",
267 desc = "Git status [Telescope]",
268 expr = false,
269 mode = "n",
270 noremap = true,
271 nowait = false,
272 script = false,
273 silent = true,
274 unique = false,
275 },
276 {
277 "<leader>fvx",
278 "<cmd>Telescope git_stash<CR>",
279 desc = "Git stash [Telescope]",
280 expr = false,
281 mode = "n",
282 noremap = true,
283 nowait = false,
284 script = false,
285 silent = true,
286 unique = false,
287 },
288 {
289 "<leader>flsb",
290 "<cmd>Telescope lsp_document_symbols<CR>",
291 desc = "LSP Document Symbols [Telescope]",
292 expr = false,
293 mode = "n",
294 noremap = true,
295 nowait = false,
296 script = false,
297 silent = true,
298 unique = false,
299 },
300 {
301 "<leader>flsw",
302 "<cmd>Telescope lsp_workspace_symbols<CR>",
303 desc = "LSP Workspace Symbols [Telescope]",
304 expr = false,
305 mode = "n",
306 noremap = true,
307 nowait = false,
308 script = false,
309 silent = true,
310 unique = false,
311 },
312 {
313 "<leader>flr",
314 "<cmd>Telescope lsp_references<CR>",
315 desc = "LSP References [Telescope]",
316 expr = false,
317 mode = "n",
318 noremap = true,
319 nowait = false,
320 script = false,
321 silent = true,
322 unique = false,
323 },
324 {
325 "<leader>fli",
326 "<cmd>Telescope lsp_implementations<CR>",
327 desc = "LSP Implementations [Telescope]",
328 expr = false,
329 mode = "n",
330 noremap = true,
331 nowait = false,
332 script = false,
333 silent = true,
334 unique = false,
335 },
336 {
337 "<leader>flD",
338 "<cmd>Telescope lsp_definitions<CR>",
339 desc = "LSP Definitions [Telescope]",
340 expr = false,
341 mode = "n",
342 noremap = true,
343 nowait = false,
344 script = false,
345 silent = true,
346 unique = false,
347 },
348 {
349 "<leader>flt",
350 "<cmd>Telescope lsp_type_definitions<CR>",
351 desc = "LSP Type Definitions [Telescope]",
352 expr = false,
353 mode = "n",
354 noremap = true,
355 nowait = false,
356 script = false,
357 silent = true,
358 unique = false,
359 },
360 {
361 "<leader>fld",
362 "<cmd>Telescope diagnostics<CR>",
363 desc = "Diagnostics [Telescope]",
364 expr = false,
365 mode = "n",
366 noremap = true,
367 nowait = false,
368 script = false,
369 silent = true,
370 unique = false,
371 },
372 {
373 "<leader>fs",
374 "<cmd>Telescope treesitter<CR>",
375 desc = "Treesitter [Telescope]",
376 expr = false,
377 mode = "n",
378 noremap = true,
379 nowait = false,
380 script = false,
381 silent = true,
382 unique = false,
383 },
384 },
385 }