CLANG-INCLUDE-FIXER(1)

πŸ“¦
version 22.1.8 Β· 3 versions
, in ubuntu stonking

πŸ¦‹ CLANG-INCLUDE-FIXER πŸ¦‹

okay so welcome to CLANG-INCLUDE-FIXER(1) bestie, this is the manual page for clang-include-fixer 22 and we're gonna get through it together, no cap πŸ’–


✨ NAME ✨

clang-include-fixer β€” literally the manual page for clang-include-fixer 22. that's it, that's the name, periodt.


🌸 DESCRIPTION 🌸

Here's the shape of it, the whole vibe, the usage bestie:

USAGE: clang-include-fixer [options] <source0> [... <sourceN>]

And now… the options. so many options. we love her for it tho πŸ’…

πŸ’… OPTIONS πŸ’…

🌈 Generic Options 🌈

these are the lil universal ones, the group-chat basics:

  • --help β€” shows you all the available options that are just out here in the open (--help-hidden is the one you hit up for the extra secret ones)
  • --help-list β€” displays a list of the available options (--help-list-hidden for even more, iykyk)
  • --version β€” tells you what version of this program you're working with

πŸŽ€ Tool options πŸŽ€

okay now THIS is the main character section, the real ones:

  • --db=<value> β€” specify the input format, and here's the menu of what value can be, no guessing:
    • =fixed β€” hard-coded mapping
    • =yaml β€” a Yaml database created by find-all-symbols
    • =fuzzyYaml β€” a Yaml database, but with fuzzy-matched names ✨
  • --extra-arg=<string> β€” an additional argument to append to the compiler command line
  • --extra-arg-before=<string> β€” an additional argument to prepend to the compiler command line (yes, before, not after, don't mix them up bestie 😭)
  • --input=<string> β€” a String to initialize the database with
  • --insert-header=<string> β€” insert a specific header. This should run with STDIN mode. The result is written to stdout. It is currently used for editor integration. It supports YAML/JSON format:
-insert-header="{
       FilePath: "/path/to/foo.cc", QuerySymbolInfos: [

       {RawIdentifier: foo,
              Range: {Offset: 0, Length: 3}}

       ],     HeaderInfos: [ {Headers: "\"foo_a.h\"",

              QualifiedName: "a::foo"} ]}"
  • --minimize-paths β€” whether to minimize added include paths
  • --output-headers β€” print the symbol being queried and all its relevant headers in JSON format to stdout, like this:
{      "FilePath": "/path/to/foo.cc", "QuerySymbolInfos": [

       {"RawIdentifier": "foo",
              "Range": {"Offset": 0, "Length": 3}}

       ],     "HeaderInfos": [ {"Header": "\"foo_a.h\"",

       "QualifiedName": "a::foo"} ]
       }
  • -p <string> β€” build path
  • -q β€” reduce terminal output (quiet lil queen 🫢)
  • --query-symbol=<string> β€” query a given symbol (e.g. "a::b::foo") in the database directly, without parsing the file. so direct. so efficient. πŸ’…
  • --stdin β€” override the source file's content (in the overlaying virtual file system) with input from <stdin> and run the tool on the new content with the compilation options of the source file. This mode is currently used for editor integration.
  • --style=<string> β€” the fallback style for reformatting after inserting new headers, if there's no clang-format config file found 🌸
heads up bestie: --insert-header should run with STDIN mode, and its result goes to stdout β€” and it's currently used for editor integration, so that's the context you're stepping into πŸ’–

okay that's the whole page, you ate it, you read every single flag and i'm so proud of you πŸ₯ΉπŸ’œ

this was clang-include-fixer 22, dated September 2026 β€” that's the version and the date, leaving you with all the love, bye bestie πŸŽ€βœ¨πŸŒˆ

πŸ“¦ where this page comes from