feat: added a snippet
This commit is contained in:
parent
0d5a84d68e
commit
dde615bfc2
2 changed files with 70 additions and 22 deletions
70
lua/custom/plugins/luasnip.lua
Normal file
70
lua/custom/plugins/luasnip.lua
Normal file
|
|
@ -0,0 +1,70 @@
|
||||||
|
return {
|
||||||
|
"L3MON4D3/LuaSnip",
|
||||||
|
even = "VaryLazy",
|
||||||
|
config = function()
|
||||||
|
local ls = require "luasnip"
|
||||||
|
-- some shorthands...
|
||||||
|
local s = ls.snippet
|
||||||
|
local sn = ls.snippet_node
|
||||||
|
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 r = ls.restore_node
|
||||||
|
|
||||||
|
ls.setup {
|
||||||
|
region_check_events = { "CursorHold", "InsertLeave" },
|
||||||
|
delete_check_events = { "TextChanged", "InsertEnter" },
|
||||||
|
history = false,
|
||||||
|
}
|
||||||
|
ls.add_snippets("all", {
|
||||||
|
s("flutterhttp", {
|
||||||
|
t "Future<Result<",
|
||||||
|
i(1),
|
||||||
|
t ">> ",
|
||||||
|
i(2, "function()"),
|
||||||
|
t { " async {", '\tfinal url = "https://$apiBasePath/' },
|
||||||
|
i(3),
|
||||||
|
t { '";', "\tfinal client = Client();", "\ttry {", "\t\tfinal headers = await _getHeaders(" },
|
||||||
|
i(4),
|
||||||
|
t { ");" },
|
||||||
|
i(5),
|
||||||
|
t { "", "\t\tfinal response = await client." },
|
||||||
|
i(6, "get"),
|
||||||
|
t { "(Uri.parse(url), headers: headers," },
|
||||||
|
i(7),
|
||||||
|
t {
|
||||||
|
");",
|
||||||
|
"\t\tswitch (response.statusCode) {",
|
||||||
|
"\t\t\tcase 200:",
|
||||||
|
"\t\t\t\tfinal json = jsonDecode(response.body);",
|
||||||
|
"\t\t\t\treturn Result.ok(.fromJson(json));",
|
||||||
|
},
|
||||||
|
i(8),
|
||||||
|
t {
|
||||||
|
"",
|
||||||
|
"\t\t\tdefault:",
|
||||||
|
'\t\t\t\tthrow "Unknown error withcode ${response.statusCode.toString()}";',
|
||||||
|
"\t\t\t}",
|
||||||
|
"\t} catch (e) {",
|
||||||
|
"\t\treturn Result.error(Exception(e));",
|
||||||
|
"\t} finally {",
|
||||||
|
"\t\tclient.close();",
|
||||||
|
"\t}",
|
||||||
|
"}",
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.keymap.del({ "i", "s" }, "<Tab>")
|
||||||
|
|
||||||
|
vim.keymap.set({ "i", "s" }, "<C-L>", function()
|
||||||
|
ls.jump(1)
|
||||||
|
end, { silent = true })
|
||||||
|
|
||||||
|
vim.keymap.set({ "i", "s" }, "<C-J>", function()
|
||||||
|
ls.jump(-1)
|
||||||
|
end, { silent = true })
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
|
@ -52,26 +52,4 @@ return {
|
||||||
{ "mfussenegger/nvim-dap" },
|
{ "mfussenegger/nvim-dap" },
|
||||||
|
|
||||||
{ "ingur/floatty.nvim" },
|
{ "ingur/floatty.nvim" },
|
||||||
|
|
||||||
{
|
|
||||||
"L3MON4D3/LuaSnip",
|
|
||||||
even = "VaryLazy",
|
|
||||||
config = function()
|
|
||||||
local ls = require "luasnip"
|
|
||||||
ls.setup {
|
|
||||||
region_check_events = { "CursorHold", "InsertLeave" },
|
|
||||||
delete_check_events = { "TextChanged", "InsertEnter" },
|
|
||||||
history = false,
|
|
||||||
}
|
|
||||||
vim.keymap.del({ "i", "s" }, "<Tab>")
|
|
||||||
|
|
||||||
vim.keymap.set({ "i", "s" }, "<C-L>", function()
|
|
||||||
ls.jump(1)
|
|
||||||
end, { silent = true })
|
|
||||||
|
|
||||||
vim.keymap.set({ "i", "s" }, "<C-J>", function()
|
|
||||||
ls.jump(-1)
|
|
||||||
end, { silent = true })
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue