scriptlike
scriptlike copied to clipboard
Utility library to help you write script-like programs in D
``` ../../../../.dub/packages/scriptlike-0.10.2/scriptlike/src/scriptlike/path/extras.d(25,8): Deprecation: module `std.path` member osDefaultCaseSensitivity is not visible from module extras ../../../../.dub/packages/scriptlike-0.10.2/scriptlike/src/scriptlike/path/wrappers.d(26,15): Deprecation: module `std.path` member osDefaultCaseSensitivity is not visible from module wrappers ../../../../.dub/packages/scriptlike-0.10.2/scriptlike/src/scriptlike/interact.d(173,24): Deprecation: function `std.string.removechars!string.removechars` is...
- [ ] Path("~") -> Path("/home/user") - [ ] Path("~/.config/foo") -> Path("/home/user/.config/foo") - [ ] Path("~user2") -> Path("/home/user2") - [ ] Path("~custom_home_user") -> Path("/var/www") see std.path.expandTilde and reading /etc/passwd or...
(Relies on #35)
Note https://github.com/dlang/dub/issues/907 (If possible) Need a function to wrap thisExePath that returns __FILE_FULL_PATH__ insetad of thisExePath when appropriate.
...and `getcwd` (unavoidably) resolves symlinks automatically (unlike the `pwd` shell command). Fixing this properly will require #21.
Would be great to have a version of userInput that masked what was typed, e.g. using "read -s"
For a simple lone symbol, interp should allow simplifying this... ``` d auto foo = 42; auto str = mixin(interp!"Value is ${foo} now"); ``` ...down to... ``` d auto foo...
I'm missing an asynchronous variant of `tryRun` that returns a `Future` of a structure containing the process exist status along with outputs to stdout and stderr if any. `asyncRun` is...
`./somebin ...` works everywhere but windows. Omitting the `./` *only* works on windows. Need to figure out a good way so scripts don't need awful garbage like: ```d run(`.`~dirSeparator~`mytool --args`);...
A "try" version of it should be usable on Windows even if it's only a no-op there.