diff --git a/lua/neogen/configurations/javascript.lua b/lua/neogen/configurations/javascript.lua index dc52bcb..2fc9156 100644 --- a/lua/neogen/configurations/javascript.lua +++ b/lua/neogen/configurations/javascript.lua @@ -17,7 +17,7 @@ local function_tree = { return { parent = { - func = { "function_declaration", "expression_statement", "variable_declaration" }, + func = { "function_declaration", "expression_statement", "variable_declaration", "lexical_declaration" }, class = { "function_declaration", "expression_statement", "variable_declaration", "class_declaration" }, }, @@ -46,6 +46,20 @@ return { local nodes = neogen.utilities.nodes:matching_nodes_from(node, tree) local res = neogen.utilities.extractors:extract_from_matched(nodes) + results.parameters = res.identifier + results.return_statement = res.return_statement + return results + end, + }, + }, + ["lexical_declaration"] = { + ["1"] = { + extract = function(node) + local results = {} + local tree = { { retrieve = "all", node_type = "arrow_function", subtree = function_tree } } + local nodes = neogen.utilities.nodes:matching_nodes_from(node, tree) + local res = neogen.utilities.extractors:extract_from_matched(nodes) + results.parameters = res.identifier results.return_statement = res.return_statement return results diff --git a/lua/neogen/configurations/typescript.lua b/lua/neogen/configurations/typescript.lua index efec1f8..fe8dbf3 100644 --- a/lua/neogen/configurations/typescript.lua +++ b/lua/neogen/configurations/typescript.lua @@ -30,7 +30,7 @@ local function_tree = { return { parent = { - func = { "function_declaration", "expression_statement", "variable_declaration" }, + func = { "function_declaration", "expression_statement", "variable_declaration", "lexical_declaration" }, class = { "function_declaration", "expression_statement", "variable_declaration", "class_declaration" }, type = { "variable_declaration" }, }, @@ -60,6 +60,20 @@ return { local nodes = neogen.utilities.nodes:matching_nodes_from(node, tree) local res = neogen.utilities.extractors:extract_from_matched(nodes) + results.parameters = res.identifier + results.return_statement = res.return_statement + return results + end, + }, + }, + ["lexical_declaration"] = { + ["1"] = { + extract = function(node) + local results = {} + local tree = { { retrieve = "all", node_type = "arrow_function", subtree = function_tree } } + local nodes = neogen.utilities.nodes:matching_nodes_from(node, tree) + local res = neogen.utilities.extractors:extract_from_matched(nodes) + results.parameters = res.identifier results.return_statement = res.return_statement return results