From 7f8574094666b0b6534a11f97026231ff271c75c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Pankowski?= Date: Mon, 28 Aug 2023 21:10:16 +0200 Subject: [PATCH] add harpoon, bind some luasnip keys add harpoon, move luasnip keys to remap --- nvim/.config/nvim/after/plugin/luasnip.lua | 8 +++ nvim/.config/nvim/lua/lupan/plugins.lua | 4 ++ nvim/.config/nvim/lua/lupan/remap.lua | 60 +++++++++++++++++++++ nvim/.config/nvim/snippets/lua/snippets.lua | 3 ++ 4 files changed, 75 insertions(+) create mode 100644 nvim/.config/nvim/after/plugin/luasnip.lua create mode 100644 nvim/.config/nvim/snippets/lua/snippets.lua diff --git a/nvim/.config/nvim/after/plugin/luasnip.lua b/nvim/.config/nvim/after/plugin/luasnip.lua new file mode 100644 index 0000000..2ea1b63 --- /dev/null +++ b/nvim/.config/nvim/after/plugin/luasnip.lua @@ -0,0 +1,8 @@ +local ls = require "luasnip" + +ls.config.set_config { + history = true, + updateevents = "TextChanged,TextChangedI", +} + +require("luasnip.loaders.from_lua").load({ paths = "~/.config/nvim/snippets" }) diff --git a/nvim/.config/nvim/lua/lupan/plugins.lua b/nvim/.config/nvim/lua/lupan/plugins.lua index f943282..c6a0899 100644 --- a/nvim/.config/nvim/lua/lupan/plugins.lua +++ b/nvim/.config/nvim/lua/lupan/plugins.lua @@ -143,4 +143,8 @@ require('lazy').setup({ 'ggandor/lightspeed.nvim', + { + 'ThePrimeagen/harpoon', + dependencies = { 'nvim-lua/plenary.nvim' }, + } }) diff --git a/nvim/.config/nvim/lua/lupan/remap.lua b/nvim/.config/nvim/lua/lupan/remap.lua index 770e10b..138ab34 100644 --- a/nvim/.config/nvim/lua/lupan/remap.lua +++ b/nvim/.config/nvim/lua/lupan/remap.lua @@ -46,3 +46,63 @@ key('v', '>', '>gv', opts) -- Keep old value of register key('v', 'P', '"_dP', opts) + +-- luasnip + +vim.keymap.set({ 'i', 's' }, "", function() + local ls = require "luasnip" + if ls.expand_or_jumpable() then + ls.expand_or_jump() + end +end, { silent = true }) + +vim.keymap.set({ 'i', 's' }, "", function() + local ls = require "luasnip" + if ls.jumpable(-1) then + ls.jump(-1) + end +end, { silent = true }) + +vim.keymap.set({ 'i', 's' }, "", function() + local ls = require "luasnip" + if ls.choice_active() then + ls.change_choice(1) + end +end, { silent = true }) + +vim.keymap.set("n", "ss", "source ~/.config/nvim/after/plugin/luasnip.lua", + { desc = "[S]nippets [s]ource" }) + +-- terminal + +key('t', '', '') + +-- harpoon + +key('n', 'ha', function() + require("harpoon.mark").add_file() +end, { desc = '[H]arpoon [a]dd' }) + +key('n', 'hm', function() + require("harpoon.ui").toggle_quick_menu() +end, { desc = '[H]arpoon toggle quick [m]enu' }) + +key('n', 'hj', function() + require("harpoon.ui").nav_next() +end, { desc = '[H]arpoon next (j)' }) + +key('n', 'hk', function() + require("harpoon.ui").nav_prev() +end, { desc = '[H]arpoon prev (k)' }) + +for i = 1, 9, 1 do + key('n', 'h' .. i, function() + require("harpoon.ui").nav_file(i) + end, { desc = '[H]arpoon nav_file [' .. i .. ']' }) +end + +for i = 1, 9, 1 do + key('n', 't' .. i, function() + require("harpoon.term").gotoTerminal(i) + end, { desc = '[H]arpoon nav_file [' .. i .. ']' }) +end diff --git a/nvim/.config/nvim/snippets/lua/snippets.lua b/nvim/.config/nvim/snippets/lua/snippets.lua new file mode 100644 index 0000000..42aa20e --- /dev/null +++ b/nvim/.config/nvim/snippets/lua/snippets.lua @@ -0,0 +1,3 @@ +return { + s("ct", t "-- TODO: ") +}