Auto formatter for device tree files.
You can install dtsfmt by running the install script which will download the latest release.
curl -LSfs https://go.mskelton.dev/dtsfmt/install | sh
Or you can build from source.
git clone --recurse-submodules https://github.com/mskelton/dtsfmt.git
cd dtsfmt
cargo install --path .
To run dtsfmt, simply provide a file/directory path to the dtsfmt
command.
dtsfmt .
The following configuration options are available for dtsfmt. Configuration should
be added to a .dtsfmtrc.toml
file at the root of your project.
indent_str = " " # Optional, used for each indent level when printing.
# Default is two spaces.
layout = "kinesis:adv360" # Required
# Available options are ["kinesis:adv360", "sweep", "moergo:glove80"]
warn_on_unhandled_tokens = false # Optional
# Used to check if an input file contains any tokens not handled by the parser/printer.
You can add a .dtsfmtignore
file at the root of your project to exclude files
and paths from formatting. This file follows the same rules as .gitignore
.
When you want to check if your files are formatted, you can run dtsfmt with
the --check
flag (or -c
). This will output a human-friendly message and a
list of unformatted files, if any.
dtsfmt --check .
If passed the --stdin
flag dtsfmt will read from stdin and write to stdout.
dtsfmt --stdin < input.dts > output.dts