Thanks to visit codestin.com
Credit goes to lib.rs

42 releases

0.1.48 Aug 4, 2025
0.1.46 Jul 28, 2025
0.1.41 Mar 11, 2025
0.1.40 Nov 16, 2024
0.1.1 Jun 16, 2023

#2615 in Parser implementations

Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App

2,135 downloads per month
Used in 10 crates (9 directly)

Apache-2.0

510KB
9K SLoC

Parser for Debian control files.

This crate provides a parser for Debian control files.

Example

use debian_control::lossy::Control;
use debian_control::fields::Priority;
use std::fs::File;

let mut control = Control::new();
let mut source = &mut control.source;
source.name = "hello".to_string();
source.section = Some("rust".to_string());

let mut binary = control.add_binary("hello");
binary.architecture = Some("amd64".to_string());
binary.priority = Some(Priority::Optional);
binary.description = Some("Hello, world!".to_string());

assert_eq!(control.to_string(), r#"Source: hello
Section: rust

Package: hello
Architecture: amd64
Priority: optional
Description: Hello, world!
"#);

See the lossless module for a parser that preserves all comments and formatting, and as well as allowing inline errors.


Lossless parser for Debian Control files

This crate provides a parser for Debian control files. It is lossless, meaning that it will preserve the original formatting of the file. It also provides a way to serialize the parsed data back to a string.

use debian_control::{Control, Priority};
use std::fs::File;

let mut control = Control::new();
let mut source = control.add_source("hello");
source.set_section("rust");

let mut binary = control.add_binary("hello");
binary.set_architecture("amd64");
binary.set_priority(Priority::Optional);
binary.set_description("Hello, world!");

assert_eq!(control.to_string(), r#"Source: hello
Section: rust

Package: hello
Architecture: amd64
Priority: optional
Description: Hello, world!
"#);

Dependencies

~6–9MB
~159K SLoC