# 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 ```rust 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). ```rust use scrawl::{editor, Contents}; fn main() -> Result<(), error::ScrawlError> { let output = editor::new() .editor("vim") .args("--clean") .ext(".rs) .open(Contents::FromFile(&"foo.txt"))?; } ```