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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
-- telescope.nvim et al config
local u = require('utils')
local M = {}
-- TELESCOPE config -- {{{
require('telescope').setup{
defaults = {
-- vimgrep_arguments = {
-- 'rg',
-- '--color=never',
-- '--no-heading',
-- '--with-filename',
-- '--line-number',
-- '--column',
-- '--smart-case'
-- },
prompt_prefix = ' >',
borderchars = {'─', '│', '─', '│', '┌', '┐', '┘', '└'},
winblend = 0,
preview_cutoff = 120,
layout_strategy = 'flex',
file_previewer = require('telescope.previewers').vim_buffer_cat_new,
grep_previewer = require('telescope.previewers').vim_buffer_vimgrep_new,
qflist_previewer = require('telescope.previewers').vim_buffer_qflist_new,
extensions = {
fzf_writer = {
use_highlighter = true,
minimum_grep_characters = 4,
shorten_path = true,
}
}
}
}
-- }}}
-- LOCAL finders -- {{{
M.wrap = function(opts)
opts = opts or {}
my_opts = require('telescope.themes').get_dropdown({ width = 110 })
return vim.tbl_deep_extend("force", my_opts, opts)
end
M.live_grep = function()
require('telescope').extensions.fzf_writer.staged_grep(M.wrap())
end
M.repo_search = function()
require('telescope').extensions.fzf_writer.files(M.wrap({
previewer = false,
cwd = require('lspconfig.util').root_pattern('.git')(vim.fn.expand('%:p')),
}))
end
M.wiki = function()
require('telescope').extensions.fzf_writer.files(M.wrap({
previewer = false,
cwd = '~/wiki/',
}))
end
M.devel = function()
require('telescope').extensions.fzf_writer.files(M.wrap({
previewer = false,
cwd = '~/devel/',
}))
end
-- }}}
-- MAPPINGS -- {{{
u.map('n', ';g', "<cmd>lua require('plugins._telescope').live_grep()<cr>")
u.map('n', ';r', "<cmd>lua require('plugins._telescope').repo_search()<cr>")
-- u.map('n', ';w', "<cmd>lua require('plugins._telescope').wiki()<cr>")
u.map('n', ';d', "<cmd>lua require('plugins._telescope').devel()<cr>")
local mapbuiltin = function(key, fn, previewer)
opts = (not previewer and '{ previewer = false }') or '{}'
u.map('n', key, "<cmd>lua require('telescope.builtin')."..fn.."(require('plugins._telescope').wrap("..opts.."))<cr>")
end
mapbuiltin(';f', 'fd', true)
mapbuiltin(';q', 'quickfix')
mapbuiltin(';l', 'loclist')
mapbuiltin(';b', 'buffers')
mapbuiltin(';t', 'tags')
mapbuiltin(';lr', 'lsp_references')
mapbuiltin(';la', 'lsp_code_actions')
mapbuiltin(';lw', 'lsp_workspace_symbols')
mapbuiltin(';c', 'command_history')
-- }}}
return M
|