Skip to content

letieu/harpoon-lualine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Harpoon Lualine Plugin

Screenshot 2024-03-15 at 12 47 08 PM

Add a harpoon indicator to your Neovim Lualine!

Features

Important

Make sure to install harpoon2 , not harpoon on master branch

Installation

  • With lazy.nvim
  {
    "letieu/harpoon-lualine",
    dependencies = {
      {
        "ThePrimeagen/harpoon",
        branch = "harpoon2",
      }
    },
  }
  • With packer.nvim
  use {
    'letieu/harpoon-lualine',
    opt = false,
    requires = {{'ThePrimeagen/harpoon'}}
  }

Usage

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

How I use harpoon 💡

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

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Taken
Taken

💻
Le Tieu
Le Tieu

🚧 🤔
simachri
simachri

💻
Patrick Dewey
Patrick Dewey

💻
Owen L.
Owen L.

💻
Nguyen Ngoc Minh Tu
Nguyen Ngoc Minh Tu

💻

This project follows the all-contributors specification. Contributions of any kind welcome!