Files
dotfiles/nvim/lua/plugins/telescope.lua
T

48 lines
1.9 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- ============================================================================
-- 模糊搜索 (telescope)
-- ============================================================================
return {
{
"nvim-telescope/telescope.nvim",
branch = "0.1.x",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-telescope/telescope-ui-select.nvim",
},
cmd = "Telescope",
keys = {
{ "<leader>ff", "<cmd>Telescope find_files<cr>", desc = "查找文件" },
{ "<leader>fg", "<cmd>Telescope live_grep<cr>", desc = "全局搜索" },
{ "<leader>fb", "<cmd>Telescope buffers<cr>", desc = "切换缓冲区" },
{ "<leader>fh", "<cmd>Telescope help_tags<cr>", desc = "帮助文档" },
{ "<leader>fk", "<cmd>Telescope keymaps<cr>", desc = "查找键位" },
{ "<leader>fr", "<cmd>Telescope oldfiles<cr>", desc = "最近文件" },
},
-- 启动即加载:ui-select 扩展需要全局接管 vim.ui.select
-- 懒加载会导致未触发 :Telescope 时(如 <leader>rr)回退到原生 UI
lazy = false,
opts = {
defaults = {
prompt_prefix = " > ",
selection_caret = " > ",
layout_strategy = "flex",
},
},
config = function(_, opts)
local telescope = require("telescope")
-- extensions 需要 require telescope.themes,必须在 config 里构造
opts.extensions = {
["ui-select"] = {
require("telescope.themes").get_dropdown({}),
},
}
telescope.setup(opts)
-- 用 pcall 保护,避免 ui-select 扩展未安装时崩溃
pcall(telescope.load_extension, "ui-select")
end,
},
}