add harpoon, inline_blame and clean keymap

This commit is contained in:
khaydarov 2025-04-13 01:34:36 +05:00
parent 41e7418c01
commit ed1bf977c0
4 changed files with 872 additions and 817 deletions

1525
init.lua

File diff suppressed because it is too large Load diff

View 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,
}

View 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
},
}

View file

@ -1,48 +1,48 @@
---@module "neominimap.config.meta"
return {
"Isrothy/neominimap.nvim",
version = "v3.x.x",
lazy = false, -- NOTE: NO NEED to Lazy load
-- Optional. You can alse set your own keybindings
keys = {
-- Global Minimap Controls
{ "<leader>nm", "<cmd>Neominimap toggle<cr>", desc = "Toggle global minimap" },
{ "<leader>no", "<cmd>Neominimap on<cr>", desc = "Enable global minimap" },
{ "<leader>nc", "<cmd>Neominimap off<cr>", desc = "Disable global minimap" },
{ "<leader>nr", "<cmd>Neominimap refresh<cr>", desc = "Refresh global minimap" },
'Isrothy/neominimap.nvim',
version = 'v3.x.x',
lazy = false, -- NOTE: NO NEED to Lazy load
-- Optional. You can alse set your own keybindings
keys = {
-- Global Minimap Controls
{ '<leader>tm', '<cmd>Neominimap toggle<cr>', desc = 'Toggle global minimap' },
-- { "<leader>no", "<cmd>Neominimap on<cr>", desc = "Enable global minimap" },
-- { "<leader>nc", "<cmd>Neominimap off<cr>", desc = "Disable 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
{ "<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
--- Put your configuration here
---@type Neominimap.UserConfig
vim.g.neominimap = {
auto_enable = true,
}
end,
--- Put your configuration here
---@type Neominimap.UserConfig
vim.g.neominimap = {
auto_enable = true,
}
end,
}