| # fx format-code |
| |
| runs source formatters on modified files |
| |
| ```none |
| Usage: fx format-code |
| [--dry-run] [--verbose] [--all] |
| [--files=FILES,[FILES ...]] |
| [--target=GN_TARGET] |
| [--git] [--changed-lines] [-- PATTERN] |
| |
| --dry-run Stops the program short of running the formatters |
| --all Formats all code in the git repo under the current working |
| directory. |
| --args Formats the configured build's |args.gn| |
| --files Allows the user to specify files. Files are comma separated. |
| Globs are dealt with by bash; fx format-code "--files=foo/*" will |
| work as expected. |
| --target Allows the user to specify a gn target. |
| --git The default; it uses `git diff` against the newest parent |
| commit in the upstream branch (or against HEAD if no such commit |
| is found). Files that are locally modified, staged or touched by |
| any commits introduced on the local branch are formatted. |
| --changed-lines |
| Format changed lines only. Only supported on a subset of languages |
| (currently, just C++). Unsupported languages will continue to have |
| the entire file formatted. "Changes" are relative to the git |
| commit that would be used by "--git". |
| --parallel |
| Formats all files in the background rather than waiting on each one |
| before starting the next. |
| WARNING: with this flag enabled, output from multiple formatters |
| may be interleaved, and format-code will exit with status 0 even |
| if some formatters failed. |
| --verbose Print all formatting commands prior to execution. |
| -- PATTERN |
| For --all or --git, passes along -- PATTERN to `git ls-files` |
| to filter what files are affected. For example, to format all |
| rust source files use `fx format-code --all -- "*.rs"` |
| |
| Supported Languages: C, C++, cml, Dart, FIDL, GN, Go, Python, Rust, JSON |
| ``` |
| |
| [format-code source code](https://cs.opensource.google/fuchsia/fuchsia/+/main:tools/devshell/contrib/format-code) |