From bad8b22a3bb935d46edd1b633bf8b4207eb0bdec Mon Sep 17 00:00:00 2001
From: Oliver Davies <oliver@oliverdavies.uk>
Date: Mon, 11 Dec 2023 17:45:36 +0000
Subject: [PATCH] Upgrade to Harpoon 2

---
 config/neovim/after/plugin/harpoon.lua | 27 ++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/config/neovim/after/plugin/harpoon.lua b/config/neovim/after/plugin/harpoon.lua
index 883bdf38..4705cf3a 100644
--- a/config/neovim/after/plugin/harpoon.lua
+++ b/config/neovim/after/plugin/harpoon.lua
@@ -1,23 +1,26 @@
-local status_ok, harpoon = pcall(require, "harpoon")
-if not status_ok then
-  return
-end
-
+local harpoon = require "harpoon"
 local nmap = require("opdavies.keymap").nmap
 
-harpoon.setup {}
+harpoon:setup()
 
-nmap { "<M-h><M-l>", require("harpoon.ui").toggle_quick_menu }
-nmap { "<M-h><M-m>", require("harpoon.mark").add_file }
-
-nmap { "<leader>hl", require("harpoon.ui").toggle_quick_menu }
-nmap { "<leader>hm", require("harpoon.mark").add_file }
+nmap {
+  "<leader>hl",
+  function()
+    harpoon.ui:toggle_quick_menu(harpoon:list())
+  end,
+}
+nmap {
+  "<leader>hm",
+  function()
+    harpoon:list():append()
+  end,
+}
 
 for i = 1, 5 do
   nmap {
     string.format("<space>%s", i),
     function()
-      require("harpoon.ui").nav_file(i)
+      harpoon:list():select(i)
     end,
   }
 end