Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/torch/luajit-rocks.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'luarocks/src/luarocks/config_cmd.lua')
-rw-r--r--luarocks/src/luarocks/config_cmd.lua73
1 files changed, 73 insertions, 0 deletions
diff --git a/luarocks/src/luarocks/config_cmd.lua b/luarocks/src/luarocks/config_cmd.lua
new file mode 100644
index 0000000..bf282a7
--- /dev/null
+++ b/luarocks/src/luarocks/config_cmd.lua
@@ -0,0 +1,73 @@
+--- Module implementing the LuaRocks "config" command.
+-- Queries information about the LuaRocks configuration.
+local config_cmd = {}
+
+local cfg = require("luarocks.cfg")
+local util = require("luarocks.util")
+local dir = require("luarocks.dir")
+
+config_cmd.help_summary = "Query information about the LuaRocks configuration."
+config_cmd.help_arguments = "<flag>"
+config_cmd.help = [[
+--lua-incdir Path to Lua header files.
+
+--lua-libdir Path to Lua library files.
+
+--lua-ver Lua version (in major.minor format). e.g. 5.1
+
+--system-config Location of the system config file.
+
+--user-config Location of the user config file.
+
+--rock-trees Rocks trees in use. First the user tree, then the system tree.
+]]
+
+local function config_file(conf)
+ print(dir.normalize(conf.file))
+ if conf.ok then
+ return true
+ else
+ return nil, "file not found"
+ end
+end
+
+--- Driver function for "config" command.
+-- @return boolean: True if succeeded, nil on errors.
+function config_cmd.run(...)
+ local flags = util.parse_flags(...)
+
+ if flags["lua-incdir"] then
+ print(cfg.variables.LUA_INCDIR)
+ return true
+ end
+ if flags["lua-libdir"] then
+ print(cfg.variables.LUA_LIBDIR)
+ return true
+ end
+ if flags["lua-ver"] then
+ print(cfg.lua_version)
+ return true
+ end
+ local conf = cfg.which_config()
+ if flags["system-config"] then
+ return config_file(conf.system)
+ end
+ if flags["user-config"] then
+ return config_file(conf.user)
+ end
+ if flags["rock-trees"] then
+ for _, tree in ipairs(cfg.rocks_trees) do
+ if type(tree) == "string" then
+ util.printout(dir.normalize(tree))
+ else
+ local name = tree.name and "\t"..tree.name or ""
+ util.printout(dir.normalize(tree.root)..name)
+ end
+ end
+ return true
+ end
+
+ return nil, "Please provide a flag for querying configuration values. "..util.see_help("config")
+end
+
+return config_cmd