diff options
| author | Ariel D'Alessandro <ariel.dalessandro@auto1.com> | 2023-01-13 10:43:22 +0100 |
|---|---|---|
| committer | Ariel D'Alessandro <ariel.dalessandro@auto1.com> | 2023-01-13 10:43:41 +0100 |
| commit | 0586c7a92cc352925e0e60009dd4ec975880748c (patch) | |
| tree | 6d7ca852f3953f8a04a6901512b4be0caa8fa616 /lua/alpha/harpoon.lua | |
| parent | dfae2fe09525ab95f9a9fae67d55381ef6461d9c (diff) | |
| download | nvim-conf-0586c7a92cc352925e0e60009dd4ec975880748c.tar.gz nvim-conf-0586c7a92cc352925e0e60009dd4ec975880748c.zip | |
feat: move harpoon to lazy load
Diffstat (limited to 'lua/alpha/harpoon.lua')
| -rw-r--r-- | lua/alpha/harpoon.lua | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/lua/alpha/harpoon.lua b/lua/alpha/harpoon.lua new file mode 100644 index 0000000..958489b --- /dev/null +++ b/lua/alpha/harpoon.lua @@ -0,0 +1,44 @@ +local M = {}; + +-- changing this values will require re-compile packer +local terms = vim.g.harpoon_terms or 3 +local quick_binds = vim.g.harpoon_quick_binds or 5 + +M.keymaps = { + "<leader>ss", + "<leader>sa", +} + +for i = 1, terms do + table.insert(M.keymaps, string.format("<leader><leader>%s", i)) +end + +for i = 1, quick_binds do + table.insert(M.keymaps, string.format("<leader>%s", i)) +end + +M.setup = function() + require('harpoon').setup({}) + + vim.keymap.set('n', '<leader>ss', require("harpoon.ui").toggle_quick_menu, + { noremap = true, silent = true, expr = false }) + vim.keymap.set('n', '<leader>sa', require("harpoon.mark").add_file, { noremap = true, silent = true, expr = false }) + + for i = 1, terms do + vim.keymap.set('n', string.format('<leader><leader>%s', i), function() require("harpoon.term").gotoTerminal(1) end, + { noremap = true, silent = true, expr = false }) + end + + for i = 1, quick_binds do + vim.keymap.set( + 'n', + string.format("<leader>%s", i), + function() + require("harpoon.ui").nav_file(i) + end, + { noremap = true, silent = true, expr = false } + ) + end +end + +return M |