| Crates.io | openstep-plist |
| lib.rs | openstep-plist |
| version | 1.0.0 |
| created_at | 2025-11-28 10:09:02.151434+00 |
| updated_at | 2025-12-17 11:39:29.566707+00 |
| description | Parser and serializer for OpenStep Property List format |
| homepage | https://github.com/simoncozens/glyphslib-rs |
| repository | https://github.com/simoncozens/glyphslib-rs |
| max_upload_size | |
| id | 1955083 |
| size | 17,689,360 |
A Rust parser and serializer for the OpenStep Property List format.
OpenStep Property Lists are a text-based data serialization format used by NeXTSTEP, macOS, and various applications including Glyphs font editor. This crate provides:
serde serialization/deserializationThe OpenStep Property List format is similar to JSON but uses a different syntax:
{
name = "Example";
values = (1, 2, 3);
nested = {
key = value;
};
}
Add this to your Cargo.toml:
[dependencies]
openstep-plist = "0.1"
use openstep_plist::Plist;
let plist_text = r#"{
name = "Hello";
count = 42;
}"#;
let plist = Plist::parse(plist_text)?;
use serde::{Deserialize, Serialize};
use openstep_plist;
#[derive(Serialize, Deserialize)]
struct Config {
name: String,
count: i32,
}
let plist_text = r#"{ name = "Hello"; count = 42; }"#;
let config: Config = openstep_plist::from_str(plist_text)?;
let serialized = openstep_plist::to_string(&config)?;
This crate is inspired by and partially based on the ascii_plist_derive crate but provides Serde integration and support for serialization as well as deserialization.
Licensed under either of:
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.