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
|
--- @diagnostic disable: missing-fields
local fzf = require("fzf-lua")
local swiper = {
previewer = "swiper",
winopts = function()
local height = math.ceil(vim.o.lines / 3)
return { split = ("botright %snew +set\\ nobl"):format(height) }
end,
}
fzf.setup({
{ "default-title", "hide" },
fzf_colors = true,
lsp = {
symbols = { symbol_style = 3 },
document_symbols = swiper,
code_actions = { previewer = "codeaction_native" },
},
manpages = { previewer = "man_native" },
helptags = { previewer = "help_native" },
defaults = { git_icons = false, file_icons = false },
tags = { previewer = "bat" },
btags = { previewer = "bat" },
files = { fzf_opts = { ["--ansi"] = false } },
grep = {
fzf_opts = { ["--ansi"] = false },
rg_glob = true,
rg_opts = " --color=never --column --line-number --no-heading --smart-case --max-columns=4096 -e",
},
builtin = { winopts = { width = 1, height = 1 } },
blines = swiper,
grep_curbuf = swiper,
treesitter = swiper,
git = { blame = swiper },
winopts = function()
local height = math.ceil(vim.o.lines / 2)
return {
backdrop = 80,
row = 1,
col = 0,
width = 1,
height = height > 3 and height or 1,
border = {"", " ", "", "", "", "", "", ""},
toggle_behavior = "extend",
--- @diagnostic disable-next-line: missing-fields
preview = {
default = { "bat" },
treesitter = false,
layout = "vertical",
vertical = "up:60%",
border = {"", " ", "", "", "", "", "", ""},
},
on_create = function()
vim.keymap.set(
"t",
"<C-r>",
[['<C-\><C-N>"'.nr2char(getchar()).'pi']],
{
expr = true,
buffer = true,
desc = "insert register value into the FZF prompt",
}
)
end,
}
end,
keymap = {
fzf = {
["ctrl-q"] = "select-all+accept",
},
},
})
_G.old_vim_ui_select = vim.ui.select
fzf.register_ui_select()
|