feat: fennelize harpoon

This commit is contained in:
Youwen Wu 2025-02-01 14:29:06 -08:00
parent bfc960ff3b
commit b76c23ac41
Signed by: youwen5
GPG key ID: 865658ED1FE61EC3
2 changed files with 79 additions and 77 deletions

47
fnl/plugins/harpoon.fnl Normal file
View file

@ -0,0 +1,47 @@
{1 :harpoon2
:after (fn [] (: (require :harpoon) :setup))
:keys [{1 :<leader>a
2 (fn []
(: (: (require :harpoon) :list) :add))
:desc "Add to harpoon"
:mode :n}
{1 :<C-h><C-a>
2 (fn []
(: (: (require :harpoon) :list) :select 1))
:desc "Select harpoon 1"
:mode :n}
{1 :<C-h><C-s>
2 (fn []
(: (: (require :harpoon) :list) :select 2))
:desc "Select harpoon 2"
:mode :n}
{1 :<C-h><C-d>
2 (fn []
(: (: (require :harpoon) :list) :select 3))
:desc "Select harpoon 3"
:mode :n}
{1 :<C-h><C-f>
2 (fn []
(: (: (require :harpoon) :list) :select 4))
:desc "Select harpoon 4"
:mode :n}
{1 :<C-h><C-h>
2 (fn []
((. (require :lz.n) :trigger_load) :telescope.nvim)
(local conf (. (require :telescope.config) :values))
(fn toggle-telescope [harpoon-files]
(local file-paths {})
(each [_ item (ipairs harpoon-files.items)]
(table.insert file-paths item.value))
(: ((. (require :telescope.pickers) :new) {}
{:finder ((. (require :telescope.finders)
:new_table) {:results file-paths})
:previewer (conf.file_previewer {})
:prompt_title :Harpoon
:sorter (conf.generic_sorter {})})
:find))
(toggle-telescope (: (require :harpoon) :list)))
:desc "toggle harpoon menu"
:mode :n}]}

109
lua/plugins/harpoon.lua generated
View file

@ -1,77 +1,32 @@
return { -- [nfnl] Compiled from ./fnl/plugins/harpoon.fnl by https://github.com/Olical/nfnl, do not edit.
"harpoon2", local function _1_()
after = function() return require("harpoon"):setup()
require("harpoon"):setup() end
end, local function _2_()
keys = { return require("harpoon"):list():add()
{ end
"<leader>a", local function _3_()
function() return require("harpoon"):list():select(1)
require("harpoon"):list():add() end
end, local function _4_()
desc = "Add to harpoon", return require("harpoon"):list():select(2)
mode = "n", end
}, local function _5_()
{ return require("harpoon"):list():select(3)
"<C-h><C-a>", end
function() local function _6_()
require("harpoon"):list():select(1) return require("harpoon"):list():select(4)
end, end
desc = "Select harpoon 1", local function _7_()
mode = "n", require("lz.n").trigger_load("telescope.nvim")
}, local conf = require("telescope.config").values
{ local function toggle_telescope(harpoon_files)
"<C-h><C-s>", local file_paths = {}
function() for _, item in ipairs(harpoon_files.items) do
require("harpoon"):list():select(2) table.insert(file_paths, item.value)
end, end
desc = "Select harpoon 2", return require("telescope.pickers").new({}, {finder = require("telescope.finders").new_table({results = file_paths}), previewer = conf.file_previewer({}), prompt_title = "Harpoon", sorter = conf.generic_sorter({})}):find()
mode = "n", end
}, return toggle_telescope(require("harpoon"):list())
{ end
"<C-h><C-d>", return {"harpoon2", after = _1_, keys = {{"<leader>a", _2_, desc = "Add to harpoon", mode = "n"}, {"<C-h><C-a>", _3_, desc = "Select harpoon 1", mode = "n"}, {"<C-h><C-s>", _4_, desc = "Select harpoon 2", mode = "n"}, {"<C-h><C-d>", _5_, desc = "Select harpoon 3", mode = "n"}, {"<C-h><C-f>", _6_, desc = "Select harpoon 4", mode = "n"}, {"<C-h><C-h>", _7_, desc = "toggle harpoon menu", mode = "n"}}}
function()
require("harpoon"):list():select(3)
end,
desc = "Select harpoon 3",
mode = "n",
},
{
"<C-h><C-f>",
function()
require("harpoon"):list():select(4)
end,
desc = "Select harpoon 4",
mode = "n",
},
{
"<C-h><C-h>",
function()
require("lz.n").trigger_load("telescope.nvim")
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
toggle_telescope(require("harpoon"):list())
end,
mode = "n",
desc = "toggle harpoon menu",
},
},
}