Handling of interaction with users via standard input.
Utility to aid in script-like programs.
Utility to aid in script-like programs.
Part of workaround for DMD Issue #12111
Part of workaround for DMD Issue #12111
Convenience aliases
In your main(), catch this Fail exception, then output Fail.msg and return an error code.
Just like std.path.absolutePath, but operates on Path.
Part of workaround for DMD Issue #12111
Just like std.file.append, but takes a Path.
Part of workaround for DMD Issue #12111
Just like std.path.baseName, but operates on Path.
Part of workaround for DMD Issue #12111
Like buildNormalizedPath, but if the result is the current directory, this returns "." instead of "". However, if all the inputs are "", or there are no inputs, this still returns "" just like buildNormalizedPath.
Just like std.file.chdir, but echoes if scriptlikeTraceCommands is true.
Just like std.file.chdir, but takes a Path, and echoes if scriptlikeTraceCommands is true.
Just like std.file.copy, but echoes if scriptlikeTraceCommands is true.
Just like std.file.copy, but takes Path, and echoes if scriptlikeTraceCommands is true.
Just like std.file.copy, but takes Path, and echoes if scriptlikeTraceCommands is true.
Just like std.path.defaultExtension, but operates on Path and optionally Ext.
Part of workaround for DMD Issue #12111
Part of workaround for DMD Issue #12111
Just like std.file.dirEntries, but takes a Path.
Just like std.file.dirEntries, but takes a Path.
Just like std.path.dirName, but operates on Path.
Part of workaround for DMD Issue #12111
Just like std.path.driveName, but operates on Path.
Part of workaround for DMD Issue #12111
Part of workaround for DMD Issue #12111
Just like std.file.exists, but takes a Path.
Checks if the path exists as a directory.
Checks if the path exists as a directory.
Checks if the path exists as a file.
Checks if the path exists as a file.
Checks if the path exists as a symlink.
Checks if the path exists as a symlink.
Just like std.path.expandTilde, but operates on Path.
Part of workaround for DMD Issue #12111
Helper for creating an Ext.
Just like std.path.extension, but takes a Path and returns an Ext.
Part of workaround for DMD Issue #12111
If you've set up your main() to handle the Fail exception (as shown in Fail's documentation, then call this to end your program with an error message in an exception-safe way.
Part of workaround for DMD Issue #12111
Just like std.path.filenameCmp, but operates on Path.
Part of workaround for DMD Issue #12111
Part of workaround for DMD Issue #12111
Just like std.file.getAttributes, but takes a Path.
Part of workaround for DMD Issue #12111
Just like std.file.getLinkAttributes, but takes a Path.
Part of workaround for DMD Issue #12111
Just like std.file.getSize, but takes a Path.
Part of workaround for DMD Issue #12111
Just like std.file.getTimes, but takes a Path.
Part of workaround for DMD Issue #12111
Windows-only. Just like std.file.getTimesWin, but takes a Path.
Just like std.path.globMatch, but operates on Path.
Part of workaround for DMD Issue #12111
Just like std.path.isAbsolute, but operates on Path.
Part of workaround for DMD Issue #12111
Just like std.path.isRooted, but operates on Path.
Part of workaround for DMD Issue #12111
Just like std.path.isValidFilename, but operates on Path.
Part of workaround for DMD Issue #12111
Just like std.path.isValidPath, but operates on Path.
Part of workaround for DMD Issue #12111
Just like std.file.mkdir, but echoes if scriptlikeTraceCommands is true.
Just like std.file.mkdir, but takes a Path, and echoes if scriptlikeTraceCommands is true.
Just like std.file.mkdirRecurse, but echoes if scriptlikeTraceCommands is true.
Just like std.file.mkdirRecurse, but takes a Path, and echoes if scriptlikeTraceCommands is true.
Helper for creating a Path.
Just like std.path.pathSplitter. Note this returns a range of strings, not a range of Path.
Part of workaround for DMD Issue #12111
Just like std.file.read, but takes a Path.
Part of workaround for DMD Issue #12111
Part of workaround for DMD Issue #12111
Posix-only. Just like std.file.readLink, but operates on Path.
Part of workaround for DMD Issue #12111
Part of workaround for DMD Issue #12111
Just like std.path.relativePath, but operates on Path.
Just like std.path.relativePath, but operates on Path.
Just like std.file.remove, but takes a Path, and echoes if scriptlikeTraceCommands is true.
Just like std.file.remove, but echoes if scriptlikeTraceCommands is true.
Just like std.file.rename, but echoes if scriptlikeTraceCommands is true.
Just like std.file.rename, but takes Path, and echoes if scriptlikeTraceCommands is true.
Just like std.file.rename, but takes Path, and echoes if scriptlikeTraceCommands is true.
Just like std.file.rmdir, but takes a Path, and echoes if scriptlikeTraceCommands is true.
Just like std.file.rmdir, but echoes if scriptlikeTraceCommands is true.
Just like std.file.rmdirRecurse, but takes a Path, and echoes if scriptlikeTraceCommands is true.
Just like std.file.rmdirRecurse, but echoes if scriptlikeTraceCommands is true.
Part of workaround for DMD Issue #12111
Just like std.path.rootName, but operates on Path.
Runs a command, through the system's command shell interpreter, in typical shell-script style: Synchronously, with the command's stdout/in/err automatically forwarded through your program's stdout/in/err.
Part of workaround for DMD Issue #12111
Part of workaround for DMD Issue #12111
Just like std.path.setExtension, but operates on Path.
Just like std.path.setExtension, but operates on Path.
Just like std.file.setTimes, but takes a Path.
Part of workaround for DMD Issue #12111
Part of workaround for DMD Issue #12111
Part of workaround for DMD Issue #12111
Just like std.path.stripDrive, but operates on Path.
Part of workaround for DMD Issue #12111
Just like std.path.stripExtension, but operates on Path.
Posix-only. Just like std.file.symlink, but takes Path, and echoes if scriptlikeTraceCommands is true.
Just like std.file.symlink, but echoes if scriptlikeTraceCommands is true.
Just like std.file.timeLastModified, but takes a Path.
Just like std.file.timeLastModified, but takes a Path.
Part of workaround for DMD Issue #12111
If 'from' exists, then copy. Otherwise do nothing.
If 'name' doesn't already exist, then mkdir. Otherwise do nothing.
If 'name' doesn't already exist, then mkdirRecurse. Otherwise do nothing.
If 'name' exists, then remove. Otherwise do nothing.
If 'from' exists, then rename. Otherwise do nothing.
If 'name' exists, then rmdir. Otherwise do nothing.
If 'name' exists, then rmdirRecurse. Otherwise do nothing.
If 'original' exists, then symlink. Otherwise do nothing.
Part of workaround for DMD Issue #12111
Just like std.file.write, but takes a Path.
Just like std.file.isDir, but takes a Path.
Part of workaround for DMD Issue #12111
Just like std.file.isFile, but takes a Path.
Part of workaround for DMD Issue #12111
Just like std.file.isSymlink, but takes a Path.
Part of workaround for DMD Issue #12111
Represents a file extension.
Represents a filesystem path. The path is always kept normalized automatically (as performed by buildNormalizedPathFixed).
Just like std.file.readText, but takes a Path.
Just like std.file.slurp, but takes a Path.
If true, all commands will be echoed to stdout
Utility to aid in script-like programs.
This is deliberately created as one file for easier usage in script-like programs.
Written in the D programming language. Tested with DMD 2.064.2 Licensed under The zlib/libpng License
Homepage: https://github.com/abscissa/scriptlike
API Reference: http://semitwist.com/scriptlike