Merge remote-tracking branch 'origin/main' into autodetect_type
This commit is contained in:
14
README.md
14
README.md
@@ -38,6 +38,20 @@
|
|||||||
|
|
||||||
Use your favorite package manager to install Neogen, e.g:
|
Use your favorite package manager to install Neogen, e.g:
|
||||||
|
|
||||||
|
### Lazy
|
||||||
|
|
||||||
|
```lua
|
||||||
|
{
|
||||||
|
"danymat/neogen",
|
||||||
|
dependencies = "nvim-treesitter/nvim-treesitter",
|
||||||
|
config = true,
|
||||||
|
-- Uncomment next line if you want to follow only stable versions
|
||||||
|
-- version = "*"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Packer
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
use {
|
use {
|
||||||
"danymat/neogen",
|
"danymat/neogen",
|
||||||
|
|||||||
@@ -183,7 +183,7 @@ Feel free to submit a PR, I will be happy to help you !
|
|||||||
We use semantic versioning ! (https://semver.org)
|
We use semantic versioning ! (https://semver.org)
|
||||||
Here is the current Neogen version:
|
Here is the current Neogen version:
|
||||||
>
|
>
|
||||||
neogen.version = "2.10.3"
|
neogen.version = "2.10.4"
|
||||||
<
|
<
|
||||||
# Changelog~
|
# Changelog~
|
||||||
|
|
||||||
|
|||||||
@@ -49,15 +49,8 @@ return {
|
|||||||
{
|
{
|
||||||
retrieve = "all",
|
retrieve = "all",
|
||||||
node_type = "typed_default_parameter",
|
node_type = "typed_default_parameter",
|
||||||
extract = true,
|
as = i.Tparam,
|
||||||
subtree = {
|
extract = true
|
||||||
{
|
|
||||||
retrieve = "all",
|
|
||||||
node_type = "identifier",
|
|
||||||
extract = true,
|
|
||||||
as = i.Tparam,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
retrieve = "first",
|
retrieve = "first",
|
||||||
@@ -153,14 +146,14 @@ return {
|
|||||||
|
|
||||||
local results = helpers.copy({
|
local results = helpers.copy({
|
||||||
[i.HasParameter] = function(t)
|
[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,
|
end,
|
||||||
[i.Type] = true,
|
[i.Type] = true,
|
||||||
[i.Parameter] = function(t)
|
[i.Parameter] = true,
|
||||||
return t[i.Parameter]
|
|
||||||
end,
|
|
||||||
[i.Return] = true,
|
[i.Return] = true,
|
||||||
[i.HasReturn] = true,
|
|
||||||
[i.ReturnTypeHint] = true,
|
[i.ReturnTypeHint] = true,
|
||||||
[i.ArbitraryArgs] = true,
|
[i.ArbitraryArgs] = true,
|
||||||
[i.Kwargs] = true,
|
[i.Kwargs] = true,
|
||||||
@@ -168,9 +161,6 @@ return {
|
|||||||
[i.Tparam] = true,
|
[i.Tparam] = true,
|
||||||
}, res) or {}
|
}, 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
|
-- Removes generation for returns that are not typed
|
||||||
if results[i.ReturnTypeHint] then
|
if results[i.ReturnTypeHint] then
|
||||||
results[i.Return] = nil
|
results[i.Return] = nil
|
||||||
|
|||||||
@@ -43,17 +43,14 @@ return {
|
|||||||
local copy = {}
|
local copy = {}
|
||||||
|
|
||||||
for parameter, rule in pairs(rules) do
|
for parameter, rule in pairs(rules) do
|
||||||
local parameter_value = table[parameter]
|
|
||||||
|
|
||||||
if parameter_value then
|
if type(rule) == "function" then
|
||||||
if type(rule) == "function" then
|
copy[parameter] = rule(table)
|
||||||
copy[parameter] = vim.tbl_deep_extend("error", rule(table), copy[parameter] or {})
|
elseif rule == true then
|
||||||
elseif rule == true and parameter_value ~= nil then
|
copy[parameter] = table[parameter]
|
||||||
copy[parameter] = parameter_value
|
else
|
||||||
else
|
vim.notify("Incorrect rule format for parameter " .. parameter, vim.log.levels.ERROR)
|
||||||
vim.notify("Incorrect rule format for parameter " .. parameter, vim.log.levels.ERROR)
|
return
|
||||||
return
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user