diff options
Diffstat (limited to 'build_commands.rs')
-rw-r--r-- | build_commands.rs | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/build_commands.rs b/build_commands.rs deleted file mode 100644 index 53ab74c..0000000 --- a/build_commands.rs +++ /dev/null @@ -1,61 +0,0 @@ -use std::env; -use std::fs::File; -use std::io::{ Read, Write }; -use std::path::Path; -use std::borrow::ToOwned; - -#[derive(Debug)] -struct Command { - command: String, - params: String, - doc: String -} - -fn main() { - let mut f = File::open("rfc2812_commands.txt").unwrap(); - - let mut content = String::new(); - f.read_to_string(&mut content).unwrap(); - - let mut lines = content.lines(); - let mut line = lines.next(); - - let mut commands = Vec::new(); - - let mut command: Option<&str> = None; - let mut params: Option<&str> = None; - let mut doc = String::new(); - while let Some(l) = line { - // if is new command - if l.chars().next().map(char::is_whitespace) == Some(false) - && command.is_some() && params.is_some() { - commands.push(Command { - command: command.unwrap().to_owned(), - params: params.unwrap().to_owned(), - doc: doc.clone() - }); - command = None; - params = None; - doc.clear(); - } - if l.trim().starts_with("Command:") { - command = Some(&l.trim()["Command: ".len()..]); - } else if l.trim().starts_with("Parameters:") { - params = Some(&l.trim()["Parameters: ".len()..]); - } - doc.push_str(l); - doc.push_str("\n"); - - line = lines.next(); - } - - println!("pub enum Command {{"); - for c in commands { - for l in c.doc.lines() { - println!(" /// {}", l); - } - - println!(" {}({}),\n", c.command, c.params); - } - println!("}}"); -} |