poe-item-parser 0.1.0

Path of Exile Item Text Parser
Documentation
// src/main.rs
use std::env;
use std::fs;

use pest_derive::Parser;
use poe_item_parser::PoeItem;

#[derive(Parser)]
#[grammar = "./poe-item.pest"]
pub struct PoeParser;

fn main() {
    let args: Vec<String> = env::args().collect();
    if args.len() < 2 {
        eprintln!("Usage: poe_item_parser <file.txt>");
        std::process::exit(1);
    }

    let input = fs::read_to_string(&args[1])
        .expect("Failed to read input file")
        .replace("\r\n", "\n")
        .replace('\r', "\n");

    let item = PoeItem::parse(&input).unwrap();
    println!("{:#?}", item);
}