summaryrefslogtreecommitdiffstats
path: root/lua/plugins/telescope.lua
blob: cd44ee3c97f3806f1fe794514b234622c4144668 (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
67
68
69
70
71
72
73
74
75
76
77
78
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,
	},
}