diff --git a/roles/neovim/files/lua/plugins/options/init.lua b/roles/neovim/files/lua/plugins/options/init.lua index 960a912..a3637e7 100644 --- a/roles/neovim/files/lua/plugins/options/init.lua +++ b/roles/neovim/files/lua/plugins/options/init.lua @@ -3,6 +3,7 @@ require('plugins.options.lsp') require('plugins.options.treesitter') require('plugins.options.completion') +require('plugins.options.luasnip') require('plugins.options.telescope') require('plugins.options.nerdtree') require('plugins.options.vimtex') diff --git a/roles/neovim/files/lua/plugins/options/luasnip.lua b/roles/neovim/files/lua/plugins/options/luasnip.lua new file mode 100644 index 0000000..e930e98 --- /dev/null +++ b/roles/neovim/files/lua/plugins/options/luasnip.lua @@ -0,0 +1,19 @@ +require('luasnip.loaders.from_vscode').lazy_load() + +local ls = require'luasnip' + +vim.keymap.set({ 'i', 's' }, '', function () + if ls.expand_or_jumpable() then + ls.expand_or_jump() + end +end, { remap = false }) +vim.keymap.set({ 'i', 's' }, '', function () + if ls.jumpable(-1) then + ls.jump(-1) + end +end, { remap = false }) +vim.keymap.set('i', '', function () + if ls.choice_active() then + ls.change_choice(1) + end +end, { remap = false }) diff --git a/roles/neovim/files/lua/plugins/packer.lua b/roles/neovim/files/lua/plugins/packer.lua index 272a32e..e9ee351 100644 --- a/roles/neovim/files/lua/plugins/packer.lua +++ b/roles/neovim/files/lua/plugins/packer.lua @@ -20,15 +20,16 @@ return require('packer').startup(function(use) run = function() require('nvim-treesitter.install').update({ with_sync = true }) end, } + -- Snippets + use 'L3MON4D3/LuaSnip' + use 'rafamadriz/friendly-snippets' + -- Completion use 'hrsh7th/nvim-cmp' use 'hrsh7th/cmp-buffer' use 'hrsh7th/cmp-path' use 'hrsh7th/cmp-nvim-lua' use 'hrsh7th/cmp-nvim-lsp' - - -- LuaSnip - use 'L3MON4D3/LuaSnip' use 'saadparwaiz1/cmp_luasnip' -- Telescope