aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authors-ol <s+removethis@s-ol.nu>2021-10-20 22:29:17 +0000
committers-ol <s+removethis@s-ol.nu>2021-10-20 22:29:17 +0000
commitd7b608f3fd787385cae2c114b38a46afb547af8d (patch)
treeac5545bbdcfef96c69113127b43f7a54d4232d6d
parentSplit root out of mmm repo (diff)
downloadmmm-d7b608f3fd787385cae2c114b38a46afb547af8d.tar.gz
mmm-d7b608f3fd787385cae2c114b38a46afb547af8d.zip
look for plugins in own dir
-rw-r--r--mmm/mmmfs/builtins.moon36
-rw-r--r--mmm/mmmfs/meta.moon5
-rw-r--r--mmm/mmmfs/stores/fs.moon4
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