Luacheck module¶
Use local luacheck = require "luacheck" to import luacheck module. It contains the following functions:
- luacheck.get_report(source): Given source string, returns analysis data (a table).
- luacheck.process_reports(reports, options): Processes array of analysis reports and applies options.- reports[i]uses- options,- options[i],- options[i][1],- options[i][2], ... as options, overriding each other in that order. Options table is a table with fields similar to config options; see Config options. Analysis reports with field- fatalare ignored.- process_reportsreturns final report, see Report format.
- luacheck.check_strings(sources, options): Checks array of sources using options, returns final report. Tables with field- fatalwithin- sourcesarray are ignored.
- luacheck.check_files(files, options): Checks array of files using options, returns final report. Open file handles can passed instead of filenames, in which case they will be read till EOF and closed.
- luacheck.get_message(issue): Returns a string message for an issue, see Report format.
luacheck._VERSION contains Luacheck version as a string in MAJOR.MINOR.PATCH format.
Using luacheck as a function is equivalent to calling luacheck.check_files.
Report format¶
A final report is an array of file reports plus fields warnings, errors and fatals containing total number of warnings, errors and fatal errors, correspondingly.
A file report is an array of issues (warnings or errors). If a fatal error occurred while checking a file, its report will have fatal field containing error type and msg field containing error message.
An issue is a table with field code indicating its type (see List of warnings), and fields line, column and end_column pointing to the source of the warning. name field may contain name of related variable. Issues of some types can also have additional fields:
| Codes | Additional fields | 
|---|---|
| 011 | msgfield contains syntax error message. | 
| 111 | modulefield indicates that assignment is to a non-module global variable. | 
| 122, 142, 143 | indirectfield indicates that the global field was accessed using a local alias. | 
| 122, 142, 143 | fieldfield contains string representation of related global field. | 
| 211 | funcfield indicates that unused variable is a function. | 
| 211 | recursivefield indicates that unused function is recursive. | 
| 211 | mutually_recursivefield is set for unused mutually recursive functions. | 
| 314 | fieldfield contains string representation of ununsed field or index. | 
| 4.. | prev_lineandprev_columnfields contain location of the overwritten definition. | 
| 521 | labelfield contains label name. | 
| 631 | line_endingfield contains"comment"or"string"if line ending is within a comment or a string. | 
| 631 | max_lengthfield contains maximum allowed line length. | 
Other fields may be present for internal reasons.