nvim-config/lua/plugins/telescope.lua
2025-01-03 20:09:04 +05:30

154 lines
4.8 KiB
Lua

return {
{
"nvim-telescope/telescope.nvim",
dependencies = {
"nvim-lua/plenary.nvim",
},
cmd = "Telescope",
keys = {
{
"<leader>ff",
function()
require("telescope.builtin").find_files()
end,
desc = "[ F ]ind files",
},
{
"<leader>fF",
function()
require("telescope.builtin").find_files({ hidden = true, no_ignore = true })
end,
desc = "[ F ]ind [ F ]iles",
},
{
"<leader>lg",
function()
require("telescope.builtin").live_grep()
end,
desc = "Live grep",
},
{
"<leader>gf",
function()
require("telescope.builtin").git_files()
end,
desc = "Live grep",
},
{
"<leader>gs",
function()
require("telescope.builtin").git_status()
end,
desc = "Live grep",
},
{
"<leader>fc",
function()
require("telescope.builtin").git_commits()
end,
desc = "Git Commits",
},
{
"<leader>of",
function()
require("telescope.builtin").oldfiles()
end,
desc = "[ O ]ld [ F ]iles",
},
{
"<leader>ds",
function()
require("telescope.builtin").lsp_document_symbols()
end,
desc = "[ D ]ocument [ S ]ymbols",
},
{
"<leader>wss",
function()
require("telescope.builtin").lsp_dynamic_workspace_symbols()
end,
desc = "[ W ]orkspace [ S ]ymbol[ s ]",
remap = true,
},
{
"<leader>lr",
function()
require("telescope.builtin").lsp_references()
end,
desc = "[L]ist [R]erefrences",
},
{
"<leader>ld",
function()
require("telescope.builtin").diagnostics()
end,
desc = "[ L ]ist [ D ]iagnostics",
},
{
"<leader>li",
function()
require("telescope.builtin").lsp_implementations()
end,
desc = "[ L ]ist [ I ]mplementation",
},
{
"<leader>ldi",
function()
require("telescope.builtin").lsp_definitions()
end,
desc = "[ L ]ist [ D ]ef[ i ]nitions",
},
},
config = function(_, opts)
local telescope = require("telescope")
telescope.setup({
defaults = {
prompt_prefix = "",
selection_caret = "",
sorting_strategy = "ascending",
path_display = {
"smart",
},
layout_config = {
horizontal = {
prompt_position = "top",
width = 0.75,
height = 0.65,
preview_width = 0.6,
},
},
mappings = {
i = {
["<C-k>"] = function(...)
require("telescope.actions").move_selection_previous(...)
end,
["<C-j>"] = function(...)
require("telescope.actions").move_selection_next(...)
end,
["<c-t>"] = function(...)
require("trouble.providers.telescope").open_with_trouble(...)
end,
},
n = {
q = function(...)
require("telescope.actions").close(...)
end,
["<c-t>"] = function(...)
require("trouble.providers.telescope").open_with_trouble(...)
end,
},
},
},
})
telescope.load_extension("tnf")
end,
},
}