turntable works nicer now

This commit is contained in:
husky 2025-09-11 16:47:22 -07:00
parent 776b7d131d
commit aef7420a9b

View file

@ -111,14 +111,14 @@ fn lsdir(env: &Environment<'_>) {
println("unexpected eod"); println("unexpected eod");
break; break;
} }
print(" - "); print("- ");
liblbos::syscalls::write_terminal( liblbos::syscalls::write_terminal(
&record.name[..record.name.iter().position(|&x| x == 0).unwrap_or(11)], &record.name[..record.name.iter().position(|&x| x == 0).unwrap_or(11)],
); );
if record.record_type == liblbos::fs::RecordType::Directory as u8 { if record.record_type == liblbos::fs::RecordType::Directory as u8 {
print(" (dir)"); print("(dir)");
} else { } else {
print(" (file)"); print("(file)");
} }
} }
print("\n"); print("\n");
@ -301,7 +301,7 @@ extern "C" fn main() {
print(VERSION); print(VERSION);
print("\n"); print("\n");
println("(c) 2025 Real Microsoft, LLC"); println("(c) 2025\nReal Microsoft, LLC");
print("> "); print("> ");
@ -319,20 +319,18 @@ extern "C" fn main() {
if *c == 0x7f && cmdbuf_len > 0 { if *c == 0x7f && cmdbuf_len > 0 {
cmdbuf_len -= 1; cmdbuf_len -= 1;
print("\x08 \x08"); 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[cmdbuf_len] = *c;
cmdbuf_len += 1; cmdbuf_len += 1;
if *c == b'\r' { liblbos::syscalls::write_terminal(&[*c]);
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]);
}
} }
} }
} }