86 lines
2.7 KiB
Lua
86 lines
2.7 KiB
Lua
#! /usr/bin/env lua
|
|
--
|
|
-- telescope.lua
|
|
-- Copyright (C) 2024 veypi <i@veypi.com>
|
|
--
|
|
-- Distributed under terms of the GPL license.
|
|
--
|
|
|
|
|
|
return {
|
|
"nvim-telescope/telescope.nvim",
|
|
opts = function()
|
|
local actions = require("telescope.actions")
|
|
|
|
local open_with_trouble = function(...)
|
|
return require("trouble.sources.telescope").open(...)
|
|
end
|
|
local find_files_no_ignore = function()
|
|
local action_state = require("telescope.actions.state")
|
|
local line = action_state.get_current_line()
|
|
LazyVim.pick("find_files", { no_ignore = true, default_text = line })()
|
|
end
|
|
local find_files_with_hidden = function()
|
|
local action_state = require("telescope.actions.state")
|
|
local line = action_state.get_current_line()
|
|
LazyVim.pick("find_files", { hidden = true, default_text = line })()
|
|
end
|
|
|
|
local function find_command()
|
|
if 1 == vim.fn.executable("rg") then
|
|
return { "rg", "--files", "--color", "never", "-g", "!.git" }
|
|
elseif 1 == vim.fn.executable("fd") then
|
|
return { "fd", "--type", "f", "--color", "never", "-E", ".git" }
|
|
elseif 1 == vim.fn.executable("fdfind") then
|
|
return { "fdfind", "--type", "f", "--color", "never", "-E", ".git" }
|
|
elseif 1 == vim.fn.executable("find") and vim.fn.has("win32") == 0 then
|
|
return { "find", ".", "-type", "f" }
|
|
elseif 1 == vim.fn.executable("where") then
|
|
return { "where", "/r", ".", "*" }
|
|
end
|
|
end
|
|
|
|
return {
|
|
defaults = {
|
|
file_ignore_patterns = { "public" },
|
|
prompt_prefix = " ",
|
|
selection_caret = " ",
|
|
-- open files in the first window that is an actual file.
|
|
-- use the current window if no other window is available.
|
|
get_selection_window = function()
|
|
local wins = vim.api.nvim_list_wins()
|
|
table.insert(wins, 1, vim.api.nvim_get_current_win())
|
|
for _, win in ipairs(wins) do
|
|
local buf = vim.api.nvim_win_get_buf(win)
|
|
if vim.bo[buf].buftype == "" then
|
|
return win
|
|
end
|
|
end
|
|
return 0
|
|
end,
|
|
mappings = {
|
|
i = {
|
|
["<c-t>"] = open_with_trouble,
|
|
["<a-t>"] = open_with_trouble,
|
|
["<a-i>"] = find_files_no_ignore,
|
|
["<a-h>"] = find_files_with_hidden,
|
|
["<C-Down>"] = actions.cycle_history_next,
|
|
["<C-Up>"] = actions.cycle_history_prev,
|
|
["<C-f>"] = actions.preview_scrolling_down,
|
|
["<C-b>"] = actions.preview_scrolling_up,
|
|
},
|
|
n = {
|
|
["q"] = actions.close,
|
|
},
|
|
},
|
|
},
|
|
pickers = {
|
|
find_files = {
|
|
find_command = find_command,
|
|
hidden = true,
|
|
},
|
|
},
|
|
}
|
|
end
|
|
}
|