11 breaking releases

new 0.12.1 May 2, 2024
0.11.1 Jan 3, 2024
0.11.0 Oct 29, 2023
0.10.0 Jul 27, 2022
0.2.0 Oct 1, 2017

#110 in Procedural macros

Download history 172/week @ 2024-01-13 153/week @ 2024-01-20 113/week @ 2024-01-27 124/week @ 2024-02-03 220/week @ 2024-02-10 225/week @ 2024-02-17 249/week @ 2024-02-24 247/week @ 2024-03-02 307/week @ 2024-03-09 272/week @ 2024-03-16 388/week @ 2024-03-23 346/week @ 2024-03-30 511/week @ 2024-04-06 248/week @ 2024-04-13 149/week @ 2024-04-20 276/week @ 2024-04-27

1,237 downloads per month
Used in atsamv71q21rt

MIT license

14KB
287 lines

crates.io crates.io CircleCI CI

Form

A library for splitting apart a large file with multiple modules into the idiomatic rust directory structure, intended for use with svd2rust. Creates a lib.rs as well as a subdirectory structure in the target directory. It does NOT create the cargo project or the cargo manifest file.

It's advised (but not necessary) to use rustfmt afterwards, or you can pass -f to use prettyplease.

Usage:

Arguments:

    -i, --input FILE    OPTIONAL: input file to read, defaults to stdin
    -o, --outdir DIR    set output directory
    -h, --help          print this help menu
    -v, --version       print version information
    -f                  format files with `prettyplease`

Intended usage (using svd2rust 0.12.1 and before):

svd2rust -i FOO.svd | form -o ~/private/code/form/test/src

Usage with svd2rust 0.13.0 and later can be found in svd2rust's documentation.

Advanced usage:

cargo install form
export RUST_LOG=form=debug
export RUST_BACKTRACE=1
form -i ~/private/code/form/resources/full-lib.rs -o ~/private/code/form/test/src

Dependencies

~4–5.5MB
~99K SLoC