Files
anshulSharma e8d5ddb38a formatting multiple hcl files (#13362)
* formatting multiple hcl files

* recursive formating

* test case fixing

* test case fix

* removed not required code

* existing test code fix

* go formatting

* more test cases for new cases

* doc changes

* added additional check on error message in negative test case
2025-05-02 10:16:00 +05:30

67 lines
1.9 KiB
Plaintext

---
description: |
The `packer fmt` Packer command formats HCL2 configuration files to a canonical format and style to help you prevent coding errors.
page_title: packer fmt command reference
---
# `packer fmt` command reference
The `packer fmt` Packer command is used to format HCL2 configuration files to
a canonical format and style. JSON files (.json) are not modified. This command
applies a subset of HCL language style conventions, along with other minor
adjustments for readability.
`packer fmt` will display the name of the configuration file(s) that need formatting,
and write any formatted changes back to the original configuration file(s).
Example usage:
Check if configuration file(s) need to be formatted, but don't write the changes.
```shell-session
$ packer fmt -check .
my-template.pkr.hcl
```
Format a configuration file, writing the changes back to the original file.
```shell-session
$ packer fmt my-template.pkr.hcl
my-template.pkr.hcl
```
Format multiple configuration files, writing the changes back to respective original files.
```shell-session
$ packer fmt my-template.pkr.hcl my-varfile.pkrvars.hcl
my-template.pkr.hcl
my-varfile.pkrvars.hcl
```
Format a configuration file, reading from stdin and writing to stdout.
```shell-session
$ packer fmt -
// You can use pipes to combine this feature with other command line options
$ cat my-template.pkr.hcl | packer fmt -
```
## Options
- `-check` - Checks if the input is formatted. Exit status will be 0 if all
input is properly formatted and non-zero otherwise.
- `-diff` - Display diffs of any formatting change
- `-write=false` - Don't write formatting changes to source files
(always disabled if using -check)
- `-` - read formatting changes from stdin and write them to stdout.
- `-recursive` Also process files in subdirectories. By default, only the
given directory (or current directory) is processed.