40 lines
869 B
Lua
40 lines
869 B
Lua
-- PHP lint plugin for lint+
|
|
|
|
--- CONFIG ---
|
|
|
|
-- config.lint.php_args: {string}
|
|
-- passes the specified arguments to php
|
|
|
|
--- IMPLEMENTATION ---
|
|
|
|
local lintplus = require "plugins.lintplus"
|
|
|
|
lintplus.add("php") {
|
|
filename = "%.php$",
|
|
procedure = {
|
|
command = lintplus.args_command(
|
|
{
|
|
"php",
|
|
"-l",
|
|
lintplus.args,
|
|
lintplus.filename
|
|
},
|
|
"php_args"
|
|
),
|
|
interpreter = function (filename, line, context)
|
|
local line_processed = false
|
|
return function ()
|
|
if line_processed then
|
|
return nil
|
|
end
|
|
local message, file, line_num = line:match(
|
|
"[%a ]+:%s*(.*)%s+in%s+(%g+)%s+on%sline%s+(%d+)"
|
|
)
|
|
if line_num then
|
|
line_processed = true
|
|
return filename, tonumber(line_num), 1, "error", message
|
|
end
|
|
end
|
|
end
|
|
},
|
|
}
|