-
I use personally use https://github.com/LuaLS/lua-language-server which support type checking with virtual python-like "classes", type aliases, header files for external APIs, etc. It also have official support for VSCode, Neovim, basically all editors supporting the Language Server Protocol and it can even work in command line for statically linting your code inside your CI workflows.
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
For OOP, look into metatables. I got started with Lua through Love2D and through that I found some OOP modules that are pretty helpful. Here’s a full list of them: https://github.com/love2d-community/awesome-love2d (I’ve been using classic with my projects)