A GitHub Action that applies curst (cursed + rust) formatting to Rust code by aligning all braces ({, }) and semicolons (;) in a right-aligned column. Perfect for wasting some time on a slow work day.
Transforms this Rust code:
fn main() {
let x = 42;
if x > 0 {
println!("positive");
}
}Into this masterpiece:
fn main() {
let x = 42 ;
if x > 0 {
println!("positive") ;
}
}name: Curst Formatter
on:
push:
branches: [ main ]
paths: [ '**/*.rs' ]
jobs:
format:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
- uses: gacorp/curst-formatter@v1- uses: gacorp/curst-formatter@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: "take up even more space"
spacing: 3| Input | Description | Required | Default |
|---|---|---|---|
token |
GitHub token for committing changes | No | ${{ github.token }} |
commit-message |
Commit message for formatted files | No | apply curst formatting |
spacing |
Spaces between longest line and aligned braces | No | 2 |
- Permissions: The action needs
contents: writepermission to commit changes - Rust files: Only processes
.rsfiles in the repository
Look into the examples/example-workflow.yml file.
- Because you can
Please open an issue or submit a pull request for any bugs or feature requests.
MIT License (c) 2025 Raj Singh