About
The sprint
crate provides the Shell
struct which represents a shell
session in your library or CLI code and can be used for running commands:
Shell
exposes its properties so you can easily
create a custom shell or modify an existing shell with
the settings you want.
The sprint
crate also provides the sprint
CLI which provides an easy way to
use the library directly from the command line in two modes:
CLI examples
$ sprint -h
Command runner
Usage: sprint [OPTIONS] [STRING]...
Arguments:
[STRING]... File(s) or command(s)
Options:
-s <STRING> Shell [default: "sh -c"]
-f <STRING> Fence [default: ```]
-i <STRING> Info [default: text]
-p <STRING> Prompt [default: "$ "]
-h, --help Print help
-V, --version Print version
Run command(s) given as arguments
$ sprint 'ls'
```text
$ ls
Cargo.lock
Cargo.toml
CHANGELOG.md
Makefile.md
README.md
src
t
target
tests
```
Run interactively
Library examples
Run command(s) and show the output
use *;
let shell = default;
shell.run;
// or equivalently:
//shell.run_str(&["ls", "ls -l"]);
Run command(s) and return the output
use *;
let shell = default;
let results = shell.run;
assert_eq!;
Customize
use *;
let shell = Shell ;
shell.run;
Modify
use *;
let mut shell = default;
shell.shell = None;
shell.run;
shell.sync = false;
shell.run;
Changelog
- 0.1.0 (2023-12-22): Initial release
- 0.1.1 (2023-12-24): Fix readme
- 0.1.2 (2023-12-24): Fix readme
- 0.2.0 (2023-12-26): Redesign; update dependencies
- 0.3.0 (2023-12-27): Add error handling
- 0.4.0 (2023-12-29): Fix error handling
- 0.5.0 (2024-01-05): Add CLI; update dependencies
- 0.6.0 (2024-01-05): Fix script mode output