local argparse = require "argparse"
|
local lfs = require "lfs"
|
local luacheck = require "luacheck"
|
local multithreading = require "luacheck.multithreading"
|
local utils = require "luacheck.utils"
|
|
local version = {}
|
|
version.luacheck = luacheck._VERSION
|
|
if rawget(_G, "jit") then
|
version.lua = rawget(_G, "jit").version
|
elseif _VERSION:find("^Lua ") then
|
version.lua = "PUC-Rio " .. _VERSION
|
else
|
version.lua = _VERSION
|
end
|
|
version.argparse = argparse.version
|
|
version.lfs = utils.unprefix(lfs._VERSION, "LuaFileSystem ")
|
|
if multithreading.has_lanes then
|
version.lanes = multithreading.lanes.ABOUT.version
|
else
|
version.lanes = "Not found"
|
end
|
|
version.string = ([[
|
Luacheck: %s
|
Lua: %s
|
Argparse: %s
|
LuaFileSystem: %s
|
LuaLanes: %s]]):format(version.luacheck, version.lua, version.argparse, version.lfs, version.lanes)
|
|
return version
|