diff options
| author | Robert Günzler <r@gnzler.io> | 2022-10-12 17:08:51 +0200 |
|---|---|---|
| committer | Robert Günzler <r@gnzler.io> | 2022-10-12 17:08:51 +0200 |
| commit | 6d7e524d3d7a71da2cea61b335a59e9544e2a6f7 (patch) | |
| tree | 22ef20bffa4523189e3dcafd90d4a38402d056eb /.vim/lua | |
| parent | 0c160b43bc57e1055a14d6c6cbb7af4cfaf19242 (diff) | |
vim: add user command to unlink active snippets
Diffstat (limited to '.vim/lua')
| -rw-r--r-- | .vim/lua/snips.lua | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/.vim/lua/snips.lua b/.vim/lua/snips.lua index b22d945..318c9f7 100644 --- a/.vim/lua/snips.lua +++ b/.vim/lua/snips.lua @@ -64,14 +64,14 @@ end -- exec: inserts the output of command local exec = function(command) - return ls.f(function(_, _, command_arg) + return ls.f(function(_, _, ...) local results, code = require('plenary.job'):new({ command = vim.env.SHELL, - args = {'-c', command_arg}, + args = {'-c', ...}, enable_recording = true, }):sync() if not code == 0 or #results == 0 then - error(string.format('exec "%s" failed', command_arg)) + error(string.format('exec "%s" failed', ...)) end return results end, {}, {user_args = {command}}) @@ -79,6 +79,9 @@ end ls.setup { ext_opts = { + [types.snippet] = { + active = { virt_text = {{ '<-- luasnip', 'LuasnipIndicator' }}, virt_text_pos = 'right_align' } + }, [types.insertNode] = { unvisited = { hl_group = 'LuasnipIndicator' } }, @@ -111,3 +114,11 @@ ls.setup { require('luasnip.loaders.from_snipmate').lazy_load {paths = './after/snippets'} -- lua snippets require("luasnip.loaders.from_lua").lazy_load {paths = './snippets'} + +vim.api.nvim_create_user_command('LuaSnipUnlinkAll', + function() + while #package.loaded.luasnip.session.current_nodes > 0 do + package.loaded.luasnip.unlink_current() + end + end, + { desc = 'unlink all active snippets' }) |