76 lines
1.2 KiB
Lua
76 lines
1.2 KiB
Lua
-- Python snippets
|
|
local ls = require("luasnip")
|
|
local s = ls.snippet
|
|
local t = ls.text_node
|
|
local i = ls.insert_node
|
|
local f = ls.function_node
|
|
local c = ls.choice_node
|
|
local d = ls.dynamic_node
|
|
local sn = ls.snippet_node
|
|
local fmt = require("luasnip.extras.fmt").fmt
|
|
local rep = require("luasnip.extras").rep
|
|
|
|
-- Return a table of snippets for Python
|
|
-- stylua: ignore start
|
|
return {
|
|
-- Print statement
|
|
s("pr", {
|
|
t("print("),
|
|
i(1, "text"),
|
|
t(")"),
|
|
}),
|
|
|
|
-- Function definition
|
|
s("def", fmt([[
|
|
def {}({}):
|
|
{}
|
|
]], {
|
|
i(1, "function_name"),
|
|
i(2, ""),
|
|
i(3, "pass"),
|
|
})),
|
|
|
|
-- Class definition
|
|
s("class", fmt([[
|
|
class {}:
|
|
def __init__(self, {}):
|
|
{}
|
|
]], {
|
|
i(1, "ClassName"),
|
|
i(2, ""),
|
|
i(3, "pass"),
|
|
})),
|
|
|
|
-- For loop
|
|
s("for", fmt([[
|
|
for {} in {}:
|
|
{}
|
|
]], {
|
|
i(1, "item"),
|
|
i(2, "iterable"),
|
|
i(3, "pass"),
|
|
})),
|
|
|
|
-- If statement
|
|
s("if", fmt([[
|
|
if {}:
|
|
{}
|
|
]], {
|
|
i(1, "condition"),
|
|
i(2, "pass"),
|
|
})),
|
|
|
|
-- Try/except
|
|
s("try", fmt([[
|
|
try:
|
|
{}
|
|
except {}:
|
|
{}
|
|
]], {
|
|
i(1, "# code"),
|
|
i(2, "Exception"),
|
|
i(3, "pass"),
|
|
})),
|
|
}
|
|
-- stylua: ignore end
|