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

48 lines
1.9 KiB
Lua
Raw Permalink 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,
},
}