From 254301a044e00958fda76c69158c741eac2fd4fd Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 28 Dec 2022 11:43:40 +0100 Subject: [PATCH] Fix python docstrings (#120) * fix(py): Return "Args:" if parameters * fix(py): catch typed default parameters --- lua/neogen/configurations/python.lua | 24 +++++++----------------- lua/neogen/init.lua | 2 +- lua/neogen/utilities/helpers.lua | 17 +++++++---------- 3 files changed, 15 insertions(+), 28 deletions(-) diff --git a/lua/neogen/configurations/python.lua b/lua/neogen/configurations/python.lua index 95603b8..c42caaf 100644 --- a/lua/neogen/configurations/python.lua +++ b/lua/neogen/configurations/python.lua @@ -49,15 +49,8 @@ return { { retrieve = "all", node_type = "typed_default_parameter", - extract = true, - subtree = { - { - retrieve = "all", - node_type = "identifier", - extract = true, - as = i.Tparam, - }, - }, + as = i.Tparam, + extract = true }, { retrieve = "first", @@ -153,14 +146,14 @@ return { local results = helpers.copy({ [i.HasParameter] = function(t) - return t[i.Parameter] and { true } or nil + return (t[i.Parameter] or t[i.Tparam]) and { true } + end, + [i.HasReturn] = function(t) + return (t[i.ReturnTypeHint] or t[i.Return]) and { true } end, [i.Type] = true, - [i.Parameter] = function(t) - return t[i.Parameter] - end, + [i.Parameter] = true, [i.Return] = true, - [i.HasReturn] = true, [i.ReturnTypeHint] = true, [i.ArbitraryArgs] = true, [i.Kwargs] = true, @@ -168,9 +161,6 @@ return { [i.Tparam] = true, }, res) or {} - -- Generates a "flag" return - results[i.HasReturn] = (results[i.ReturnTypeHint] or results[i.Return]) and { true } or nil - -- Removes generation for returns that are not typed if results[i.ReturnTypeHint] then results[i.Return] = nil diff --git a/lua/neogen/init.lua b/lua/neogen/init.lua index 310c458..06b351c 100644 --- a/lua/neogen/init.lua +++ b/lua/neogen/init.lua @@ -285,7 +285,7 @@ end --- with multiple annotation conventions. ---@tag neogen-changelog ---@toc_entry Changes in neogen plugin -neogen.version = "2.10.3" +neogen.version = "2.10.4" --minidoc_afterlines_end return neogen diff --git a/lua/neogen/utilities/helpers.lua b/lua/neogen/utilities/helpers.lua index 2ca188c..713200e 100644 --- a/lua/neogen/utilities/helpers.lua +++ b/lua/neogen/utilities/helpers.lua @@ -43,17 +43,14 @@ return { local copy = {} for parameter, rule in pairs(rules) do - local parameter_value = table[parameter] - if parameter_value then - if type(rule) == "function" then - copy[parameter] = vim.tbl_deep_extend("error", rule(table), copy[parameter] or {}) - elseif rule == true and parameter_value ~= nil then - copy[parameter] = parameter_value - else - vim.notify("Incorrect rule format for parameter " .. parameter, vim.log.levels.ERROR) - return - end + if type(rule) == "function" then + copy[parameter] = rule(table) + elseif rule == true then + copy[parameter] = table[parameter] + else + vim.notify("Incorrect rule format for parameter " .. parameter, vim.log.levels.ERROR) + return end end