summaryrefslogtreecommitdiff
path: root/config/nvim/lua/plugins/telescope.lua
blob: e26a618c7f3e8c0058d97764e4ae8a27a13ee93e (plain) (blame)
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
79
80
81
82
83
84
85
return {
	"nvim-telescope/telescope.nvim",
	event = "VeryLazy",
	dependencies = {
		"nvim-lua/plenary.nvim",
		{
			"nvim-telescope/telescope-fzf-native.nvim",
			build = "make",
		},
	},
	keys = {
		{
			"<leader>ff",
			"<cmd>Telescope find_files<CR>",
			desc = "Find files",
		},
		{
			"<leader>fg",
			"<cmd>Telescope live_grep<CR>",
			desc = "Live grep",
		},
		{
			"<leader>fb",
			"<cmd>Telescope current_buffer_fuzzy_find<CR>",
			desc = "Find in current buffer",
		},
		{
			"<F4>",
			"<cmd>Telescope buffers<CR>",
			desc = "Find buffers",
		},
		{
			"<leader>gc",
			"<cmd>Telescope git_commits<CR>",
			desc = "Git commits",
		},
		{
			"<leader>gs",
			"<cmd>Telescope git_status<CR>",
			desc = "Git status",
		},
		{
			"<leader>ch",
			"<cmd>Telescope commands_history<CR>",
			desc = "Commands history",
		},
		{
			"gi",
			"<cmd>Telescope lsp_implementations<CR>",
			desc = "LSP implementations",
		},
		{
			"gr",
			"<cmd>Telescope lsp_references<CR>",
			desc = "LSP references",
		},
	},
	config = function()
		local actions = require("telescope.actions")
		require("telescope").setup({
			extensions = {
				project = {
					sync_with_nvim_tree = true,
				},
			},
			pickers = {
				buffers = {
					initial_mode = "normal",
				},
			},
			defaults = {
				file_ignore_patterns = { "vendor", "node_modules" },
				mappings = {
					i = {
						["<F4>"] = actions.close,
					},
					n = {
						["<F4>"] = actions.close,
					},
				},
			},
		})
		require("telescope").load_extension("fzf")
	end,
}