summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Vanbesien <tvanbesi@proton.me>2026-06-07 15:45:02 +0200
committerThomas Vanbesien <tvanbesi@proton.me>2026-06-07 17:26:26 +0200
commit76d798761694fdeb89e542beb02edffffcd6f35e (patch)
tree2cf09b5984c03868da8d76b8b9335ddf46b32f7d
parent52084e244f85d84c085c7ee46cf5aae45a29f7df (diff)
downloadnvim-config-76d798761694fdeb89e542beb02edffffcd6f35e.tar.gz
nvim-config-76d798761694fdeb89e542beb02edffffcd6f35e.zip
misc(nvim): add key mappings for jumping between snippets
-rw-r--r--plugin/50-completion.lua8
1 files changed, 8 insertions, 0 deletions
diff --git a/plugin/50-completion.lua b/plugin/50-completion.lua
index fe418e8..caf749d 100644
--- a/plugin/50-completion.lua
+++ b/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
------------------------------------------------------------------------------------------------------------------------