From 5ea065f97fbc4340b934033bb9642bc18a188f32 Mon Sep 17 00:00:00 2001 From: Kristofers Solo Date: Wed, 21 May 2025 12:17:06 +0300 Subject: [PATCH] docs: add readme --- README.md | 93 ++++++++++++++++++++++++++++ assets/img/2025-05-21_12-16-25.webp | Bin 0 -> 3316 bytes 2 files changed, 93 insertions(+) create mode 100644 README.md create mode 100644 assets/img/2025-05-21_12-16-25.webp diff --git a/README.md b/README.md new file mode 100644 index 0000000..54c1e5f --- /dev/null +++ b/README.md @@ -0,0 +1,93 @@ +# lualine-harpoon.nvim + +![[assets/img/2025-05-21_12-16-25.webp]] + +A tiny [Lualine](https://github.com/nvim-lualine/lualine.nvim) component for +[ThePrimeagen/harpoon2](https://github.com/ThePrimeagen/harpoon). +Displays your current Harpoon mark as `[x/y]` in your statusline. + +## Requirements + +- Neovim 0.8+ +- [nvim-lualine/lualine.nvim](https://github.com/nvim-lualine/lualine.nvim) +- [ThePrimeagen/harpoon](https://github.com/ThePrimeagen/harpoon) (harpoon2 branch) +- [nvim-lua/plenary.nvim](https://github.com/nvim-lua/plenary.nvim) + +> [!IMPORTANT] +> Make sure to install [harpoon2](https://github.com/ThePrimeagen/harpoon/tree/harpoon2), not harpoon on `master` branch. + +## Installation + +### Using lazy.nvim + +```lua +{ + "nvim-lualine/lualine.nvim", + dependencies = { + "kristoferssolo/lualine-harpoon.nvim", + dependencies = { + { "ThePrimeagen/harpoon", branch = "harpoon2" } + "nvim-lua/plenary.nvim", + }, + }, +} +``` + +## Basic Usage + +Once installed, simply add `"harpoon"` to your `lualine.setup` sections. +Lualine will auto-load `lua/lualine/components/harpoon.lua` for you: + +```lua +require("lualine").setup({ + sections = { + lualine_c = { + "harpoon", + }, + }, +}) +``` + +When you have Harpoon marks, you’ll see an indicator like `[2/5]` in your statusline. + +## Configuration + +You can override plugin-wide defaults **before** calling `lualine.setup`: + +```lua +-- default configs +require("lualine-harpoon").setup({ + symbol = { + open = "[", + close = "]", + separator = "/", + unknown = "?", + }, + icon = "󰀱", +}) +``` + +### Per-component Overrides + +You can also pass options directly in your Lualine sections: + +```lua +require("lualine").setup({ + sections = { + lualine_c = { + { + "harpoon", + symbol = { open = "<", close = ">" }, + }, + }, + }, +}) +``` + +## Acknowledgments and alternatives + +This plugin was inspired by and serves as an alternative to [letieu/harpoon-lualine](https://github.com/letieu/harpoon-lualine). + +## License + +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. diff --git a/assets/img/2025-05-21_12-16-25.webp b/assets/img/2025-05-21_12-16-25.webp new file mode 100644 index 0000000000000000000000000000000000000000..c14e00063d287994f5bdc2ea41f5d0b1ac9506bd GIT binary patch literal 3316 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