diff options
| author | Rose Hogenson <rosehogenson@posteo.net> | 2023-12-27 10:45:05 -0800 |
|---|---|---|
| committer | Rose Hogenson <rosehogenson@posteo.net> | 2023-12-27 10:45:05 -0800 |
| commit | 885c3629b82409fa5273cf6d43a0b975ecf23f11 (patch) | |
| tree | 6a271a98dc96d27b5e4cd393cc61347787b64b3e /src | |
| parent | 9834d5905d6cb0f1324841e96af069cedeb97f02 (diff) | |
| download | editor-885c3629b82409fa5273cf6d43a0b975ecf23f11.tar.zst | |
Wait for keypress before exiting.
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.rs | 19 |
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(()); } |
