diff options
Diffstat (limited to 'neb/std/fs.py')
| -rw-r--r-- | neb/std/fs.py | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/neb/std/fs.py b/neb/std/fs.py index 2265719..5983e20 100644 --- a/neb/std/fs.py +++ b/neb/std/fs.py @@ -1,4 +1,4 @@ -from .. import TypeEnum, Environment, Arg, Builtin, evaluate +from .. import TypeEnum, Environment, Arg, Builtin, evaluate, InterpretPanic from ..structs import * from pathlib import Path from glob import glob @@ -8,13 +8,13 @@ FS = Environment() def interpretExists(symbol, args, env, ns): return Bool(Path(args[0].value).resolve().exists()) -FS.register("exists?", Builtin(interpretExists, [Arg("filename", TypeEnum.STRING)])) +FS.register("exists?", Builtin("exists?", interpretExists, [Arg("filename", TypeEnum.STRING)])) def interpretGlob(symbol, args, env, ns): items = glob(args[0].value) return List([String(item) for item in items]) -FS.register("glob", Builtin(interpretGlob, [Arg("regex", TypeEnum.STRING)])) +FS.register("glob", Builtin("glob", interpretGlob, [Arg("regex", TypeEnum.STRING)])) def interpretUnlink(symbol, args, env, ns): target_path = Path(args[0].value).resolve() @@ -23,7 +23,7 @@ def interpretUnlink(symbol, args, env, ns): target_path.unlink() return List([]) -FS.register("unlink", Builtin(interpretUnlink, [Arg("filename", TypeEnum.STRING)])) +FS.register("unlink", Builtin("unlink", interpretUnlink, [Arg("filename", TypeEnum.STRING)])) def interpretWithWrite(symbol, args, env, ns): target_file = args[0] @@ -36,7 +36,7 @@ def interpretWithWrite(symbol, args, env, ns): ret = evaluate(arg, new_env, ns) return ret -FS.register("with-write", Builtin(interpretWithWrite, [Arg("filename", TypeEnum.STRING)], Arg("exprs", TypeEnum.ANY, lazy=True))) +FS.register("with-write", Builtin("with-write", interpretWithWrite, [Arg("filename", TypeEnum.STRING)], Arg("exprs", TypeEnum.ANY, lazy=True))) def interpretWrite(symbol, args, env, ns): # write :string :filehandle @@ -45,7 +45,7 @@ def interpretWrite(symbol, args, env, ns): handle.args[0].write(line.value) # TODO wrong! how do we evaluate a handle? return Literal([]) -FS.register("write", Builtin(interpretWrite, [Arg("string", TypeEnum.STRING), Arg("filename", TypeEnum.LIST)])) +FS.register("write", Builtin("write", interpretWrite, [Arg("string", TypeEnum.STRING), Arg("filename", TypeEnum.LIST)])) def interpretReadLines(symbol, args, env, ns): target_file_name = args[0].value @@ -57,5 +57,5 @@ def interpretReadLines(symbol, args, env, ns): out = List([String(d) for d in data]) # all lines are strings return out -FS.register("read-lines", Builtin(interpretReadLines, [Arg("filename", TypeEnum.STRING)])) +FS.register("read-lines", Builtin("read-lines", interpretReadLines, [Arg("filename", TypeEnum.STRING)])) |
