45 lines
937 B
Lua
45 lines
937 B
Lua
local ls = require("luasnip")
|
|
local rep = require("luasnip.extras").rep
|
|
local ai = require("luasnip.nodes.absolute_indexer")
|
|
local fmt = require("luasnip.extras.fmt").fmt
|
|
|
|
ls.config.set_config({
|
|
history = true,
|
|
updateevents = "TextChanged,TextChangedI",
|
|
})
|
|
|
|
vim.keymap.set("n", "<leader><leader>s", "<cmd>source ~/.config/nvim/plugin/luasnip.lua<CR>")
|
|
|
|
vim.keymap.set({ "i", "s" }, "<A-k>", function()
|
|
if ls.expand_or_jumpable() then
|
|
ls.expand_or_jump()
|
|
end
|
|
end, { silent = true })
|
|
|
|
vim.keymap.set({ "i", "s" }, "<A-j>", function()
|
|
if ls.jumpable(-1) then
|
|
ls.jump(-1)
|
|
end
|
|
end, { silent = true })
|
|
|
|
ls.add_snippets("python", {
|
|
ls.snippet("main", {
|
|
ls.text_node({ 'if __name__ == "__main__":', "\t" }),
|
|
ls.insert_node(1),
|
|
}),
|
|
})
|
|
|
|
ls.add_snippets("python", {
|
|
ls.snippet(
|
|
"class",
|
|
fmt(
|
|
[[
|
|
class {}:
|
|
def __init__(self, {}):
|
|
self.{} = {}
|
|
]],
|
|
{ ls.insert_node(1), ls.insert_node(2), rep(2), rep(2) }
|
|
)
|
|
),
|
|
})
|