diff options
Diffstat (limited to 'fnl/util.fnl')
-rw-r--r-- | fnl/util.fnl | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/fnl/util.fnl b/fnl/util.fnl index 12abe74..c372393 100644 --- a/fnl/util.fnl +++ b/fnl/util.fnl @@ -2,11 +2,15 @@ (tset _G :loaded {}) (tset M :require! (lambda [name] - (tset _G.loaded name (require name)) - (. _G.loaded name))) + (local (ok req) (pcall require name)) + (when ok + (tset _G.loaded name req) + (. _G.loaded name)))) (tset M :setup! (lambda [name ?config] ;(tset _G.loaded :name ((. (require name) :setup) (or ?config {}))))) - ((. (M.require! name) :setup) (or ?config {})))) + (local req (M.require! name)) + (when (~= req nil) + ((. (M.require! name) :setup) (or ?config {}))))) M |