kv3

Crates.iokv3
lib.rskv3
version0.1.1
sourcesrc
created_at2024-11-17 19:07:20.811914
updated_at2024-11-18 03:19:54.765163
descriptionkv3 (keyvalues 3) format parser with serde support
homepage
repositoryhttps://github.com/dxshie/kv3
max_upload_size
id1451498
size68,684
dashie (dxshie)

documentation

README

CI Crates.io Version docs.rs

kv3

A Rust crate for parsing Valve's KeyValues3 (KV3) format.

Overview

kv3 is a Rust library for parsing and serializing the KeyValues3 (KV3) format used by Valve in their games and tools. It allows you to read KV3 files and access their data in a structured way.

Features

  • Parsing: Parsing KV3 Format.
  • Deserialization: Deserialization Serde Support for the KV3 parsing.
  • Serialization: TODO.
  • Support for Header Metadata: TODO.
  • Support for Comments: Handles single-line (//), multi-line (/* ... */), and XML-style (<!-- ... -->) comments.
  • Support for Multiline Strings: Parses multiline strings enclosed in triple double-quotes (""").
  • Handles Various Data Types: Supports booleans, integers, floats, strings, arrays, hex arrays(binary blobs), objects, and null values.
  • Customizable Parsing: Built using the nom parser combinator library for flexibility.

Installation

Add kv3 to your Cargo.toml dependencies:

[dependencies]
kv3 = { version = "0.1.0", features = ["serde"] }
Commit count: 15

cargo fmt