feat(rust) Add alternative rust template

This commit is contained in:
danymat
2022-01-09 17:25:08 +01:00
parent 750abb662f
commit 630855992e

View File

@@ -26,8 +26,25 @@ return {
class = {
["struct_item"] = {
["0"] = {
extract = function()
return {}
extract = function(node)
local tree = {
{
retrieve = "first",
node_type = "field_declaration_list",
subtree = {
{
retrieve = "all",
node_type = "field_declaration",
subtree = {
{ retrieve = "all", node_type = "field_identifier", extract = true },
},
},
},
},
}
local nodes = neogen.utilities.nodes:matching_nodes_from(node, tree)
local res = neogen.utilities.extractors:extract_from_matched(nodes)
return res
end,
},
},
@@ -41,6 +58,18 @@ return {
{ nil, "", { no_results = true, type = { "file" } } },
{ nil, "/ $1", { no_results = true, type = { "func", "class" } } },
{ nil, "/ $1", { type = { "func", "class" } } },
},
alternative = {
{ nil, "! $1", { no_results = true, type = { "file" } } },
{ nil, "", { no_results = true, type = { "file" } } },
{ nil, "/ $1", { no_results = true, type = { "func", "class" } } },
{ nil, "/ $1", { type = { "func", "class" } } },
{ nil, "/", { type = { "class" } } },
{ "field_identifier", "/ * %s: $1", { type = { "class" } } },
},
},
}