From e11b4d54a2e602440bd441820868d378d9bfe04f Mon Sep 17 00:00:00 2001 From: "Kenneth Benzie (Benie)" Date: Fri, 12 Apr 2024 18:30:11 +0100 Subject: [PATCH] Split snippets config out of completions config --- lua/plugins/completions.lua | 34 ++++++---------------------------- lua/plugins/snippets.lua | 26 ++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 28 deletions(-) create mode 100644 lua/plugins/snippets.lua diff --git a/lua/plugins/completions.lua b/lua/plugins/completions.lua index 379df03..66635f7 100644 --- a/lua/plugins/completions.lua +++ b/lua/plugins/completions.lua @@ -7,11 +7,12 @@ return { 'williamboman/mason-lspconfig.nvim', -- Completion plugins - 'hrsh7th/cmp-nvim-lsp', -- Source for built-in language server client - 'hrsh7th/cmp-buffer', -- Source for buffer words - 'hrsh7th/cmp-path', -- Source for filesystem paths - 'kbenzie/cmp-git', -- Source for Git/GitHub/GitLab - 'hrsh7th/nvim-cmp', -- Completion engine combines and use the above + 'hrsh7th/cmp-nvim-lsp', -- Source for built-in language server client + 'saadparwaiz1/cmp_luasnip', -- Source for LuaSnip snippets + 'hrsh7th/cmp-buffer', -- Source for buffer words + 'hrsh7th/cmp-path', -- Source for filesystem paths + 'kbenzie/cmp-git', -- Source for Git/GitHub/GitLab + 'hrsh7th/nvim-cmp', -- Completion engine combines and use the above -- TODO: https://github.com/b0o/SchemaStore.nvim -- TODO: https://github.com/jmbuhr/otter.nvim @@ -25,10 +26,6 @@ return { -- Lua vim module support in lua language server 'folke/neodev.nvim', - -- Snippet pluggins - { 'L3MON4D3/LuaSnip', build = 'make install_jsregexp' }, - 'saadparwaiz1/cmp_luasnip', - -- Expose clangd extensions 'p00f/clangd_extensions.nvim', @@ -180,25 +177,6 @@ return { end }) - -- Snippet mappings - local luasnip = require('luasnip') - luasnip.setup({}) - vim.keymap.set({ 'i', 's' }, '', function() - if luasnip.expand_or_jumpable() then - luasnip.expand_or_jump() - end - end, { silent = true }) - vim.keymap.set({ 'i', 's' }, '', function() - if luasnip.jumpable(-1) then - luasnip.jump(-1) - end - end, { silent = true }) - - -- Load snippets - local opts = { paths = vim.fn.stdpath('config') .. '/snippets' } - require('luasnip.loaders.from_snipmate').lazy_load(opts) - require('luasnip.loaders.from_lua').lazy_load(opts) - -- LSP UI plugins require('fidget').setup({}) require('lsp_signature').setup({ diff --git a/lua/plugins/snippets.lua b/lua/plugins/snippets.lua new file mode 100644 index 0000000..0ef0acf --- /dev/null +++ b/lua/plugins/snippets.lua @@ -0,0 +1,26 @@ +return { + 'L3MON4D3/LuaSnip', + name = 'LuaSnip', + build = 'make install_jsregexp', + config = function() + local luasnip = require('luasnip') + luasnip.setup({}) + + -- Load snippets + local opts = { paths = vim.fn.stdpath('config') .. '/snippets' } + require('luasnip.loaders.from_snipmate').lazy_load(opts) + require('luasnip.loaders.from_lua').lazy_load(opts) + + -- Snippet keybindings + vim.keymap.set({ 'i', 's' }, '', function() + if luasnip.expand_or_jumpable() then + luasnip.expand_or_jump() + end + end, { silent = true }) + vim.keymap.set({ 'i', 's' }, '', function() + if luasnip.jumpable(-1) then + luasnip.jump(-1) + end + end, { silent = true }) + end +}