mirror of
https://github.com/nvim-lua/kickstart.nvim.git
synced 2025-06-23 21:58:36 +02:00
add harpoon, inline_blame and clean keymap
This commit is contained in:
parent
41e7418c01
commit
ed1bf977c0
4 changed files with 872 additions and 817 deletions
59
lua/custom/plugins/harpoon.lua
Normal file
59
lua/custom/plugins/harpoon.lua
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
return {
|
||||||
|
'ThePrimeagen/harpoon',
|
||||||
|
dependencies = { 'nvim-lua/plenary.nvim' },
|
||||||
|
branch = 'harpoon2',
|
||||||
|
config = function()
|
||||||
|
local harpoon = require 'harpoon'
|
||||||
|
harpoon:setup {
|
||||||
|
settings = {
|
||||||
|
save_on_toggle = true,
|
||||||
|
save_on_ui_close = true,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
vim.keymap.set('n', '<leader>a', function()
|
||||||
|
harpoon:list():add()
|
||||||
|
end, { desc = 'Add file to Harpoon' })
|
||||||
|
vim.keymap.set('n', '<leader>H', function()
|
||||||
|
harpoon.ui:toggle_quick_menu(harpoon:list())
|
||||||
|
end, { desc = 'Open Harpoon Window' })
|
||||||
|
vim.keymap.set('n', '<leader>1', function()
|
||||||
|
harpoon:list():select(1)
|
||||||
|
end, { desc = 'Open Harpoon File 1' })
|
||||||
|
vim.keymap.set('n', '<leader>2', function()
|
||||||
|
harpoon:list():select(2)
|
||||||
|
end, { desc = 'Open Harpoon File 2' })
|
||||||
|
vim.keymap.set('n', '<leader>3', function()
|
||||||
|
harpoon:list():select(3)
|
||||||
|
end, { desc = 'Open Harpoon File 3' })
|
||||||
|
vim.keymap.set('n', '<leader>4', function()
|
||||||
|
harpoon:list():select(4)
|
||||||
|
end, { desc = 'Open Harpoon File 4' })
|
||||||
|
vim.keymap.set('n', '<leader>5', function()
|
||||||
|
harpoon:list():select(5)
|
||||||
|
end, { desc = 'Open Harpoon File 5' })
|
||||||
|
|
||||||
|
-- Telescope Setup
|
||||||
|
local conf = require('telescope.config').values
|
||||||
|
local function toggle_telescope(harpoon_files)
|
||||||
|
local file_paths = {}
|
||||||
|
for _, item in ipairs(harpoon_files.items) do
|
||||||
|
table.insert(file_paths, item.value)
|
||||||
|
end
|
||||||
|
|
||||||
|
require('telescope.pickers')
|
||||||
|
.new({}, {
|
||||||
|
prompt_title = 'Harpoon',
|
||||||
|
finder = require('telescope.finders').new_table {
|
||||||
|
results = file_paths,
|
||||||
|
},
|
||||||
|
previewer = conf.file_previewer {},
|
||||||
|
sorter = conf.generic_sorter {},
|
||||||
|
})
|
||||||
|
:find()
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.keymap.set('n', '<leader-fh>', function()
|
||||||
|
toggle_telescope(harpoon:list())
|
||||||
|
end, { desc = 'Open Telescope Harpoon Window' })
|
||||||
|
end,
|
||||||
|
}
|
17
lua/custom/plugins/inline_blame.lua
Normal file
17
lua/custom/plugins/inline_blame.lua
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
return {
|
||||||
|
'f-person/git-blame.nvim',
|
||||||
|
-- load the plugin at startup
|
||||||
|
event = 'VeryLazy',
|
||||||
|
-- Because of the keys part, you will be lazy loading this plugin.
|
||||||
|
-- The plugin will only load once one of the keys is used.
|
||||||
|
-- If you want to load the plugin at startup, add something like event = "VeryLazy",
|
||||||
|
-- or lazy = false. One of both options will work.
|
||||||
|
opts = {
|
||||||
|
-- your configuration comes here
|
||||||
|
-- for example
|
||||||
|
enabled = true, -- if you want to enable the plugin
|
||||||
|
message_template = ' <summary> • <date> • <author> • <<sha>>', -- template for the blame message, check the Message template section for more options
|
||||||
|
date_format = '%m-%d-%Y %H:%M:%S', -- template for the date, check Date format section for more options
|
||||||
|
virtual_text_column = 1, -- virtual text start column, check Start virtual text at column section for more options
|
||||||
|
},
|
||||||
|
}
|
|
@ -1,48 +1,48 @@
|
||||||
---@module "neominimap.config.meta"
|
---@module "neominimap.config.meta"
|
||||||
return {
|
return {
|
||||||
"Isrothy/neominimap.nvim",
|
'Isrothy/neominimap.nvim',
|
||||||
version = "v3.x.x",
|
version = 'v3.x.x',
|
||||||
lazy = false, -- NOTE: NO NEED to Lazy load
|
lazy = false, -- NOTE: NO NEED to Lazy load
|
||||||
-- Optional. You can alse set your own keybindings
|
-- Optional. You can alse set your own keybindings
|
||||||
keys = {
|
keys = {
|
||||||
-- Global Minimap Controls
|
-- Global Minimap Controls
|
||||||
{ "<leader>nm", "<cmd>Neominimap toggle<cr>", desc = "Toggle global minimap" },
|
{ '<leader>tm', '<cmd>Neominimap toggle<cr>', desc = 'Toggle global minimap' },
|
||||||
{ "<leader>no", "<cmd>Neominimap on<cr>", desc = "Enable global minimap" },
|
-- { "<leader>no", "<cmd>Neominimap on<cr>", desc = "Enable global minimap" },
|
||||||
{ "<leader>nc", "<cmd>Neominimap off<cr>", desc = "Disable global minimap" },
|
-- { "<leader>nc", "<cmd>Neominimap off<cr>", desc = "Disable global minimap" },
|
||||||
{ "<leader>nr", "<cmd>Neominimap refresh<cr>", desc = "Refresh global minimap" },
|
-- { "<leader>nr", "<cmd>Neominimap refresh<cr>", desc = "Refresh global minimap" },
|
||||||
|
--
|
||||||
|
-- -- Window-Specific Minimap Controls
|
||||||
|
-- { "<leader>nwt", "<cmd>Neominimap winToggle<cr>", desc = "Toggle minimap for current window" },
|
||||||
|
-- { "<leader>nwr", "<cmd>Neominimap winRefresh<cr>", desc = "Refresh minimap for current window" },
|
||||||
|
-- { "<leader>nwo", "<cmd>Neominimap winOn<cr>", desc = "Enable minimap for current window" },
|
||||||
|
-- { "<leader>nwc", "<cmd>Neominimap winOff<cr>", desc = "Disable minimap for current window" },
|
||||||
|
--
|
||||||
|
-- -- Tab-Specific Minimap Controls
|
||||||
|
-- { "<leader>ntt", "<cmd>Neominimap tabToggle<cr>", desc = "Toggle minimap for current tab" },
|
||||||
|
-- { "<leader>ntr", "<cmd>Neominimap tabRefresh<cr>", desc = "Refresh minimap for current tab" },
|
||||||
|
-- { "<leader>nto", "<cmd>Neominimap tabOn<cr>", desc = "Enable minimap for current tab" },
|
||||||
|
-- { "<leader>ntc", "<cmd>Neominimap tabOff<cr>", desc = "Disable minimap for current tab" },
|
||||||
|
--
|
||||||
|
-- -- Buffer-Specific Minimap Controls
|
||||||
|
-- { "<leader>nbt", "<cmd>Neominimap bufToggle<cr>", desc = "Toggle minimap for current buffer" },
|
||||||
|
-- { "<leader>nbr", "<cmd>Neominimap bufRefresh<cr>", desc = "Refresh minimap for current buffer" },
|
||||||
|
-- { "<leader>nbo", "<cmd>Neominimap bufOn<cr>", desc = "Enable minimap for current buffer" },
|
||||||
|
-- { "<leader>nbc", "<cmd>Neominimap bufOff<cr>", desc = "Disable minimap for current buffer" },
|
||||||
|
--
|
||||||
|
-- ---Focus Controls
|
||||||
|
-- { "<leader>nf", "<cmd>Neominimap focus<cr>", desc = "Focus on minimap" },
|
||||||
|
-- { "<leader>nu", "<cmd>Neominimap unfocus<cr>", desc = "Unfocus minimap" },
|
||||||
|
-- { "<leader>ns", "<cmd>Neominimap toggleFocus<cr>", desc = "Switch focus on minimap" },
|
||||||
|
},
|
||||||
|
init = function()
|
||||||
|
-- The following options are recommended when layout == "float"
|
||||||
|
vim.opt.wrap = false
|
||||||
|
vim.opt.sidescrolloff = 36 -- Set a large value
|
||||||
|
|
||||||
-- Window-Specific Minimap Controls
|
--- Put your configuration here
|
||||||
{ "<leader>nwt", "<cmd>Neominimap winToggle<cr>", desc = "Toggle minimap for current window" },
|
---@type Neominimap.UserConfig
|
||||||
{ "<leader>nwr", "<cmd>Neominimap winRefresh<cr>", desc = "Refresh minimap for current window" },
|
vim.g.neominimap = {
|
||||||
{ "<leader>nwo", "<cmd>Neominimap winOn<cr>", desc = "Enable minimap for current window" },
|
auto_enable = true,
|
||||||
{ "<leader>nwc", "<cmd>Neominimap winOff<cr>", desc = "Disable minimap for current window" },
|
}
|
||||||
|
end,
|
||||||
-- Tab-Specific Minimap Controls
|
|
||||||
{ "<leader>ntt", "<cmd>Neominimap tabToggle<cr>", desc = "Toggle minimap for current tab" },
|
|
||||||
{ "<leader>ntr", "<cmd>Neominimap tabRefresh<cr>", desc = "Refresh minimap for current tab" },
|
|
||||||
{ "<leader>nto", "<cmd>Neominimap tabOn<cr>", desc = "Enable minimap for current tab" },
|
|
||||||
{ "<leader>ntc", "<cmd>Neominimap tabOff<cr>", desc = "Disable minimap for current tab" },
|
|
||||||
|
|
||||||
-- Buffer-Specific Minimap Controls
|
|
||||||
{ "<leader>nbt", "<cmd>Neominimap bufToggle<cr>", desc = "Toggle minimap for current buffer" },
|
|
||||||
{ "<leader>nbr", "<cmd>Neominimap bufRefresh<cr>", desc = "Refresh minimap for current buffer" },
|
|
||||||
{ "<leader>nbo", "<cmd>Neominimap bufOn<cr>", desc = "Enable minimap for current buffer" },
|
|
||||||
{ "<leader>nbc", "<cmd>Neominimap bufOff<cr>", desc = "Disable minimap for current buffer" },
|
|
||||||
|
|
||||||
---Focus Controls
|
|
||||||
{ "<leader>nf", "<cmd>Neominimap focus<cr>", desc = "Focus on minimap" },
|
|
||||||
{ "<leader>nu", "<cmd>Neominimap unfocus<cr>", desc = "Unfocus minimap" },
|
|
||||||
{ "<leader>ns", "<cmd>Neominimap toggleFocus<cr>", desc = "Switch focus on minimap" },
|
|
||||||
},
|
|
||||||
init = function()
|
|
||||||
-- The following options are recommended when layout == "float"
|
|
||||||
vim.opt.wrap = false
|
|
||||||
vim.opt.sidescrolloff = 36 -- Set a large value
|
|
||||||
|
|
||||||
--- Put your configuration here
|
|
||||||
---@type Neominimap.UserConfig
|
|
||||||
vim.g.neominimap = {
|
|
||||||
auto_enable = true,
|
|
||||||
}
|
|
||||||
end,
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue