| 1 | use std::{env, fs};
|
| 2 |
|
| 3 | fn main() {
|
| 4 | let user_arg = env::args().nth(1);
|
| 5 | let path = "/home/user/.local/share/ffr";
|
| 6 | let file_input = fs::read_to_string(path).unwrap_or_else(|e| panic!("ERROR: {e}"));
|
| 7 |
|
| 8 | match user_arg {
|
| 9 | Some(arg) => print_arg(&file_input, &arg),
|
| 10 | None => no_arg(&file_input),
|
| 11 | }
|
| 12 | }
|
| 13 |
|
| 14 | fn print_arg(input: &str, arg: &str) {
|
| 15 | let keyword = format!("#>{arg}");
|
| 16 | let mut printing = false;
|
| 17 |
|
| 18 | for line in input.lines() {
|
| 19 | if line.contains(&keyword) {
|
| 20 | printing = true;
|
| 21 | continue;
|
| 22 | }
|
| 23 |
|
| 24 | if printing {
|
| 25 | if line.starts_with("#>") {
|
| 26 | break;
|
| 27 | }
|
| 28 | println!("{line}");
|
| 29 | }
|
| 30 | }
|
| 31 | }
|
| 32 |
|
| 33 | fn no_arg(input: &str) {
|
| 34 | for line in input.lines() {
|
| 35 | if line.starts_with("#>") {
|
| 36 | break;
|
| 37 | }
|
| 38 | println!("{line}");
|
| 39 | }
|
| 40 | }
|