From 900371bdef966f6b00992041ac0af13f013b3a57 Mon Sep 17 00:00:00 2001 From: Daniil Tsivinsky Date: Sat, 29 Jul 2023 23:35:25 +0300 Subject: [PATCH] neovim: add mappings to jump between choice in snippets --- neovim/.config/nvim/after/plugin/comp.lua | 9 +-------- neovim/.config/nvim/after/plugin/remaps.lua | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/neovim/.config/nvim/after/plugin/comp.lua b/neovim/.config/nvim/after/plugin/comp.lua index 10c3d5e..b0f03f6 100644 --- a/neovim/.config/nvim/after/plugin/comp.lua +++ b/neovim/.config/nvim/after/plugin/comp.lua @@ -58,20 +58,13 @@ cmp.setup({ }), [""] = cmp.mapping.scroll_docs(4), [""] = cmp.mapping.scroll_docs(-4), - [""] = cmp.mapping(function(fallback) + [""] = cmp.mapping(function(fallback) if ls.expand_or_jumpable() then ls.expand_or_jump() else fallback() end end), - [""] = cmp.mapping(function(fallback) - if ls.jumpable(-1) then - ls.jump(-1) - else - fallback() - end - end), }, sources = cmp.config.sources({ { name = "nvim_lsp" }, diff --git a/neovim/.config/nvim/after/plugin/remaps.lua b/neovim/.config/nvim/after/plugin/remaps.lua index c23b69b..21ed537 100644 --- a/neovim/.config/nvim/after/plugin/remaps.lua +++ b/neovim/.config/nvim/after/plugin/remaps.lua @@ -1,6 +1,7 @@ local ts = require("telescope.builtin") local u = require("daniil.utils") local git = require("daniil.git") +local ls = require("luasnip") -- General keymaps vim.keymap.set("n", "", ":nohl") @@ -109,3 +110,19 @@ vim.keymap.set("n", "gg", ":G") vim.keymap.set("n", "go", function() git.open_commit_on_github() end) + +-- Luasnip +local function next_choice() + if ls.jumpable(1) then + ls.jump(1) + end +end +local function prev_choice() + if ls.jumpable(-1) then + ls.jump(-1) + end +end +vim.keymap.set("i", "", next_choice, { noremap = true, silent = true }) +vim.keymap.set("s", "", next_choice, { noremap = true, silent = true }) +vim.keymap.set("i", "", prev_choice, { noremap = true, silent = true }) +vim.keymap.set("s", "", prev_choice, { noremap = true, silent = true })