aboutsummaryrefslogtreecommitdiff
path: root/gamemode/nrequire.lua
diff options
context:
space:
mode:
authorAlexander Pickering <alexandermpickering@gmail.com>2017-04-02 20:05:56 -0400
committerAlexander Pickering <alexandermpickering@gmail.com>2017-04-02 20:05:56 -0400
commit191ba416c8b611ea4901cead138789a357c56134 (patch)
treeb30ae3473c16028a14d3ed0c80633f360cc1c914 /gamemode/nrequire.lua
parenta22cbeddc5f8fb61e87a30aa14ba354de5cf4431 (diff)
downloadartery-191ba416c8b611ea4901cead138789a357c56134.tar.gz
artery-191ba416c8b611ea4901cead138789a357c56134.tar.bz2
artery-191ba416c8b611ea4901cead138789a357c56134.zip
I finally had some time to work on this... dependency added on bobbleheadbob's zone addon
Diffstat (limited to 'gamemode/nrequire.lua')
-rw-r--r--gamemode/nrequire.lua10
1 files changed, 8 insertions, 2 deletions
diff --git a/gamemode/nrequire.lua b/gamemode/nrequire.lua
index d437a5e..6595fed 100644
--- a/gamemode/nrequire.lua
+++ b/gamemode/nrequire.lua
@@ -106,7 +106,10 @@ local function scan(pretbl, name)
assert(cursor ~= nil,string.format("Scan did not find a file named %q, valid files are:\n\t%s",filename,table.concat(collect_paths(pretbl),"\n\t")))
local rev = {}
for i = 1, #pathparts do rev[#pathparts - i + 1] = pathparts[i] end
- for k,v in ipairs(rev) do cursor = cursor[v] end
+ for k,v in ipairs(rev) do
+ if cursor == nil then error(string.format("Scan could not complete file path translation while translateing %q at %s",table.concat(rev,","),v)) end
+ cursor = cursor[v]
+ end
while type(cursor) ~= "string" do
assert(type(cursor) ~= "nil",string.format("Could not find a valid file for path %q, file paths:\n\t%s",name,table.concat(collect_paths(pretbl),"\n\t")))
assert(tbllen(cursor) == 1,string.format("Ambiguous scan, there are two or more paths that match %q\n\t%s\nSpecify more of the file path.",name,table.concat(collect_paths(cursor),"\n\t")))
@@ -136,7 +139,7 @@ local pathstack = {}
function nrequire(req)
local tpath = scan(ntbl,req)
if reqtbl[tpath] then
- print("Cache hit! returning",reqtbl[tpath])
+ --print("Cache hit! returning",reqtbl[tpath])
--for k,v in pairs(reqtbl[tpath]) do print(k,":",v) end
return reqtbl[tpath]
end
@@ -146,9 +149,12 @@ function nrequire(req)
local tab_rep = {}
for k = 1, #pathstack do tab_rep[k] = "\t" end
print(string.format("%sIncluding %q",table.concat(tab_rep),tpath))
+ local oldprint = print
+ print = function(...) oldprint(" ",unpack({...})) end
pathstack[#pathstack + 1] = tpath
reqtbl[tpath] = include(tpath)
pathstack[#pathstack] = nil
+ print = oldprint
print(string.format("%sIncluded %q",table.concat(tab_rep),tpath))
return reqtbl[tpath]
end