diff options
| author | s-ol <s+removethis@s-ol.nu> | 2021-10-20 22:29:17 +0000 |
|---|---|---|
| committer | s-ol <s+removethis@s-ol.nu> | 2021-10-20 22:29:17 +0000 |
| commit | d7b608f3fd787385cae2c114b38a46afb547af8d (patch) | |
| tree | ac5545bbdcfef96c69113127b43f7a54d4232d6d | |
| parent | Split root out of mmm repo (diff) | |
| download | mmm-d7b608f3fd787385cae2c114b38a46afb547af8d.tar.gz mmm-d7b608f3fd787385cae2c114b38a46afb547af8d.zip | |
look for plugins in own dir
| -rw-r--r-- | mmm/mmmfs/builtins.moon | 36 | ||||
| -rw-r--r-- | mmm/mmmfs/meta.moon | 5 | ||||
| -rw-r--r-- | mmm/mmmfs/stores/fs.moon | 4 |
3 files changed, 15 insertions, 30 deletions
diff --git a/mmm/mmmfs/builtins.moon b/mmm/mmmfs/builtins.moon index 775afcc..8c751dd 100644 --- a/mmm/mmmfs/builtins.moon +++ b/mmm/mmmfs/builtins.moon @@ -305,33 +305,15 @@ if MODE == 'CLIENT' or UNSAFE transform: loadwith load or loadstring } -if MODE == 'SERVER' - ok, moon = pcall require, 'moonscript.base' - if ok - _load = moon.load or moon.loadstring - if UNSAFE - table.insert converts, { - inp: 'text/moonscript -> (.+)', - out: '%1', - cost: 1 - transform: loadwith moon.load or moon.loadstring - } - - table.insert converts, { - inp: 'text/moonscript -> (.+)', - out: 'text/lua -> %1', - cost: 2 - transform: single moon.to_lua - } - else - table.insert converts, { - inp: 'text/javascript -> (.+)', - out: '%1', - cost: 1 - transform: (source) => - f = js.new window.Function, source - f! - } +if MODE == 'CLIENT' + table.insert converts, { + inp: 'text/javascript -> (.+)', + out: '%1', + cost: 1 + transform: (source) => + f = js.new window.Function, source + f! + } json_encode = (obj) -> switch type obj diff --git a/mmm/mmmfs/meta.moon b/mmm/mmmfs/meta.moon index ce3f4a1..75e47f3 100644 --- a/mmm/mmmfs/meta.moon +++ b/mmm/mmmfs/meta.moon @@ -22,7 +22,7 @@ get_meta = (fileder, path) -> local guard_self max_path = fileder.path - if closest = max_path\match('(.-)/$mmm') + if closest = max_path\match '(.-)/$mmm' max_path = closest guard_self = true @@ -36,6 +36,9 @@ get_meta = (fileder, path) -> if result = ancestor\walk path coroutine.yield result + if result = not guard_self and fileder\walk path + coroutine.yield result + get_plugins = (fileder) -> coroutine.wrap -> for plugins in get_meta fileder, 'plugins' diff --git a/mmm/mmmfs/stores/fs.moon b/mmm/mmmfs/stores/fs.moon index b558a9b..7ce6c74 100644 --- a/mmm/mmmfs/stores/fs.moon +++ b/mmm/mmmfs/stores/fs.moon @@ -45,7 +45,7 @@ class FSStore extends Store if forgiving @log "removed stale entry '#{line}' from #{path}/$order" continue - error "entry in $order but not on disk: #{line}" + error "entry in $order but not on disk: #{line} (at #{path})" table.insert sorted, entry sorted[line] = true @@ -58,7 +58,7 @@ class FSStore extends Store @log "adding new entry '#{entry.name}' in #{path}/$order" table.insert sorted, entry else - assert #unsorted == 0, unsorted[1] and "entry on disk but not in $order: #{unsorted[1].path}" + assert #unsorted == 0, unsorted[1] and "entry on disk but not in $order: #{unsorted[1].path} (at #{path})" sorted |
