CLANG-FORMAT(1)
π clang-format β the manual page, bestie edition π
okay so. you opened clang-format(1), the User Commands one. this is that page. sit down, get a snack, we're doing this π
β¨ NAME β¨
clang-format β manual page for clang-format 15
(yeah it's a whole tool, section 1 of the manual, and she's iconic, no cap π)
πΈ DESCRIPTION πΈ
OVERVIEW: A tool to format C/C++/Java/JavaScript/JSON/Objective-C/Protobuf/C# code.
periodt. that's the whole job. she formats your code and she does it well.
so here's the vibe check on how she actually behaves, because the arguments you pass literally change everything:
- no arguments at all? she reads your code from standard input and writes the result to standard output. little pipe girlie π«Ά
- you hand her some
<file>s? she reformats those files. - you hand her
<file>s and-i? the files get edited in-place. (yes, actually rewritten. hold onto your git stash π) - anything else? result goes to standard output.
USAGE:
clang-format [options] [<file> ...]
π OPTIONS π
π¦ Clang-format options
--Werrorβ if set, changes formatting warnings into errors. she's not playing around anymore.--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 one 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. β οΈ like, dramatically. she said what she said.
--assume-filename=<string>β set filename used to determine the language and to find.clang-formatfile. Only used when reading from stdin. If this is not passed, the.clang-formatfile is searched relative to the current working directory when reading stdin. Unrecognized filenames are treated as C++.
supported, in all her glory:
- 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. (hi to everyone wiring this into their editor rn π)--dry-runβ if set, do not actually make the formatting changes. look, don't touch.--dump-configβ dump configuration options to stdout and exit. Can be used with-styleoption.--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-formatfile to use. Defaults to'LLVM'. Use-fallback-style=noneto skip formatting.--ferror-limit=<uint>β set the maximum number of clang-format errors to emit before stopping (0= no limit). Used only with--dry-runor-n.--files=<string>β provide a list of files to run clang-format on.-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-offsetand-lengthpairs. When only a single-offsetis 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-linesarguments. Can't be used with-offsetand-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-offsetand-lengthpairs. 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 theQualifierAlignmentstyle flag.--sort-includesβ if set, overrides the include sorting behavior determined by theSortIncludesstyle flag.--style=<string>β set coding style.<string>can be:- A preset:
LLVM,GNU,Google,Chromium,Microsoft,Mozilla,WebKit. 'file'to load style configuration from a.clang-formatfile in one of the parent directories of the source file (for stdin, see--assume-filename). If no.clang-formatfile is found, falls back to--fallback-style.--style=fileis the default.'file:<format_file_path>'to explicitly specify the configuration file."{key: value, ...}"to set specific parameters, e.g.:
- A preset:
--style="{BasedOnStyle: llvm, IndentWidth: 8}"
--verboseβ if set, shows the list of processed files.
π Generic Options
--helpβ display available options (--help-hiddenfor more).--help-listβ display list of available options (--help-list-hiddenfor more).--versionβ display the version of this program.
fr fr, that's every single flag. none skipped, none merged, none invented. she's thorough and you love that about her π
okay bestie that's the page π«Ά this was clang-format 15, dated July 2023, straight out of the manual. go format something gorgeous, you absolute main character πβ¨π
π¦ where this page comes from
- ubuntu jammy: clang-format-15 1:15.0.7-0ubuntu0.22.04.3 Β· APACHE-2-LLVM-EXCEPTIONS
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms