Search

Chapter 3. rustfmt

download PDF

The rustfmt tool provides automatic formatting of Rust source code.

Rust Toolset is distributed with rustfmt 1.0.0.

3.1. Installing rustfmt

On Red Hat Enterprise Linux 7, the rustfmt tool is provided by the rust-toolset-1.31-rustfmt-preview package. To install it:

# yum install rust-toolset-1.31-rustfmt-preview

3.2. Using rustfmt as a standalone tool

To format a rust source file and all its dependencies with the rustfmt tool:

  • For Red Hat Enterprise Linux 7:

    $ scl enable rust-toolset-1.31 'rustfmt source-file'
  • For Red Hat Enterprise Linux 8:

    $ rustfmt source-file

Replace source-file with path to the source file.

By default, rustfmt modifies the affected files in place without displaying details or creating backups. To change the behavior, use the --write-mode value option. For further details see the help mesage of rustfmt:

  • For Red Hat Enterprise Linux 7:

    $ scl enable rust-toolset-1.31 'rustfmt --help'
  • For Red Hat Enterprise Linux 8:

    $ rustfmt --help

Additionally, rustfmt accepts standard input instead of a file and provides its output in standard output.

3.3. Using rustfmt with cargo

To format all source files in a cargo crate:

  • For Red Hat Enterprise Linux 7:

    $ scl enable rust-toolset-1.31 'cargo fmt'
  • For Red Hat Enterprise Linux 8:

    $ cargo fmt

To change the rustfmt formatting options, create the configuration file rustfmt.toml in the project directory and supply the configuration there. For further details see the help message of rustfmt:

  • For Red Hat Enterprise Linux 7:

    $ scl enable rust-toolset-1.31 'rustfmt --config-help'
  • For Red Hat Enterprise Linux 8:

    $ rustfmt --config-help

3.4. Additional Resources

  • Help messages of rustfmt:

    • For Red Hat Enterprise Linux 7:

      $ scl enable rust-toolset-1.31 'rustfmt --help'
      $ scl enable rust-toolset-1.31 'rustfmt --config-help'
    • For Red Hat Enterprise Linux 8:

      $ rustfmt --help
      $ rustfmt --config-help
  • The file Configurations.md installed under /opt/rh/rust-toolset-1.31/root/usr/share/doc/rust-toolset-1.31-rustfmt-preview-0.8.2/Configurations.md
Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.