Added go snippet for modelling json structs

This commit is contained in:
2025-03-02 11:31:32 +11:00
parent c829153547
commit 9cac801359

View File

@@ -3,6 +3,7 @@ local ls = require("luasnip")
local s = ls.snippet
local c = ls.choice_node
local d = ls.dynamic_node
local f = ls.function_node
local i = ls.insert_node
local t = ls.text_node
local sn = ls.snippet_node
@@ -124,6 +125,10 @@ local go_return_values = function(args)
)
end
local camel_to_snake = function(str)
return str:gsub("([a-z])([A-Z])", "%1_%2"):lower()
end
ls.add_snippets("go", {
s(
"efi",
@@ -164,4 +169,19 @@ func Handle<name>() http.Handler {
}
)
),
s(
"jf",
fmta(
[[
<field> <type> `json:"<key>"`
]],
{
field = i(1, "Field"),
type = i(2, "type"),
key = f(function(args)
return camel_to_snake(args[1][1])
end, { 1 }),
}
)
),
})