From 885c3629b82409fa5273cf6d43a0b975ecf23f11 Mon Sep 17 00:00:00 2001 From: Rose Hogenson Date: Wed, 27 Dec 2023 10:45:05 -0800 Subject: Wait for keypress before exiting. --- src/main.rs | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'src') 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(()); } -- cgit v1.3.1