.dotfiles/home/.config/nvim/lua/plugs/telescope.lua

155 lines
5.8 KiB
Lua

return {
"nvim-telescope/telescope.nvim",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-telescope/telescope-fzf-native.nvim",
},
config = function()
local actions = require("telescope.actions")
require("telescope").setup({
pickers = {
buffers = {
mappings = {
i = {
["<CR>"] = actions.select_drop,
},
n = {
["<CR>"] = actions.select_drop,
}
}
},
find_files = {
mappings = {
i = {
["<CR>"] = actions.select_drop,
},
n = {
["<CR>"] = actions.select_drop,
}
}
},
git_files = {
mappings = {
i = {
["<CR>"] = actions.select_drop,
},
n = {
["<CR>"] = actions.select_drop,
}
}
},
old_files = {
mappings = {
i = {
["<CR>"] = actions.select_drop,
},
n = {
["<CR>"] = actions.select_drop,
}
}
},
}
})
require("telescope").load_extension("fzf")
local dropdown_theme = require('telescope.themes').get_dropdown({
-- results_height = 50,
width = 0.2,
winblend = 20,
prompt_title = "",
borderchars = {
{ "", "", "", "", "", "", "", "" },
prompt = { "", "", "", "", "", "", "", "" },
results = { "", "", "", "", "", "", "", "" },
preview = { "", "", "", "", "", "", "", "" },
}
})
local builtin = require("telescope.builtin")
require("utils").add_keymaps({
n = {
-- File search
["<leader>to"] = {
cmd = function()
dropdown_theme.prompt_prefix = "Files>"
dropdown_theme.previewer = false
dropdown_theme.find_command = nil
builtin.find_files(dropdown_theme)
end,
},
["<leader>tf"] = {
cmd = function()
dropdown_theme.prompt_prefix = "Find>"
dropdown_theme.previewer = true
dropdown_theme.find_command = nil
builtin.current_buffer_fuzzy_find(dropdown_theme)
end,
},
["<leader>ta"] = {
-- cmd = ":lua require('telescope.builtin').live_grep({find_command=rg,--ignore-file,.gitignore,--exclude,*.git,--exclude,*.svn,--exclude,*.vs,--exclude,*.idea}) <CR>",
cmd = function()
dropdown_theme.prompt_prefix = "Grep>"
dropdown_theme.previewer = true
dropdown_theme.find_command = {
find_command = "rg",
"--ignore-file",
".gitignore",
"--exclude",
"*.git",
"--exclude",
"*.svn",
"--exclude",
"*.vs",
"--exclude",
"*.idea",
}
builtin.live_grep(dropdown_theme)
end,
},
-- Git
["<leader>gl"] = {
cmd = function()
dropdown_theme.prompt_prefix = "Log>"
dropdown_theme.previewer = true
dropdown_theme.find_command = nil
builtin.git_commits(dropdown_theme)
end,
},
["<leader>gs"] = {
cmd = function()
dropdown_theme.prompt_prefix = "Status>"
dropdown_theme.previewer = true
dropdown_theme.find_command = nil
builtin.git_status(dropdown_theme)
end,
},
["<leader>gh"] = {
cmd = function()
dropdown_theme.prompt_prefix = "History>"
dropdown_theme.previewer = true
dropdown_theme.find_command = nil
builtin.git_bcommits(dropdown_theme)
end,
},
["<leader>gb"] = {
cmd = function()
dropdown_theme.prompt_prefix = "Branches>"
dropdown_theme.previewer = true
dropdown_theme.find_command = nil
builtin.git_branches(dropdown_theme)
end,
},
-- Misc
["<leader>tb"] = {
cmd = function()
dropdown_theme.prompt_prefix = "Marks>"
dropdown_theme.previewer = true
dropdown_theme.find_command = nil
builtin.marks(dropdown_theme)
end,
}
}
})
end,
}