mirror of
https://github.com/L3MON4D3/LuaSnip
synced 2024-09-16 21:54:03 +02:00
feat!(Breaking Change): move most of plugin/luasnip.vim to lua.
Since this uses the autocmd-api, from now on neovim 0.7.0 will be the minimum supported version (up from 0.5.0).
This commit is contained in:
parent
2dfb6adcfb
commit
a37a52ec19
3 changed files with 64 additions and 41 deletions
61
plugin/luasnip.lua
Normal file
61
plugin/luasnip.lua
Normal file
|
@ -0,0 +1,61 @@
|
|||
local function silent_map(mode, lhs, rhs)
|
||||
vim.keymap.set(mode, lhs, rhs, {silent = true})
|
||||
end
|
||||
|
||||
silent_map("i", "<Plug>luasnip-expand-or-jump", function() require("luasnip").expand_or_jump() end)
|
||||
silent_map("i", "<Plug>luasnip-expand-snippet", function() require("luasnip").expand() end)
|
||||
silent_map("i", "<Plug>luasnip-next-choice", function() require("luasnip").change_choice(1) end)
|
||||
silent_map("i", "<Plug>luasnip-prev-choice", function() require("luasnip").change_choice(-1) end)
|
||||
silent_map("i", "<Plug>luasnip-jump-next", function() require("luasnip").jump(1) end)
|
||||
silent_map("i", "<Plug>luasnip-jump-prev", function() require("luasnip").jump(-1) end)
|
||||
|
||||
silent_map("n", "<Plug>luasnip-delete-check", function() require("luasnip").unlink_current_if_deleted() end)
|
||||
silent_map("!", "<Plug>luasnip-delete-check", function() require("luasnip").unlink_current_if_deleted() end)
|
||||
|
||||
silent_map("", "<Plug>luasnip-expand-repeat", function() require("luasnip").expand_repeat() end)
|
||||
silent_map("!", "<Plug>luasnip-expand-repeat", function() require("luasnip").expand_repeat() end)
|
||||
|
||||
silent_map("s", "<Plug>luasnip-expand-or-jump", function() require("luasnip").expand_or_jump() end)
|
||||
silent_map("s", "<Plug>luasnip-expand-snippet", function() require("luasnip").expand() end)
|
||||
silent_map("s", "<Plug>luasnip-next-choice", function() require("luasnip").change_choice(1) end)
|
||||
silent_map("s", "<Plug>luasnip-prev-choice", function() require("luasnip").change_choice(-1) end)
|
||||
silent_map("s", "<Plug>luasnip-jump-next", function() require("luasnip").jump(1) end)
|
||||
silent_map("s", "<Plug>luasnip-jump-prev", function() require("luasnip").jump(-1) end)
|
||||
|
||||
vim.api.nvim_create_user_command("LuaSnipUnlinkCurrent", function()
|
||||
require("luasnip").unlink_current()
|
||||
end, { force = true })
|
||||
vim.api.nvim_create_user_command("LuaSnipListAvailable", function()
|
||||
vim.pretty_print(require("luasnip").available())
|
||||
end, { force = true })
|
||||
|
||||
require('luasnip.config')._setup()
|
||||
|
||||
-- register these during startup so lazy_load will also load filetypes whose
|
||||
-- events fired only before lazy_load is actually called.
|
||||
-- (BufWinEnter -> lazy_load() wouldn't load any files without these).
|
||||
vim.api.nvim_create_augroup("_luasnip_lazy_load", {})
|
||||
vim.api.nvim_create_autocmd({ "BufWinEnter", "FileType" }, {
|
||||
callback = function()
|
||||
require("luasnip.loaders.from_lua")._load_lazy_loaded(
|
||||
tonumber(vim.fn.expand("<abuf>"))
|
||||
)
|
||||
end,
|
||||
group = "_luasnip_lazy_load",
|
||||
})
|
||||
vim.api.nvim_create_autocmd({ "BufWinEnter", "FileType" }, {
|
||||
callback = function()
|
||||
require("luasnip.loaders.from_snipmate")._load_lazy_loaded(
|
||||
tonumber(vim.fn.expand("<abuf>"))
|
||||
)
|
||||
end,
|
||||
group = "_luasnip_lazy_load",
|
||||
})
|
||||
vim.api.nvim_create_autocmd({ "BufWinEnter", "FileType" }, {
|
||||
callback = function()
|
||||
require("luasnip.loaders.from_vscode")._load_lazy_loaded(
|
||||
tonumber(vim.fn.expand("<abuf>"))
|
||||
)
|
||||
end,
|
||||
group = "_luasnip_lazy_load",
|
||||
})
|
|
@ -1,26 +1,3 @@
|
|||
inoremap <silent> <Plug>luasnip-expand-or-jump <cmd>lua require'luasnip'.expand_or_jump()<Cr>
|
||||
inoremap <silent> <Plug>luasnip-expand-snippet <cmd>lua require'luasnip'.expand()<Cr>
|
||||
inoremap <silent> <Plug>luasnip-next-choice <cmd>lua require'luasnip'.change_choice(1)<Cr>
|
||||
inoremap <silent> <Plug>luasnip-prev-choice <cmd>lua require'luasnip'.change_choice(-1)<Cr>
|
||||
inoremap <silent> <Plug>luasnip-jump-next <cmd>lua require'luasnip'.jump(1)<Cr>
|
||||
inoremap <silent> <Plug>luasnip-jump-prev <cmd>lua require'luasnip'.jump(-1)<Cr>
|
||||
|
||||
noremap <silent> <Plug>luasnip-delete-check <cmd>lua require'luasnip'.unlink_current_if_deleted()<Cr>
|
||||
noremap! <silent> <Plug>luasnip-delete-check <cmd>lua require'luasnip'.unlink_current_if_deleted()<Cr>
|
||||
|
||||
noremap <silent> <Plug>luasnip-expand-repeat <cmd>lua require'luasnip'.expand_repeat()<Cr>
|
||||
noremap! <silent> <Plug>luasnip-expand-repeat <cmd>lua require'luasnip'.expand_repeat()<Cr>
|
||||
|
||||
snoremap <silent> <Plug>luasnip-expand-or-jump <cmd>lua require'luasnip'.expand_or_jump()<Cr>
|
||||
snoremap <silent> <Plug>luasnip-expand-snippet <cmd>lua require'luasnip'.expand()<Cr>
|
||||
snoremap <silent> <Plug>luasnip-next-choice <cmd>lua require'luasnip'.change_choice(1)<Cr>
|
||||
snoremap <silent> <Plug>luasnip-prev-choice <cmd>lua require'luasnip'.change_choice(-1)<Cr>
|
||||
snoremap <silent> <Plug>luasnip-jump-next <cmd>lua require'luasnip'.jump(1)<Cr>
|
||||
snoremap <silent> <Plug>luasnip-jump-prev <cmd>lua require'luasnip'.jump(-1)<Cr>
|
||||
|
||||
command! LuaSnipUnlinkCurrent lua require'luasnip'.unlink_current()
|
||||
command! LuaSnipListAvailable lua print(vim.inspect(require'luasnip'.available()))
|
||||
|
||||
function! luasnip#expandable()
|
||||
return luaeval('require("luasnip").expandable()')
|
||||
endfunction
|
||||
|
@ -44,15 +21,3 @@ endfunction
|
|||
function! luasnip#choice_active()
|
||||
return luaeval('require("luasnip").choice_active()')
|
||||
endfunction
|
||||
|
||||
lua require('luasnip.config')._setup()
|
||||
|
||||
" register these during startup so lazy_load will also load filetypes whose
|
||||
" events fired only before lazy_load is actually called.
|
||||
" (BufWinEnter -> lazy_load() wouldn't load any files without these).
|
||||
augroup _luasnip_lazy_load
|
||||
au!
|
||||
au BufWinEnter,FileType * lua require('luasnip.loaders.from_lua')._load_lazy_loaded(tonumber(vim.fn.expand("<abuf>")))
|
||||
au BufWinEnter,FileType * lua require("luasnip.loaders.from_snipmate")._load_lazy_loaded(tonumber(vim.fn.expand("<abuf>")))
|
||||
au BufWinEnter,FileType * lua require('luasnip.loaders.from_vscode')._load_lazy_loaded(tonumber(vim.fn.expand("<abuf>")))
|
||||
augroup END
|
||||
|
|
|
@ -29,13 +29,10 @@ function M.session_setup_luasnip(opts)
|
|||
local no_snip_globals = opts.no_snip_globals ~= nil and opts.no_snip_globals
|
||||
or false
|
||||
|
||||
-- stylua: ignore
|
||||
helpers.exec("set rtp+=" .. os.getenv("LUASNIP_SOURCE"))
|
||||
helpers.exec(
|
||||
string.format(
|
||||
"source %s/plugin/luasnip.vim",
|
||||
os.getenv("LUASNIP_SOURCE")
|
||||
)
|
||||
)
|
||||
helpers.exec(("source %s/plugin/luasnip.vim"):format(os.getenv("LUASNIP_SOURCE")))
|
||||
helpers.exec(("luafile %s/plugin/luasnip.lua"):format(os.getenv("LUASNIP_SOURCE")))
|
||||
|
||||
helpers.exec_lua([[
|
||||
|
||||
|
|
Loading…
Reference in a new issue