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