Mercurial Hosting > luan
view src/luan/modules/Which_mod.luan @ 897:821e4634b787
remove _reuseAddress
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 06 Oct 2016 23:52:53 -0600 |
parents | 1a68fc55a80c |
children | bae2d0c2576c |
line wrap: on
line source
local Luan = require "luan:Luan.luan" local error = Luan.error local ipairs = Luan.ipairs or error() local pairs = Luan.pairs or error() local type = Luan.type or error() local String = require "luan:String.luan" local literal = String.literal or error() local matches = String.matches or error() local Io = require "luan:Io.luan" local print = Io.print or error() local M = {} M.uris = { "luan:Luan" "luan:Binary" "luan:Html" "luan:Io" "luan:Math" "luan:Package" "luan:String" "luan:Table" "luan:Thread" "luan:Time" "luan:host/Hosting" "luan:http/Http" "luan:http/Server" "luan:lucene/Lucene" "luan:lucene/Versioning" "luan:mail/Mail" "luan:logging/Logging" "luan:stripe/Stripe" } function M.which(name) local ptn = "[:./]"..literal(name).."$" for _, uri in ipairs(M.uris) do local mod = require(uri) if matches(uri,ptn) then print(uri) end if type(mod) == "table" then for key in pairs(mod) do if key == name then print(uri.." "..key) end end end end end return M