## std.io: Platform-independent I/O constructs. Mostly revolves around files. ## This module is imported by default. # reference: https://nim-lang.org/docs/syncio.html # reference: https://doc.rust-lang.org/stable/std/io/ pub type File = ... pub type FileMode = enum[Read, Write, ReadWrite, Append] # todo: file destructors call `close` pub const stdout: File = ... pub const stdin: File = ... pub const stderr: File = ... pub func open(path: str, mode: FileMode): File = ... pub func close(file: owned File) = ... pub func write(file: File, values: varargs[str]) = ... pub func read(file: File): str? = ... pub func lines(file: File): Iter[str] = ... pub func chars(file: File): Iter[chr] = ... pub func exists(file: File): bool = ... pub func hidden(file: File): bool = ... pub func size(file: File): uint = ... pub func dir(file: File): str = ... pub func path(file: File): str = ...