MCPcopy Index your code
hub / github.com/djmcgill/form

github.com/djmcgill/form @v0.13.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.13.0 ↗ · + Follow
22 symbols 41 edges 11 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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

Core symbols most depended-on inside this repo

create_directory_structure
called by 3
src/util.rs
write_file
called by 2
src/util.rs
sub_mod
called by 1
src/util.rs
fold_sub_mod
called by 1
src/util.rs
write_mod_file
called by 1
src/util.rs
extract_mod
called by 1
src/util.rs
make_file
called by 1
src/util.rs
is_name_reserved
called by 1
src/util.rs

Shape

Function 14
Class 4
Method 4

Languages

Rust100%

Modules by API surface

src/util.rs11 symbols
src/opts.rs5 symbols
tests/file-test.rs3 symbols
tests/resources/small-lib-before.rs1 symbols
tests/resources/after/lib.rs1 symbols
src/main.rs1 symbols

For agents

$ claude mcp add form \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page