clang-format - manual page for clang-format 16
OVERVIEW: A tool to format
C/C++/Java/JavaScript/JSON/Objective-C/Protobuf/C# code.
If no arguments are specified, it formats the code from standard
input and writes the result to the standard output. If <file>s are
given, it reformats the files. If -i is specified together with
<file>s, the files are edited in-place. Otherwise, the result is
written to the standard output.
USAGE: clang-format [options] [<file> ...]
OPTIONS:
Clang-format options:
--Werror - If set, changes formatting warnings to
errors
--Wno-error=<value> - If set don't error out on
the specified warning type.
- =unknown
- - If set, unknown format options are only warned about.
- This can be used to enable
formatting, even if the
- configuration contains unknown (newer) options. Use with caution, as this
might lead to dramatically differing format depending on an option being
supported or not.
- --assume-filename=<string>
- Set filename used to determine the language and to find
- .clang-format file. Only used when reading from stdin. If this is not
passed, the .clang-format file is searched relative to the current working
directory when reading stdin. Unrecognized filenames are treated as C++.
supported:
- CSharp: .cs
- Java: .java JavaScript: .mjs .js .ts Json: .json Objective-C: .m .mm
Proto: .proto .protodevel TableGen: .td TextProto: .textpb .pb.txt
.textproto .asciipb Verilog: .sv .svh .v .vh
- --cursor=<uint>
- The position of the cursor when invoking
- clang-format from an editor integration
--dry-run - If set, do not actually make the formatting
changes
- --dump-config - Dump
configuration options to stdout and exit.
- Can be used with -style option.
- --fallback-style=<string>
- The name of the predefined style used as a
- fallback in case clang-format is invoked with -style=file,
but can not find the .clang-format file to use. Defaults to 'LLVM'. Use
-fallback-style=none to skip formatting.
- --ferror-limit=<uint>
- Set the maximum number of clang-format errors to emit
- before stopping (0 = no limit). Used only with --dry-run or
-n
--files=<filename> - A file containing a list of
files to process, one per line.
-i - Inplace edit <file>s, if specified.
- --length=<uint>
- Format a range of this length (in bytes).
- Multiple ranges can be formatted by specifying several -offset and
-length pairs. When only a single -offset is specified
without -length, clang-format will format up to the end of the
file. Can only be used with one input file.
- --lines=<string>
- <start line>:<end line> - format a range of
- lines (both 1-based). Multiple ranges can be formatted by specifying
several -lines arguments. Can't be used with -offset and
-length. Can only be used with one input file.
-n - Alias for --dry-run
- --offset=<uint>
- Format a range starting at this byte offset.
- Multiple ranges can be formatted by specifying several -offset and
-length pairs. Can only be used with one input file.
--output-replacements-xml - Output replacements as
XML.
- --qualifier-alignment=<string>
- If set, overrides the qualifier alignment style
- determined by the QualifierAlignment style flag
- --sort-includes - If
set, overrides the include sorting behavior
- determined by the SortIncludes style flag
- --style=<string>
- Set coding style. <string> can be:
- 1. A preset: LLVM, GNU, Google, Chromium, Microsoft,
- Mozilla,
WebKit.
- 2. 'file' to load style configuration from a
- .clang-format file in one of the parent directories
- of the source file (for stdin, see --assume-filename). If no
.clang-format file is found, falls back to --fallback-style.
--style=file is the default.
- 3. 'file:<format_file_path>' to explicitly specify
- the configuration file.
- 4. "{key: value, ...}" to set specific parameters, e.g.:
- --style="{BasedOnStyle: llvm, IndentWidth: 8}"
--verbose - If set, shows the list of processed
files
Generic Options:
--help - Display available options (--help-hidden
for more)
--help-list - Display list of available options
(--help-list-hidden for more)
--version - Display the version of this program