Fixed for new invocation usage and removed deprecated commands. Added telescope functionality (to push results into trouble) though I am not quite happy with the close coupling yet. Have not found an easy way to only have this mapping be created if trouble exists.
153 lines
3.6 KiB
Lua
153 lines
3.6 KiB
Lua
return {
|
|
-- fuzzy matching
|
|
{
|
|
"nvim-telescope/telescope.nvim",
|
|
dependencies = {
|
|
"nvim-lua/popup.nvim",
|
|
"nvim-lua/plenary.nvim",
|
|
{ "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
|
|
},
|
|
cmd = "Telescope",
|
|
config = function()
|
|
if require("core.util").is_available("which-key") then
|
|
require("which-key").register({ ["<leader>f"] = { name = "+find" } })
|
|
end
|
|
-- Setup up telescope fuzzy finding settings
|
|
--
|
|
-- Makes use of optionally installed external programs to work fully:
|
|
-- rg (ripgrep) for in-text searches
|
|
-- fd for quicker directory structure searches
|
|
-- lsp for a variety of lsp queries
|
|
require("telescope").setup({
|
|
defaults = {
|
|
vimgrep_arguments = {
|
|
"rg",
|
|
"--ignore-vcs",
|
|
"--hidden",
|
|
"--color=never",
|
|
"--no-heading",
|
|
"--with-filename",
|
|
"--line-number",
|
|
"--column",
|
|
"--smart-case",
|
|
},
|
|
generic_sorter = require("mini.fuzzy").get_telescope_sorter,
|
|
-- Appearance
|
|
prompt_prefix = " ",
|
|
selection_caret = " ",
|
|
color_devicons = true,
|
|
mappings = {
|
|
-- FIXME Find way to only invoke this *IF* trouble plugin is found
|
|
i = { ["<c-t>"] = require("trouble.sources.telescope").open },
|
|
n = { ["<c-t>"] = require("trouble.sources.telescope").open },
|
|
}
|
|
},
|
|
pickers = {
|
|
buffers = { theme = "ivy" },
|
|
oldfiles = { theme = "ivy" },
|
|
find_files = {
|
|
theme = "dropdown",
|
|
-- nice minimal picker design
|
|
borderchars = {
|
|
{ "─", "│", "─", "│", "┌", "┐", "┘", "└" },
|
|
prompt = { "─", "│", " ", "│", "┌", "┐", "│", "│" },
|
|
results = { "─", "│", "─", "│", "├", "┤", "┘", "└" },
|
|
preview = { "─", "│", "─", "│", "┌", "┐", "┘", "└" },
|
|
},
|
|
width = 0.8,
|
|
previewer = false,
|
|
prompt_title = false,
|
|
},
|
|
},
|
|
})
|
|
require("telescope").load_extension("fzf")
|
|
end,
|
|
keys = {
|
|
{
|
|
"<leader>vh",
|
|
function()
|
|
require("telescope.builtin").help_tags()
|
|
end,
|
|
desc = "help tags",
|
|
},
|
|
{
|
|
"<leader>vH",
|
|
function()
|
|
require("telescope.builtin").man_pages()
|
|
end,
|
|
desc = "man pages",
|
|
},
|
|
{
|
|
"<leader>vC",
|
|
function()
|
|
require("telescope.builtin").colorscheme(require("telescope.themes").get_ivy())
|
|
end,
|
|
desc = "colorschemes" ,
|
|
},
|
|
|
|
{
|
|
"<leader>fb",
|
|
function()
|
|
require("telescope.builtin").buffers(require("telescope.themes").get_ivy())
|
|
end,
|
|
desc = "list buffers",
|
|
},
|
|
{
|
|
"<leader>fo",
|
|
function()
|
|
require("telescope.builtin").oldfiles(require("telescope.themes").get_ivy())
|
|
end,
|
|
desc = "list old files",
|
|
},
|
|
{
|
|
"<leader>ff",
|
|
function()
|
|
require("telescope.builtin").find_files()
|
|
end,
|
|
desc = "find files",
|
|
},
|
|
{
|
|
"<leader>fh",
|
|
function()
|
|
require("telescope.builtin").find_files({ hidden = true })
|
|
end,
|
|
desc = "find hidden files",
|
|
},
|
|
{
|
|
"<leader>fw",
|
|
function()
|
|
require("telescope.builtin").live_grep()
|
|
end,
|
|
desc = "grep search",
|
|
},
|
|
{
|
|
"<leader>fg",
|
|
function()
|
|
require("telescope.builtin").git_status()
|
|
end,
|
|
desc = "git status",
|
|
},
|
|
{
|
|
"<leader>fc",
|
|
function()
|
|
require("telescope.builtin").git_bcommits()
|
|
end,
|
|
desc = "git buffer commits",
|
|
},
|
|
{
|
|
"<leader>fl",
|
|
function()
|
|
require("telescope.builtin").git_commits()
|
|
end,
|
|
desc = "git commit log",
|
|
},
|
|
{
|
|
"z=",
|
|
function()
|
|
require("telescope.builtin").spell_suggest(require("telescope.themes").get_ivy())
|
|
end,
|
|
desc = "spell suggest",
|
|
},
|
|
},
|
|
},
|
|
}
|