Skip to content

Latest commit

 

History

History
47 lines (34 loc) · 1.62 KB

File metadata and controls

47 lines (34 loc) · 1.62 KB

sync-code

CI Crates.io Docs.rs License Downloads

sync-code synchronizes code blocks across different files, providing a clear alternative to macros in certain scenarios.
When duplication is limited but the design is complex (for example, involving generics), macros often reduce readability and make maintenance harder.
By using sync-code instead, the code remains straightforward and maintainable, while development tools such as Go-to-definition and intelligent auto-completion continue to work as expected.

Usage

Run command:

cargo add --build sync-code

See crate.

build.rs:

fn main() {
    sync_code::Builder::new()
        .add("src/target1.rs", "src/source1.rs")
        .add("src/target2.rs", "src/source2.rs")
        .sync();
}

your_code.rs:

// $sync block_name

fn code_you_want_to_sync() {
}

// $sync end

See also tests.

🔖 Keywords

sync-code · rust · code generation · macro replacement · generics · readability · maintainability · developer tools