59 lines
1.7 KiB
Lua
59 lines
1.7 KiB
Lua
vim.cmd[[
|
|
" Use Tab to expand and jump through snippets
|
|
imap <silent><expr> <Tab> luasnip#expand_or_jumpable() ? '<Plug>luasnip-expand-or-jump' : '<Tab>'
|
|
smap <silent><expr> <Tab> luasnip#jumpable(1) ? '<Plug>luasnip-jump-next' : '<Tab>'
|
|
|
|
" Use Shift-Tab to jump backwards through snippets
|
|
imap <silent><expr> <S-Tab> luasnip#jumpable(-1) ? '<Plug>luasnip-jump-prev' : '<S-Tab>'
|
|
smap <silent><expr> <S-Tab> luasnip#jumpable(-1) ? '<Plug>luasnip-jump-prev' : '<S-Tab>'
|
|
|
|
" Expand or jump in insert mode
|
|
imap <silent><expr> <Tab> luasnip#expand_or_jumpable() ? '<Plug>luasnip-expand-or-jump' : '<Tab>'
|
|
|
|
" Jump forward through tabstops in visual mode
|
|
smap <silent><expr> <Tab> luasnip#jumpable(1) ? '<Plug>luasnip-jump-next' : '<Tab>'
|
|
]]
|
|
|
|
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 = "<Tab>",
|
|
})
|
|
|
|
local ls = require "luasnip"
|
|
local s = ls.snippet
|
|
local t = ls.text_node
|
|
local i = ls.insert_node
|
|
local extras = require("luasnip.extras")
|
|
local rep = extras.rep
|
|
local fmt = require("luasnip.extras.fmt").fmt
|
|
local c = ls.choice_node
|
|
local f = ls.function_node
|
|
local d = ls.dynamic_node
|
|
local sn = ls.snippet_node
|
|
|
|
ls.add_snippets("lua", {
|
|
s("hello", {
|
|
t('print("hello '),
|
|
i(1),
|
|
t(' world")')
|
|
}),
|
|
|
|
s("if", {
|
|
t('if '),
|
|
i(1, "true"),
|
|
t(' then '),
|
|
i(2),
|
|
t(' end')
|
|
})
|
|
})
|
|
|
|
|
|
-- require("luasnip.loaders.from_lua").load({paths = "./snippets/"})
|
|
require("luasnip.loaders.from_lua").load({ paths = "./snippets/" })
|
|
|
|
-- require("luasnip.loaders.from_lua").lazy_load({paths = "./snippets/"})
|