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
|
local misc = require('core.misc')
local map = misc.map
return { 'nvim-telescope/telescope.nvim',
disable = vim.version().minor < 9,
requires = {
'nvim-lua/plenary.nvim',
{ 'nvim-telescope/telescope-fzf-native.nvim',
config = function()
vim.cmd.make()
end
}
},
function()
local telescope = require("telescope")
local actions = require('telescope.actions')
local action_layout = require("telescope.actions.layout")
local function telescopew()
if vim.o.columns <= 80 then
return vim.o.columns
else
return 0.8
end
end
telescope.setup {
defaults = {
borderchars = {
prompt = { ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' },
results = { ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' },
preview = { ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' },
},
winblend = 0,
layout_strategy = 'horizontal',
sorting_strategy = 'descending',
scroll_strategy = 'limit',
layout_config = {
horizontal = {
width = telescopew(),
height = 20,
prompt_position = 'bottom',
anchor = 'N',
}
},
mappings = {
i = {
["<esc>"] = actions.close,
['<C-j>'] = actions.move_selection_next,
['<C-k>'] = actions.move_selection_previous,
['<C-l>'] = actions.select_default,
['<C-u>'] = actions.preview_scrolling_up,
['<C-d>'] = actions.preview_scrolling_down,
["<C-p>"] = action_layout.toggle_preview
},
n = {
["gg"] = actions.move_to_top,
["G"] = actions.move_to_bottom,
}
}
},
extensions = {
fzf = {}
}
}
-- load in the fzf extension
telescope.load_extension('fzf')
-- keymaps
local telebuilt = require('telescope.builtin')
map('n', '<leader>f', function()
telebuilt.fd { follow = true }
end, { desc = 'Find files.' })
map('n', '<leader>s', telebuilt.live_grep, { desc = 'Find string in project.' })
map('n', '<leader>b', telebuilt.current_buffer_fuzzy_find, {
desc = 'Find string in current buffer.',
})
-- enable previewing in the default colorscheme switcher
telebuilt.colorscheme = function()
require("telescope.builtin.__internal").colorscheme { enable_preview = true }
end
end
}
|