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