92 lines
2.3 KiB
Lua
92 lines
2.3 KiB
Lua
local fzf = require("fzf-lua")
|
|
|
|
local wide = {
|
|
width = 160,
|
|
height = 30,
|
|
preview = { horizontal = "right:50%" },
|
|
}
|
|
|
|
fzf.setup({
|
|
defaults = {
|
|
lopen = "lopen",
|
|
copen = "copen",
|
|
},
|
|
winopts = {
|
|
width = 80,
|
|
height = 30,
|
|
row = 0.5,
|
|
col = 0.5,
|
|
backdrop = 100,
|
|
},
|
|
keymap = {
|
|
builtin = {
|
|
false,
|
|
["<C-o>"] = "toggle-fullscreen",
|
|
["<C-d>"] = "preview-half-page-down",
|
|
["<C-u>"] = "preview-half-page-up",
|
|
["<C-j>"] = "preview-down",
|
|
["<C-k>"] = "preview-up",
|
|
},
|
|
fzf = {
|
|
false,
|
|
["ctrl-y"] = "accept",
|
|
},
|
|
},
|
|
actions = {
|
|
files = {
|
|
false,
|
|
["enter"] = fzf.actions.file_edit,
|
|
["ctrl-s"] = fzf.actions.file_split,
|
|
["ctrl-v"] = fzf.actions.file_vsplit,
|
|
["ctrl-t"] = fzf.actions.file_tabedit,
|
|
["ctrl-q"] = fzf.actions.file_sel_to_ll,
|
|
["alt-q"] = fzf.actions.file_sel_to_qf,
|
|
},
|
|
},
|
|
files = {
|
|
hidden = true,
|
|
no_ignore = true,
|
|
previewer = false,
|
|
},
|
|
grep = {
|
|
hidden = true,
|
|
rg_opts = "--iglob=!.venv --iglob=!vendor "
|
|
.. require("fzf-lua.defaults").defaults.grep.rg_opts,
|
|
winopts = wide,
|
|
},
|
|
oldfiles = {
|
|
cwd_only = true,
|
|
previewer = false,
|
|
include_current_session = true,
|
|
},
|
|
buffers = {
|
|
sort_lastused = true,
|
|
previewer = false,
|
|
},
|
|
highlights = {
|
|
winopts = wide,
|
|
},
|
|
lsp = {
|
|
winopts = wide,
|
|
},
|
|
diagnostics = {
|
|
winopts = wide,
|
|
multiline = 1,
|
|
},
|
|
})
|
|
|
|
vim.keymap.set("n", "<leader>ff", fzf.files)
|
|
vim.keymap.set("n", "<leader>fr", fzf.oldfiles)
|
|
vim.keymap.set("n", "<leader>fg", fzf.live_grep)
|
|
vim.keymap.set("n", "<leader>fG", function()
|
|
fzf.live_grep({ cwd = vim.fn.expand("%:p:h") })
|
|
end)
|
|
vim.keymap.set("n", "<leader>fb", fzf.buffers)
|
|
vim.keymap.set("n", "<leader>fh", fzf.highlights)
|
|
vim.keymap.set("n", "gd", fzf.lsp_definitions)
|
|
vim.keymap.set("n", "grr", fzf.lsp_references)
|
|
vim.keymap.set("n", "gri", fzf.lsp_implementations)
|
|
vim.keymap.set("n", "grt", fzf.lsp_typedefs)
|
|
vim.keymap.set("n", "<leader>fd", fzf.diagnostics_document)
|
|
vim.keymap.set("n", "<leader>fD", fzf.diagnostics_workspace)
|