Moins de lignes dans main.rs, délégation de l'appel de parse à struct Buffer

This commit is contained in:
Ahurac 2023-12-10 20:57:54 +01:00
parent b77b887081
commit 9022d04ca9
2 changed files with 11 additions and 12 deletions

View file

@ -1,5 +1,6 @@
use std::io as stdio;
use stdio::stdin;
use crate::parser;
pub struct Buffer {
buffer: String,
@ -27,11 +28,11 @@ impl Buffer {
}
}
pub fn is_empty(&self) -> bool {
self.buffer.is_empty()
pub fn parse(&self) -> Option<Vec<String>> {
if ! self.buffer.is_empty() {
Some(parser::parse(&self.buffer))
} else {
None
}
pub fn get_buffer(&self) -> &String {
&self.buffer
}
}

View file

@ -7,17 +7,15 @@ mod parser;
fn main() {
let mut buffer = input::Buffer::new();
let mut bytes_read: usize = 1;
let mut command_line: String;
let mut argv: Vec<String>;
let mut argv: Option<Vec<String>>;
while bytes_read != 0 {
output::print_ps1();
bytes_read = buffer.read_line();
if ! buffer.is_empty() {
command_line = buffer.get_buffer().to_string();
argv = parser::parse(&command_line);
println!("{:?}", argv);
argv = buffer.parse();
if argv.is_some() {
println!("{:?}", argv.unwrap());
}
}