selene
selene copied to clipboard
A blazing-fast modern Lua linter written in Rust
Selene bf2aac0d1279582f5f4e30c51de76901ea12cfe5 When testing broken files, I got several crashes like ``` The application panicked (crashed). Message: default standard library 'lua52' failed deserialization: did not find expected key at line...
`table.insert(raycastParams.FilterDescendantInstances, instance)` does not do anything. We can lint for anything that inserts into a field named "FilterDescendantInstances". We could theoretically only check this on things we know to be...
```Lua local chunk = "a:b c:d" local data = {} for key, value in string.gmatch(chunk, "(%S+):(%S+)") do data[key] = value end ``` This incorrectly reports a manual table clone on...
Similar to the existing deprecation lint, it would be nice to be able to specify a custom message for must_use
*This should be pretty low priority because of the easy fix.* # Reproduction steps: - Download and unzip Selene 0.18.1 or lower - Set up the Selene path in VSCode...
Right now you can define an non-exported type like `type MyType = string | number`, fail to use it, and selene will ignore this. It would be useful if a...
```lua local mouseLocation = UserInputService:GetMouseLocation() local worldPosition = Workspace.CurrentCamera:ScreenPointToRay(mouseLocation.X, mouseLocation.Y ``` ...is very subtly wrong, and will be offset, which you sometimes want, but not with mouse location. ```lua local...
So WIP I don't even want to write a body right now #222
For example, alongside #14, you could make a special standard just for `*.spec.lua` files.
This would give us a few benefits: 1. Makes it impossible to get errors where API dump changes and old selene versions completely brick for generating, which happened recently (the...