10 releases (3 stable)
2.0.0 | Feb 2, 2023 |
---|---|
1.1.0 | Dec 5, 2019 |
1.0.0 | Jul 30, 2019 |
0.9.0 | Jul 27, 2019 |
0.1.5 | Jul 27, 2019 |
#185 in Text editors
215 downloads per month
Used in 6 crates
16KB
223 lines
Scrawl
Rust library that opens a user's text editor and returns the results as a string. Can be used to open and edit exisiting files, or just as a scratch space for input. Useful for having a user edit text inline with a CLI program a la git commit -m
Quick Start
use scrawl;
fn main() {
// Open an empty buffer with the user's preferred text editor
let output = scrawl::new()?;
println!("User Input: {}", output.to_string());
// Open a buffer with contents in the text editor
let output = scrawl::with(&"Favorite color: ")?;
println!("{}", output.to_string());
// Open a buffer with text from a file in the text editor
let output = scrawl::from_file(&"survey.txt")?;
println!("{}", output.to_string());
// Open a file for direct editing in the text editor
scrawl::edit_file(&"README.md")?;
}
Editor Struct
The Editor struct allows you to set certain options before opening the editor. Such as: which editor to open, which arguments to pass to that editor, which file extension to use when editing (provides editors with syntax highlight hints).
use scrawl::{editor, Contents};
fn main() -> Result<(), error::ScrawlError> {
let output = editor::new()
.editor("vim")
.args("--clean")
.ext(".rs)
.open(Contents::FromFile(&"foo.txt"))?;
}