mpeterv / luacheck

A tool for linting and static analysis of Lua code.
MIT License
1.92k stars 321 forks source link

Don't warn about unused globals when both defined implicitly and through std #196

Open NutchapolSal opened 5 years ago

NutchapolSal commented 5 years ago

here's an example:

a game has the function foo it calls, but it lets the lua file define it

function foo()
    local x = math.random(1, 999)
    draw.bars_on_screen(x)

    x = math.some_stuff(10, x)
    draw.some_more_baz(x)
end

i have allow_defined enabled, and draw and it's fields defined in std

foo() doesn't come up in the rest of the lua file, so it now warns that foo() is an unused global

i'm suggesting that when this new option is enabled then if it is both defined in std and implicitly inside the file, then don't warn about it.