Skip to content

Implement rcedit-compatible CLI - #3

Open
pl4nty wants to merge 2 commits into
Systemcluster:mainfrom
pl4nty:main
Open

Implement rcedit-compatible CLI#3
pl4nty wants to merge 2 commits into
Systemcluster:mainfrom
pl4nty:main

Conversation

@pl4nty

Copy link
Copy Markdown

Change description
Implements a basic CLI and cargo feature to replace the recently-deprecated rcedit. Tested manually with rcedit's examples.

Detailsimage

Additional context
I used clap because I'm familiar with it, but I don't really have a strong preference for arg parser.

get_resource_string and set_resource_string might belong in resource.rs instead with corresponding tests, let me know if that's preferred.

The GitHub Action was just to quickly build exes for testing, since I develop on Linux. Happy to remove or replace with your preferred build/release approach for artefacts.

Co-authored-by: Tom Plant <tom@tplant.com.au>
CopilotAI review requested due to automatic review settings April 12, 2026 01:56

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an rcedit-compatible command-line interface to the editpe crate so developers can edit PE resources (version info, icons, manifests, string tables, RCDATA) via a binary, with an optional Cargo feature and CI builds for multiple targets.

Changes:

  • Introduces a new editpe CLI binary (Clap-based) with rcedit-like flags for reading/writing PE resources.
  • Adds a cli Cargo feature and gates the binary behind it (and enables it by default).
  • Extends the publish workflow with a build matrix that uploads platform artifacts.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 8 comments.

FileDescription
src/main.rsNew Clap-based CLI implementation plus helper functions for version parsing, manifest mutation, and string-table get/set.
Cargo.tomlAdds [[bin]] entry, introduces cli feature (with clap dep), and enables cli by default.
.github/workflows/publish.ymlAdds a matrix build job producing release binaries for multiple targets and uploading artifacts.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment threadsrc/main.rs Outdated
Comment threadsrc/main.rs Outdated
Comment threadsrc/main.rs
Comment threadsrc/main.rs Outdated
Comment threadsrc/main.rs
Comment threadsrc/main.rs
Comment threadCargo.toml Outdated
Comment threadsrc/main.rs
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@Systemcluster
Systemclusterforce-pushed the main branch 3 times, most recently from 90e5fb1 to a4c7611CompareAugust 12, 2026 16:09
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@pl4nty