From ed32743a88f6678bd493c676aa45bfe762cda99e Mon Sep 17 00:00:00 2001 From: Warren Hood Date: Sun, 13 Nov 2022 06:11:33 +0200 Subject: [PATCH] Add luasnip --- neovim/.config/nvim/LuaSnip/all.lua | 7 +++++++ .../.config/nvim/lua/warrenhood/cmp-config.lua | 4 ++-- neovim/.config/nvim/lua/warrenhood/keybinds.lua | 16 ++++++++++++++-- .../nvim/lua/warrenhood/plugins-config.lua | 10 ++++++++++ neovim/.config/nvim/lua/warrenhood/plugins.lua | 4 ++-- 5 files changed, 35 insertions(+), 6 deletions(-) create mode 100644 neovim/.config/nvim/LuaSnip/all.lua diff --git a/neovim/.config/nvim/LuaSnip/all.lua b/neovim/.config/nvim/LuaSnip/all.lua new file mode 100644 index 0000000..566dd07 --- /dev/null +++ b/neovim/.config/nvim/LuaSnip/all.lua @@ -0,0 +1,7 @@ +local ls = require("luasnip") +local s = ls.snippet + +return { + ls.parser.parse_snippet("test", "fn $1($2) {\n$0}"), +} + diff --git a/neovim/.config/nvim/lua/warrenhood/cmp-config.lua b/neovim/.config/nvim/lua/warrenhood/cmp-config.lua index 3989cfc..95095d8 100644 --- a/neovim/.config/nvim/lua/warrenhood/cmp-config.lua +++ b/neovim/.config/nvim/lua/warrenhood/cmp-config.lua @@ -5,7 +5,7 @@ cmp.setup({ snippet = { -- REQUIRED - you must specify a snippet engine expand = function(args) - vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users. + require('luasnip').lsp_expand(args.body) end, vim.lsp.buf.format, }, @@ -26,7 +26,7 @@ cmp.setup({ }), sources = cmp.config.sources({ { name = "nvim_lsp" }, - { name = "vsnip" }, -- For vsnip users. + { name = "luasnip" }, { name = "treesitter" }, }, { { name = "buffer" }, diff --git a/neovim/.config/nvim/lua/warrenhood/keybinds.lua b/neovim/.config/nvim/lua/warrenhood/keybinds.lua index abdd00d..0715e79 100644 --- a/neovim/.config/nvim/lua/warrenhood/keybinds.lua +++ b/neovim/.config/nvim/lua/warrenhood/keybinds.lua @@ -29,7 +29,7 @@ map('n', '', ':NvimTreeToggle') map('n', '', ':ToggleTerm') map('t', '', ':ToggleTerm') --- Pane navigation +--[[ -- Pane navigation map('n', '', ':wincmd h') map('n', '', ':wincmd j') map('n', '', ':wincmd k') @@ -38,8 +38,20 @@ map('n', '', ':wincmd l') map('t', '', ':wincmd h') map('t', '', ':wincmd j') map('t', '', ':wincmd k') -map('t', '', ':wincmd l') +map('t', '', ':wincmd l') ]] -- Pane management map('n', 'sv', ':vsplit', { desc = 'Split Vertical' }) map('n', 'sh', ':split', { desc = 'Split Horizontal' }) + + +-- luasnip +vim.cmd[[ +" Use Tab to expand and jump through snippets +imap luasnip#expand_or_jumpable() ? 'luasnip-expand-or-jump' : '' +smap luasnip#jumpable(1) ? 'luasnip-jump-next' : '' + +" Use Shift-Tab to jump backwards through snippets +imap luasnip#jumpable(-1) ? 'luasnip-jump-prev' : '' +smap luasnip#jumpable(-1) ? 'luasnip-jump-prev' : '' +]] diff --git a/neovim/.config/nvim/lua/warrenhood/plugins-config.lua b/neovim/.config/nvim/lua/warrenhood/plugins-config.lua index 11bc1a9..49eb397 100644 --- a/neovim/.config/nvim/lua/warrenhood/plugins-config.lua +++ b/neovim/.config/nvim/lua/warrenhood/plugins-config.lua @@ -24,4 +24,14 @@ require'nvim-treesitter.configs'.setup { } +-- luasnip config +require("luasnip").config.set_config({ -- Setting LuaSnip config + -- Enable autotriggered snippets + enable_autosnippets = true, + + -- Use Tab (or some other key if you prefer) to trigger visual selection + store_selection_keys = "", +}) + +require("luasnip.loaders.from_lua").load({paths = "~/.config/nvim/LuaSnip/"}) diff --git a/neovim/.config/nvim/lua/warrenhood/plugins.lua b/neovim/.config/nvim/lua/warrenhood/plugins.lua index 139d963..713ee1b 100644 --- a/neovim/.config/nvim/lua/warrenhood/plugins.lua +++ b/neovim/.config/nvim/lua/warrenhood/plugins.lua @@ -36,8 +36,8 @@ require("packer").startup(function() use("hrsh7th/cmp-path") use("hrsh7th/cmp-cmdline") use("hrsh7th/nvim-cmp") - use("hrsh7th/cmp-vsnip") - use("hrsh7th/vim-vsnip") + use("saadparwaiz1/cmp_luasnip") + use("L3MON4D3/LuaSnip") -- Treesitter use("nvim-treesitter/nvim-treesitter")