From aef7420a9b545e79c1d1f28afcf82bbe3cd3269e Mon Sep 17 00:00:00 2001 From: husky Date: Thu, 11 Sep 2025 16:47:22 -0700 Subject: [PATCH] turntable works nicer now --- turntable/src/main.rs | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/turntable/src/main.rs b/turntable/src/main.rs index ef457bc..1d7277c 100644 --- a/turntable/src/main.rs +++ b/turntable/src/main.rs @@ -111,14 +111,14 @@ fn lsdir(env: &Environment<'_>) { println("unexpected eod"); break; } - print(" - "); + print("- "); liblbos::syscalls::write_terminal( &record.name[..record.name.iter().position(|&x| x == 0).unwrap_or(11)], ); if record.record_type == liblbos::fs::RecordType::Directory as u8 { - print(" (dir)"); + print("(dir)"); } else { - print(" (file)"); + print("(file)"); } } print("\n"); @@ -301,7 +301,7 @@ extern "C" fn main() { print(VERSION); print("\n"); - println("(c) 2025 Real Microsoft, LLC"); + println("(c) 2025\nReal Microsoft, LLC"); print("> "); @@ -319,20 +319,18 @@ extern "C" fn main() { if *c == 0x7f && cmdbuf_len > 0 { cmdbuf_len -= 1; print("\x08 \x08"); - } else { + } else if *c == b'\r' { + execute(unsafe { + core::str::from_utf8_unchecked(&cmdbuf[0..cmdbuf_len]) + }, + &mut environment); + cmdbuf_len = 0; + print("> "); + break; + } else if !c.is_ascii_control() { cmdbuf[cmdbuf_len] = *c; cmdbuf_len += 1; - if *c == b'\r' { - execute(unsafe { - core::str::from_utf8_unchecked(&cmdbuf[0..cmdbuf_len - 1]) - }, - &mut environment); - cmdbuf_len = 0; - print("> "); - break; - } else { - liblbos::syscalls::write_terminal(&[*c]); - } + liblbos::syscalls::write_terminal(&[*c]); } } }