(38 lines)
1 #!/usr/bin/env nomsu -V7.0.02 ###3 This file defines some actions that interact with the filesystem.5 external:6 (files for $path) means:7 $files = (=lua "Files.list(\$path)")8 if $files:9 $files = (List $files)10 return $files11 $(read file $filename) = $Files.read12 [13 write to file $filename $text, to file $filename write $text14 write $text to file $filename15 ] all mean:16 unless ($filename != "stdin"):17 fail "Cannot write to stdin"19 lua> ("20 local file = io.open(\$filename, 'w')21 file:write(\$text)22 file:close()23 ")25 (source lines of $tree) means:26 $source = ($tree.source if ($tree is syntax tree) else $tree)27 $file = (read file $source.filename)28 return29 [:30 for $ in31 ($file, line number at $source.start) to ($file, line number at $source.stop)32 ..:33 add ($file, line $)34 ], joined with "\n"36 $(spoof file $text) = $Files.spoof37 $(spoof file $filename = $text) = $Files.spoof38 $(make directory $path) = $Files.make_directory