A static analyzer and linter for Lua code that detects undefined globals, unused variables, and other issues.
Luacheck is a static analyzer and linter for Lua that detects a wide range of coding issues, such as undefined global variables, unused variables and values, uninitialized variable access, and unreachable code. It aims to improve Lua code quality through configurable static analysis, supporting Lua versions 5.1 through 5.4 and LuaJIT. The tool is designed to be flexible and lightweight, with options for customization via command line, configuration files, or inline comments.
Lua developers and teams working on projects across multiple Lua versions (5.1-5.4 and LuaJIT) who need to enforce code quality and catch common errors early in development. It is particularly useful for those integrating linting into editors or CI/CD pipelines.
Developers choose Luacheck for its broad Lua version compatibility, high configurability for project-specific needs, and extensive editor integration. Its ability to perform parallel checking with LuaLanes offers performance advantages for large codebases.
A tool for linting and static analysis of Lua code.
Supports Lua 5.1 through 5.4 and LuaJIT, making it versatile for projects targeting diverse Lua environments, as explicitly stated in the overview.
Options to define custom globals, filter warnings, and configure via command line, config files, or inline comments allow fine-tuned code quality checks tailored to project needs.
Plugins available for Vim, Sublime Text, Atom, Emacs, VS Code, and others provide real-time inline warnings, enhancing developer workflow as detailed in the related projects section.
Optional support for LuaLanes enables faster analysis of large codebases, improving efficiency where performance is a concern, though it requires an additional dependency.
Cannot detect runtime errors or issues in dynamically generated code, limiting its effectiveness for Lua patterns that rely on execution-time behavior.
Parallel checking requires separate installation of LuaLanes, adding complexity and potential setup hurdles, as noted in the installation instructions.
The README warns that the luacheck module interface may change between minor releases, which could break custom integrations or require maintenance efforts.
A PHP parser written in PHP
:sparkles: Monorepo for all the tooling which enables ESLint to support TypeScript
Static Type Checker for Python
🐶 Automated code review tool integrated with any code analysis tools regardless of programming language
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.