Add a harpoon indicator to your Neovim Lualine!
Important
Make sure to install harpoon2 , not harpoon on master
branch
- With lazy.nvim
{
"letieu/harpoon-lualine",
dependencies = {
{
"ThePrimeagen/harpoon",
branch = "harpoon2",
}
},
}
- With packer.nvim
use {
'letieu/harpoon-lualine',
opt = false,
requires = {{'ThePrimeagen/harpoon'}}
}
Add this to your Lualine setup:
lualine_c = { "harpoon2" },
Custom config
lualine_c = {
{
"harpoon2",
icon = '♥',
indicators = { "a", "s", "q", "w" },
active_indicators = { "A", "S", "Q", "W" },
color_active = { fg = "#00ff00" },
_separator = " ",
no_harpoon = "Harpoon not loaded",
},
}
Use function as indicator
-- harpoon_entry = {
-- context = { col = 0, row = 1 },
-- value = "init.lua"
-- }
local function get_harpoon_indicator(harpoon_entry)
return harpoon_entry.value
end
-- lualine setup
...
active_indicators = {
get_harpoon_indicator,
get_harpoon_indicator,
get_harpoon_indicator,
get_harpoon_indicator,
},
...
Bind harpoon mark to a
, s
, q
, w
and use Ctrl
+ a
, s
, q
, w
to jump to the mark.
vim.keymap.set("n", "<C-a>", function() harpoon:list():select(1) end)
vim.keymap.set("n", "<C-s>", function() harpoon:list():select(2) end)
vim.keymap.set("n", "<C-q>", function() harpoon:list():select(3) end)
vim.keymap.set("n", "<C-w>", function() harpoon:list():select(4) end)
View current marks with lualine
lualine_c = {
'%=', -- make the indicator center
{
"harpoon2",
indicators = { "a", "s", "q", "w" },
active_indicators = { "A", "S", "Q", "W" },
_separator = " ",
}
}
Enjoy!
Note: Customize indicator characters by editing the configuration.
Note: To center the indicator, add a %=
. For example: lualine_c = { "%=", "harpoon2"},
Thanks goes to these wonderful people (emoji key):
Taken 💻 |
Le Tieu 🚧 🤔 |
simachri 💻 |
Patrick Dewey 💻 |
Owen L. 💻 |
Nguyen Ngoc Minh Tu 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!