summaryrefslogtreecommitdiffstats
path: root/lua/plugins/telescope.lua
blob: c95b7bc15622aa27d37c22cbdb60a3afe4d064e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
return {
	{
		'nvim-telescope/telescope.nvim',
		keys = {
			{ '<leader>f', function() require('telescope.builtin').find_files() end, desc = 'find files' },
			{ '<leader>g', function() require('telescope.builtin').live_grep() end, desc = 'find files' },
			{ '<leader>d', function() require('telescope.builtin').oldfiles() end, desc = 'find oldfiles' },
			{ '<leader>b', function() require('telescope.builtin').buffers() end, desc = 'find buffers' },
		},
		dependencies = {
			'nvim-lua/plenary.nvim',
			'nvim-telescope/telescope-fzf-native.nvim',
		},
		opts = {
			defaults = {
				prompt_prefix = "   ",
				entry_prefix = "  ",
				selection_caret = "  ",
				mappings = {
					['n'] = {
						['q'] = function(...) return require('telescope.actions').close(...) end,
						['l'] = function(...) return require('telescope.actions').select_default(...) end,
					}
				},
				layout_config = {
					horizontal = {
						prompt_position = 'top',
						preview_width = 0.5,
						results_width = 0.8,
					},
					width = 0.8,
					height = 0.8,
					preview_cutoff = 120,
				}
			},
			extensions = {
				file_browser = {
					mappings = {
						['n'] = {
							['h'] = function(...) require('telescope').extensions.file_browser.actions.goto_parent_dir(...) end,
						},
					},
				},
			},
		},
	},
	{
		'nvim-telescope/telescope-file-browser.nvim',
		keys = {
			{ '<leader>v', function(...) require('telescope').extensions.file_browser.file_browser(...) end, desc = 'file tree' },
		},
		dependencies = {
			'nvim-telescope/telescope.nvim',
		},
		config = function()
			require('telescope').load_extension 'file_browser'
		end,
	},
	{
		'nvim-telescope/telescope-fzf-native.nvim',
		build = 'make',
		config = function()
			require('telescope').load_extension 'fzf'
		end,
	},
}