aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/main.rs b/src/main.rs
index 844b396..25458ed 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -3,7 +3,7 @@ mod term;
use rope::Rope;
use std::ffi::{OsStr, OsString};
-use std::io::Write;
+use std::io::{Read, Write};
use std::path::Path;
fn edit(file: &OsStr) -> Result<(), String> {
@@ -28,8 +28,23 @@ fn edit(file: &OsStr) -> Result<(), String> {
};
let mut stdout = std::io::stdout();
for i in 0..usize::from(size.ws_row) {
+ if i > 0 {
+ let _ = stdout.write(b"\r\n");
+ }
let _ = r.print_line(&mut stdout, i);
- let _ = stdout.write(b"\r\n");
+ }
+ let _ = stdout.flush();
+
+ let mut stdin = std::io::stdin();
+ let mut buf = vec![0; 1];
+ match stdin.read(&mut buf) {
+ Err(err) => {
+ return Err(format!("read input: {}", err));
+ }
+ Ok(0) => {
+ return Err(String::from("no input"));
+ }
+ _ => (),
}
return Ok(());
}