feat(py) Add *args and **kwargs support (#71)
This commit is contained in:
@@ -30,7 +30,6 @@ return {
|
|||||||
node_type = "parameters",
|
node_type = "parameters",
|
||||||
subtree = {
|
subtree = {
|
||||||
{ retrieve = "all", node_type = "identifier", extract = true },
|
{ retrieve = "all", node_type = "identifier", extract = true },
|
||||||
|
|
||||||
{
|
{
|
||||||
retrieve = "all",
|
retrieve = "all",
|
||||||
node_type = "default_parameter",
|
node_type = "default_parameter",
|
||||||
@@ -48,6 +47,18 @@ return {
|
|||||||
extract = true,
|
extract = true,
|
||||||
subtree = { { retrieve = "all", node_type = "identifier", extract = true } },
|
subtree = { { retrieve = "all", node_type = "identifier", extract = true } },
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
retrieve = "first",
|
||||||
|
node_type = "list_splat_pattern",
|
||||||
|
extract = true,
|
||||||
|
as = i.ArbitraryArgs,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
retrieve = "first",
|
||||||
|
node_type = "dictionary_splat_pattern",
|
||||||
|
extract = true,
|
||||||
|
as = i.ArbitraryArgs,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -120,6 +131,8 @@ return {
|
|||||||
results[i.HasReturn] = (res.return_statement or res.anonymous_return or res[i.ReturnTypeHint])
|
results[i.HasReturn] = (res.return_statement or res.anonymous_return or res[i.ReturnTypeHint])
|
||||||
and { true }
|
and { true }
|
||||||
or nil
|
or nil
|
||||||
|
results[i.ArbitraryArgs] = res[i.ArbitraryArgs]
|
||||||
|
results[i.Kwargs] = res[i.Kwargs]
|
||||||
return results
|
return results
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -15,6 +15,8 @@ return {
|
|||||||
{ i.HasParameter, "Args:", { type = { "func" } } },
|
{ i.HasParameter, "Args:", { type = { "func" } } },
|
||||||
{ i.Parameter, " %s ($1): $1", { type = { "func" } } },
|
{ i.Parameter, " %s ($1): $1", { type = { "func" } } },
|
||||||
{ { i.Parameter, i.Type }, " %s (%s): $1", { required = "typed_parameters", type = { "func" } } },
|
{ { i.Parameter, i.Type }, " %s (%s): $1", { required = "typed_parameters", type = { "func" } } },
|
||||||
|
{ i.ArbitraryArgs, " %s: $1", { type = { "func" } } },
|
||||||
|
{ i.Kwargs, " %s: $1", { type = { "func" } } },
|
||||||
{ i.ClassAttribute, " %s: $1", { before_first_item = { "", "Attributes: " } } },
|
{ i.ClassAttribute, " %s: $1", { before_first_item = { "", "Attributes: " } } },
|
||||||
{ i.HasReturn, "", { type = { "func" } } },
|
{ i.HasReturn, "", { type = { "func" } } },
|
||||||
{ i.HasReturn, "Returns:", { type = { "func" } } },
|
{ i.HasReturn, "Returns:", { type = { "func" } } },
|
||||||
|
|||||||
@@ -24,6 +24,16 @@ return {
|
|||||||
"%s : %s",
|
"%s : %s",
|
||||||
{ after_each = " $1", required = "typed_parameters", type = { "func" } },
|
{ after_each = " $1", required = "typed_parameters", type = { "func" } },
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
i.ArbitraryArgs,
|
||||||
|
"%s",
|
||||||
|
{ after_each = " $1", type = { "func" } },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
i.Kwargs,
|
||||||
|
"%s",
|
||||||
|
{ after_each = " $1", type = { "func" } },
|
||||||
|
},
|
||||||
{ i.ClassAttribute, "%s : $1", { before_first_item = { "", "Attributes", "----------" } } },
|
{ i.ClassAttribute, "%s : $1", { before_first_item = { "", "Attributes", "----------" } } },
|
||||||
{ i.HasReturn, "", { type = { "func" } } },
|
{ i.HasReturn, "", { type = { "func" } } },
|
||||||
{ i.HasReturn, "Returns", { type = { "func" } } },
|
{ i.HasReturn, "Returns", { type = { "func" } } },
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ template.item = {
|
|||||||
ClassAttribute = "attributes",
|
ClassAttribute = "attributes",
|
||||||
HasParameter = "has_parameters",
|
HasParameter = "has_parameters",
|
||||||
HasReturn = "has_return",
|
HasReturn = "has_return",
|
||||||
|
ArbitraryArgs = "arbitrary_args",
|
||||||
|
Kwargs = "kwargs",
|
||||||
}
|
}
|
||||||
|
|
||||||
return template
|
return template
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
print(require('neogen').version)
|
print(require("neogen").version)
|
||||||
|
|||||||
Reference in New Issue
Block a user