]> 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 cmd = { "Telescope" },
6 load = function(name)
7 vim.cmd.packadd(name)
8 vim.cmd.packadd("telescope-fzf-native.nvim")
9 vim.cmd.packadd("telescope-git-conflicts.nvim")
10 end,
11 before = function()
12 vim.g.loaded_telescope = nil
13 end,
14 after = function()
15 require("telescope").setup({
16 defaults = {
17 color_devicons = false,
18 entry_prefix = " ",
19 extensions = {
20 fzf = {
21 fuzzy = true, -- false will only do exact matching
22 --override_generic_sorter = true, -- override the generic sorter
23 --override_file_sorter = true, -- override the file sorter
24 --case_mode = "smart_case", -- or "ignore_case" or "respect_case"
25 -- the default case_mode is "smart_case"
26 },
27 },
28 file_ignore_patterns = { "node_modules", "%.git/", "dist/", "build/", "target/", "result/" },
29 initial_mode = "insert",
30 layout_config = {
31 height = 0.800000,
32 horizontal = { preview_width = 0.550000, prompt_position = "top" },
33 preview_cutoff = 120,
34 vertical = { mirror = false },
35 width = 0.800000,
36 },
37 layout_strategy = "horizontal",
38 path_display = { "absolute" },
39 pickers = {
40 find_command = { "fd" },
41 },
42 prompt_prefix = "  ",
43 selection_caret = " ",
44 selection_strategy = "reset",
45 set_env = { COLORTERM = "truecolor" },
46 sorting_strategy = "ascending",
47 vimgrep_arguments = {
48 "rg",
49 "--color=never",
50 "--no-heading",
51 "--with-filename",
52 "--line-number",
53 "--column",
54 "--smart-case",
55 "--hidden",
56 "--no-ignore",
57 },
58 winblend = 0,
59 },
60 pickers = {
61 find_files = {
62 find_command = { "fd", "--type=file" },
63 },
64 },
65 })
66 local telescope = require("telescope")
67 telescope.load_extension("fzf")
68 telescope.load_extension("conflicts")
69 --telescope.load_extension("noice")
70 end,
71 keys = {
72 {
73 "<leader>ff",
74 "<cmd>Telescope find_files<CR>",
75 desc = "Find files [Telescope]",
76 expr = false,
77 mode = "n",
78 noremap = true,
79 nowait = false,
80 script = false,
81 silent = true,
82 unique = false,
83 },
84 {
85 "<leader>fg",
86 "<cmd>Telescope live_grep<CR>",
87 desc = "Live grep [Telescope]",
88 expr = false,
89 mode = "n",
90 noremap = true,
91 nowait = false,
92 script = false,
93 silent = true,
94 unique = false,
95 },
96 {
97 "m",
98 "<cmd>Telescope buffers<CR>",
99 desc = "Buffers [Telescope]",
100 expr = false,
101 mode = "n",
102 noremap = true,
103 nowait = false,
104 script = false,
105 silent = true,
106 unique = false,
107 },
108 {
109 "<leader>fb",
110 "<cmd>Telescope buffers<CR>",
111 desc = "Buffers [Telescope]",
112 expr = false,
113 mode = "n",
114 noremap = true,
115 nowait = false,
116 script = false,
117 silent = true,
118 unique = false,
119 },
120 {
121 "<leader>fh",
122 "<cmd>Telescope help_tags<CR>",
123 desc = "Help tags [Telescope]",
124 expr = false,
125 mode = "n",
126 noremap = true,
127 nowait = false,
128 script = false,
129 silent = true,
130 unique = false,
131 },
132 {
133 "<leader>ft",
134 "<cmd>Telescope<CR>",
135 desc = "Open [Telescope]",
136 expr = false,
137 mode = "n",
138 noremap = true,
139 nowait = false,
140 script = false,
141 silent = true,
142 unique = false,
143 },
144 {
145 "<leader>fr",
146 "<cmd>Telescope resume<CR>",
147 desc = "Resume (previous search) [Telescope]",
148 expr = false,
149 mode = "n",
150 noremap = true,
151 nowait = false,
152 script = false,
153 silent = true,
154 unique = false,
155 },
156 {
157 "<leader>fvcw",
158 "<cmd>Telescope git_commits<CR>",
159 desc = "Git commits [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 "<leader>fvcb",
170 "<cmd>Telescope git_bcommits<CR>",
171 desc = "Git buffer commits [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>fvb",
182 "<cmd>Telescope git_branches<CR>",
183 desc = "Git branches [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>fvs",
194 "<cmd>Telescope git_status<CR>",
195 desc = "Git status [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>fvx",
206 "<cmd>Telescope git_stash<CR>",
207 desc = "Git stash [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>flsb",
218 "<cmd>Telescope lsp_document_symbols<CR>",
219 desc = "LSP Document Symbols [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>flsw",
230 "<cmd>Telescope lsp_workspace_symbols<CR>",
231 desc = "LSP Workspace Symbols [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>flr",
242 "<cmd>Telescope lsp_references<CR>",
243 desc = "LSP References [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>fli",
254 "<cmd>Telescope lsp_implementations<CR>",
255 desc = "LSP Implementations [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>flD",
266 "<cmd>Telescope lsp_definitions<CR>",
267 desc = "LSP Definitions [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>flt",
278 "<cmd>Telescope lsp_type_definitions<CR>",
279 desc = "LSP Type Definitions [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>fld",
290 "<cmd>Telescope diagnostics<CR>",
291 desc = "Diagnostics [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>fs",
302 "<cmd>Telescope treesitter<CR>",
303 desc = "Treesitter [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 }