diff --git a/utility/main.rs b/utility/main.rs index fbbcb14a848ecb58e4d377224875ea4b196d59e9..9f5a02aa166502f4553e024500c335db569ed4e8 100644 --- a/utility/main.rs +++ b/utility/main.rs @@ -97,6 +97,24 @@ fn shell<E: Display>(mut fs: FileSystem<E>){ println!("cd <path>"); } }, + "ed" => { + if let Some(arg) = args.next() { + let mut data = String::new(); + loop { + let mut line = String::new(); + stdin.read_line(&mut line).unwrap(); + + if line.is_empty() || line == ".\n" { + break; + } else { + data.push_str(&line); + } + } + println!("{}:\n{}", arg, data); + } else { + println!("ed <path>"); + } + }, "find" => { if let Some(arg) = args.next() { match fs.find_node(arg, block) {