FIX_INCLUDE(1)

NAME
fix_include - Update the source code with iwyu output

SYNOPSIS
fix_include [options] [filename] ... < <output from include-what-you-use script> OR fix_include -s [other options] <filename> ...

DESCRIPTION

fix_include reads the output from the include-what-you-use script on stdin -- run with --v=1 (default) verbose or above -- and, unless --sort_only or --dry_run is specified, modifies the files mentioned in the output, removing their old #include lines and replacing them with the lines given by the include_what_you_use script. It also sorts the #include and forward-declare lines.

Only writable files (those opened for p4 edit) are modified (unless --checkout_command is specified). All files mentioned in the include-what-you-use script are modified, unless filenames are specified on the commandline, in which case only those files are modified.

The exit code is the number of files that were modified (or that would be modified if --dry_run was specified) unless that number exceeds 100, in which case 100 is returned.

OPTIONS

-h, --help
    show this help message and exit

-b, --blank_lines
    Put a blank line between primary header file and C/C++ system #includes, and another blank line between system #includes and google #includes [default]

--noblank_lines

--comments
    Put comments after the #include lines

--nocomments

--safe_headers
    Do not remove unused #includes/fwd-declares from header files; just add new ones [default]

--nosafe_headers

-s, --sort_only
    Just sort #includes of files listed on cmdline; do not add or remove any #includes

-n, --dry_run
    Do not actually edit any files; just print diffs. Return code is 0 if no changes are needed, else min(the number of files that would be modified, 100)

--ignore_re=IGNORE_RE
    fix_includes.py will skip editing any file whose name matches this regular expression.

--checkout_command=CHECKOUT_COMMAND
    A command, such as "p4 edit", to run on all the nonwriteable files before modifying them. The filenames will be appended to the command after a space. The command will not be run on any file that does not need to change.

--create_cl_if_possible
    If --checkout_command is "p4|g4|v4 edit" and all files to be modified needed to be checked out, then create a CL containing those files.

--nocreate_cl_if_possible

--append_to_cl=APPEND_TO_CL
    If provided, with a checkout_command, add files that need fixing to the specified existing CL.

--separate_project_includes=SEPARATE_PROJECT_INCLUDES
    Sort #includes for current project separately from all other #includes. This flag specifies the root directory of the current project. If the value is "<tld>", #includes that share the same top-level directory are assumed to be in the same project. If not specified, project #includes will be sorted with other non-system #includes.

--invoking_command_line=INVOKING_COMMAND_LINE
    Internal flag used by iwyu.py, It should be the command line used to invoke iwyu.py

-m, --keep_iwyu_namespace_format
    Keep forward-declaration namespaces in IWYU format, eg. namespace n1 { namespace n2 { class c1; } }. Do not convert to "normalized" Google format: namespace n1 {\nnamespace n2 {\n class c1;\n}\n}.

--nokeep_iwyu_namespace_format