添加 diffview, 修改telescope 初次加载无法下载插件报错问题
This commit is contained in:
@ -2,6 +2,7 @@
|
|||||||
"blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" },
|
"blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" },
|
||||||
"cmake-tools.nvim": { "branch": "master", "commit": "98cdc162572a7b77733030425d8d045d68f2a1fd" },
|
"cmake-tools.nvim": { "branch": "master", "commit": "98cdc162572a7b77733030425d8d045d68f2a1fd" },
|
||||||
"conform.nvim": { "branch": "master", "commit": "619363c30309d29ffa631e67c8183f2a72caa373" },
|
"conform.nvim": { "branch": "master", "commit": "619363c30309d29ffa631e67c8183f2a72caa373" },
|
||||||
|
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "25050e4ed39e628282831d4cbecb1850454ce915" },
|
"gitsigns.nvim": { "branch": "main", "commit": "25050e4ed39e628282831d4cbecb1850454ce915" },
|
||||||
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
|
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "0a695750d747db1e7e70bcf0267ef8951c95fc83" },
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "0a695750d747db1e7e70bcf0267ef8951c95fc83" },
|
||||||
|
|||||||
35
nvim/lua/plugins/diffview.lua
Normal file
35
nvim/lua/plugins/diffview.lua
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
-- ============================================================================
|
||||||
|
-- Git diff 视图 (diffview)
|
||||||
|
-- 仓库级 diff 总览 + 提交历史对比,补充 gitsigns 的行内能力
|
||||||
|
-- ============================================================================
|
||||||
|
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"sindrets/diffview.nvim",
|
||||||
|
cmd = "DiffviewOpen",
|
||||||
|
keys = {
|
||||||
|
-- 只保留 3 个核心键位:打开/关闭 diff 视图、查看历史
|
||||||
|
{ "<leader>go", "<cmd>DiffviewOpen<cr>", desc = "查看改动" },
|
||||||
|
{ "<leader>gq", "<cmd>DiffviewClose<cr>", desc = "关闭 diff" },
|
||||||
|
{ "<leader>gl", "<cmd>DiffviewFileHistory %<cr>", desc = "文件历史" },
|
||||||
|
},
|
||||||
|
opts = {
|
||||||
|
file_panel = {
|
||||||
|
listing_style = "tree",
|
||||||
|
tree_options = {
|
||||||
|
flatten_dirs = true,
|
||||||
|
folder_statuses = "only_folded",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
keymaps = {
|
||||||
|
view = {
|
||||||
|
-- 覆盖全局 <leader>q:在 diffview 里关闭整个 diffview,而非单个窗口
|
||||||
|
{ "n", "<leader>q", "<cmd>DiffviewClose<cr>", { desc = "关闭 diffview" } },
|
||||||
|
},
|
||||||
|
file_panel = {
|
||||||
|
{ "n", "<leader>q", "<cmd>DiffviewClose<cr>", { desc = "关闭 diffview" } },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
@ -19,22 +19,29 @@ return {
|
|||||||
{ "<leader>fk", "<cmd>Telescope keymaps<cr>", desc = "查找键位" },
|
{ "<leader>fk", "<cmd>Telescope keymaps<cr>", desc = "查找键位" },
|
||||||
{ "<leader>fr", "<cmd>Telescope oldfiles<cr>", desc = "最近文件" },
|
{ "<leader>fr", "<cmd>Telescope oldfiles<cr>", desc = "最近文件" },
|
||||||
},
|
},
|
||||||
|
-- 启动即加载:ui-select 扩展需要全局接管 vim.ui.select,
|
||||||
|
-- 懒加载会导致未触发 :Telescope 时(如 <leader>rr)回退到原生 UI
|
||||||
|
lazy = false,
|
||||||
opts = {
|
opts = {
|
||||||
defaults = {
|
defaults = {
|
||||||
prompt_prefix = " > ",
|
prompt_prefix = " > ",
|
||||||
selection_caret = " > ",
|
selection_caret = " > ",
|
||||||
layout_strategy = "flex",
|
layout_strategy = "flex",
|
||||||
},
|
},
|
||||||
extensions = {
|
|
||||||
["ui-select"] = {
|
|
||||||
require("telescope.themes").get_dropdown({}),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
config = function(_, opts)
|
config = function(_, opts)
|
||||||
local telescope = require("telescope")
|
local telescope = require("telescope")
|
||||||
|
|
||||||
|
-- extensions 需要 require telescope.themes,必须在 config 里构造
|
||||||
|
opts.extensions = {
|
||||||
|
["ui-select"] = {
|
||||||
|
require("telescope.themes").get_dropdown({}),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
telescope.setup(opts)
|
telescope.setup(opts)
|
||||||
telescope.load_extension("ui-select")
|
-- 用 pcall 保护,避免 ui-select 扩展未安装时崩溃
|
||||||
|
pcall(telescope.load_extension, "ui-select")
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user