summaryrefslogtreecommitdiffstats
path: root/.config/nvim/plugin/50-completion.lua
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim/plugin/50-completion.lua')
-rw-r--r--.config/nvim/plugin/50-completion.lua8
1 files changed, 8 insertions, 0 deletions
diff --git a/.config/nvim/plugin/50-completion.lua b/.config/nvim/plugin/50-completion.lua
index fe418e8..caf749d 100644
--- a/.config/nvim/plugin/50-completion.lua
+++ b/.config/nvim/plugin/50-completion.lua
@@ -27,6 +27,14 @@ vim.keymap.set("i", "<S-Tab>", function()
return vim.fn.pumvisible() == 1 and "<C-p>" or "<S-Tab>"
end, { expr = true })
+-- Jump between snippet placeholders, falling back to native behavior when no snippet is active
+vim.keymap.set({ "i", "s" }, "<C-n>", function()
+ return vim.snippet.active({ direction = 1 }) and "<Cmd>lua vim.snippet.jump(1)<CR>" or "<C-n>"
+end, { expr = true })
+vim.keymap.set({ "i", "s" }, "<C-p>", function()
+ return vim.snippet.active({ direction = -1 }) and "<Cmd>lua vim.snippet.jump(-1)<CR>" or "<C-p>"
+end, { expr = true })
+
------------------------------------------------------------------------------------------------------------------------
-- Command-line mode completion
------------------------------------------------------------------------------------------------------------------------