acf-parser

Crates.ioacf-parser
lib.rsacf-parser
version0.1.0
created_at2025-09-22 00:19:57.999201+00
updated_at2025-09-22 00:19:57.999201+00
descriptionA simple ACF parser, targeted at reading Valve configuration files
homepagehttps://github.com/DMoore12/acf-parser
repositoryhttps://github.com/DMoore12/acf-parser
max_upload_size
id1849370
size20,357
Dawson Moore (DMoore12)

documentation

README

acf-parser

crates.io docs license crates.io

A simple ACF parser, targeted at reading Valve configuration files

acf-parser is a lightweight Rust parser leveraging Chumsky for performant file parsing. The parser returns a vector of entries, each containing a HashMap with all listed elements.

NOTE: The Valve ACF format is not openly published. This project takes a stab at parsing the format based on a small selection of .acf inputs. Accuracy cannot be guaranteed for all input files!

Usage

use acf_parser::prelude::*;

fn main() {
    let result = parse_acf("./acfs/simple.acf");

    let result = result.unwrap();
    let root_entry = &result.entries[0];
    let root_contents = &root_entry.expressions;

    println!("Found root entry '{}'", root_entry.name);
    println!("App name: {}", root_contents["name"]);
    println!("App ID: {}", root_contents["appid"]);
}
Commit count: 7

cargo fmt