/rust-bundler-cp

rust-bundler-cp bundles a cargo package into a single rust file. It's designed for Competitive programming like Codeforces.

Primary LanguageRustMIT LicenseMIT

Stand With Ukraine rust-bundler-cp

This project is based on rust-bundler

Creates a single-source-file version of a Cargo package. It's designed for Competitive Programming like Codeforces.

Features

  • Uses Syn to parse and manipulate a complete syntax tree, instead of doing replacement with regular expression.
  • Replaces extern crate my_lib; in main.rs with the contents of lib.rs.
  • Expands mod my_mod; declarations into mod my_mod { ... } blocks.
  • rustfmt needs to be available in PATH, i.e. dnf install rustfmt. I'll consider bundle rustfmt in my code later.
  • Unsupported: External [dependencies] in Cargo.toml

Example

Endle's codeforces template is co-evoloved with rust-bundler-cp, and is considered as the example of it.

Usage

Install:

$ cargo install rust_bundler_cp

Run:

$ rust_bundler_cp --input path/to/project >output.rs
$ rust_bundler_cp --input path/to/project --binary a

Similar Projects