aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs
index 2cb1ba7..44985fb 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -43,6 +43,7 @@ fn run_command(raw: &ScopedRawMode, line: Vec<u8>) {
let parsed = match parsed {
Ok(p) => p,
Err(err) => {
+ println!("{line:?}");
print!("{err:?}\r\n{PROMPT}");
return;
}
@@ -148,7 +149,16 @@ fn run_command(raw: &ScopedRawMode, line: Vec<u8>) {
print!("\r{status_string}{PROMPT}");
}
+fn env_path() {
+ let path = std::env::var("PATH").unwrap();
+ for p in path.split(":") {
+ println!("{p}");
+ }
+}
+
fn event_loop() {
+ env_path();
+
let stdin = io::stdin();
let stdout = io::stdout();
@@ -176,6 +186,18 @@ fn event_loop() {
break;
}
+ // Ctrl+L
+ 12 => todo!(),
+
+ // Ctrl+R
+ 18 => {
+ // restart shell
+ raw.disable();
+ let _ = Command::new("cargo").arg("run").status();
+ raw.disable();
+ std::process::exit(0);
+ },
+
// Enter
b'\r' => {
let line = line.dump();