- Usage:
- ------
- astyle [OPTIONS] File1 File2 File3 [...]
- astyle [OPTIONS] < Original > Beautified
- When indenting a specific file, the resulting indented file RETAINS
- the original file-name. The original pre-indented file is renamed,
- with a suffix of '.orig' added to the original filename.
- Wildcards (* and ?) may be used in the filename.
- A 'recursive' option can process directories recursively.
- Multiple file extensions may be separated by a comma.
- By default, astyle is set up to indent with four spaces per indent,
- a maximal indentation of 40 spaces inside continuous statements,
- a minimum indentation of eight spaces inside conditional statements,
- and NO formatting options.
- Options:
- --------
- This program follows the usual GNU command line syntax.
- Long options (starting with '--') must be written one at a time.
- Short options (starting with '-') may be appended together.
- Thus, -bps4 is the same as -b -p -s4.
- Option Files:
- -------------
- Artistic Style looks for a default option file and/or a project
- option file in the following order:
- 1. The command line options have precedence.
- 2. The project option file has precedence over the default file
- o the file name indicated by the --project= command line option.
- o the file named .astylerc or _ astylerc.
- o the file name identified by ARTISTIC_STYLE_PROJECT_OPTIONS.
- o the file is disabled by --project=none on the command line.
- 3. The default option file that can be used for all projects.
- o the file path indicated by the --options= command line option.
- o the file path indicated by ARTISTIC_STYLE_OPTIONS.
- o the file named .astylerc in the HOME directory (for Linux).
- o the file name astylerc in the APPDATA directory (for Windows).
- o the file is disabled by --project=none on the command line.
- Long options within the option files may be written without '--'.
- Line-end comments begin with a '#'.
- Disable Formatting:
- -------------------
- Disable Block
- Blocks of code can be disabled with the comment tags *INDENT-OFF*
- and *INDENT-ON*. It must be contained in a one-line comment.
- Disable Line
- Padding of operators can be disabled on a single line using the
- comment tag *NOPAD*. It must be contained in a line-end comment.
- Brace Style Options:
- --------------------
- default brace style
- If no brace style is requested, the opening braces will not be
- changed and closing braces will be broken from the preceding line.
- --style=allman OR --style=bsd OR --style=break OR -A1
- Allman style formatting/indenting.
- Broken braces.
- --style=java OR --style=attach OR -A2
- Java style formatting/indenting.
- Attached braces.
- --style=kr OR --style=k&r OR --style=k/r OR -A3
- Kernighan & Ritchie style formatting/indenting.
- Linux braces.
- --style=stroustrup OR -A4
- Stroustrup style formatting/indenting.
- Linux braces.
- --style=whitesmith OR -A5
- Whitesmith style formatting/indenting.
- Broken, indented braces.
- Indented class blocks and switch blocks.
- --style=vtk OR -A15
- VTK style formatting/indenting.
- Broken, indented braces except for the opening braces.
- --style=ratliff OR --style=banner OR -A6
- Ratliff style formatting/indenting.
- Attached, indented braces.
- --style=gnu OR -A7
- GNU style formatting/indenting.
- Broken braces, indented blocks.
- --style=linux OR --style=knf OR -A8
- Linux style formatting/indenting.
- Linux braces, minimum conditional indent is one-half indent.
- --style=horstmann OR --style=run-in OR -A9
- Horstmann style formatting/indenting.
- Run-in braces, indented switches.
- --style=1tbs OR --style=otbs OR -A10
- One True Brace Style formatting/indenting.
- Linux braces, add braces to all conditionals.
- --style=google OR -A14
- Google style formatting/indenting.
- Attached braces, indented class modifiers.
- --style=mozilla OR -A16
- Mozilla style formatting/indenting.
- Linux braces, with broken braces for structs and enums,
- and attached braces for namespaces.
- --style=pico OR -A11
- Pico style formatting/indenting.
- Run-in opening braces and attached closing braces.
- Uses keep one line blocks and keep one line statements.
- --style=lisp OR -A12
- Lisp style formatting/indenting.
- Attached opening braces and attached closing braces.
- Uses keep one line statements.
- Tab Options:
- ------------
- default indent option
- If no indentation option is set, the default
- option of 4 spaces per indent will be used.
- --indent=spaces=# OR -s#
- Indent using # spaces per indent. Not specifying #
- will result in a default of 4 spaces per indent.
- --indent=tab OR --indent=tab=# OR -t OR -t#
- Indent using tab characters, assuming that each
- indent is # spaces long. Not specifying # will result
- in a default assumption of 4 spaces per indent.
- --indent=force-tab=# OR -T#
- Indent using tab characters, assuming that each
- indent is # spaces long. Force tabs to be used in areas
- AStyle would prefer to use spaces.
- --indent=force-tab-x=# OR -xT#
- Allows the tab length to be set to a length that is different
- from the indent length. This may cause the indentation to be
- a mix of both spaces and tabs. This option sets the tab length.
- Brace Modify Options:
- ---------------------
- --attach-namespaces OR -xn
- Attach braces to a namespace statement.
- --attach-classes OR -xc
- Attach braces to a class statement.
- --attach-inlines OR -xl
- Attach braces to class inline function definitions.
- --attach-extern-c OR -xk
- Attach braces to an extern "C" statement.
- --attach-closing-while OR -xV
- Attach closing while of do-while to the closing brace.
- Indentation Options:
- --------------------
- --indent-classes OR -C
- Indent 'class' blocks so that the entire block is indented.
- --indent-modifiers OR -xG
- Indent 'class' access modifiers, 'public:', 'protected:' or
- 'private:', one half indent. The rest of the class is not
- indented.
- --indent-switches OR -S
- Indent 'switch' blocks, so that the inner 'case XXX:'
- headers are indented in relation to the switch block.
- --indent-cases OR -K
- Indent case blocks from the 'case XXX:' headers.
- Case statements not enclosed in blocks are NOT indented.
- --indent-namespaces OR -N
- Indent the contents of namespace blocks.
- --indent-after-parens OR -xU
- Indent, instead of align, continuation lines following lines
- that contain an opening paren '(' or an assignment '='.
- --indent-continuation=# OR -xt#
- Indent continuation lines an additional # indents.
- The valid values are 0 thru 4 indents.
- The default value is 1 indent.
- --indent-labels OR -L
- Indent labels so that they appear one indent less than
- the current indentation level, rather than being
- flushed completely to the left (which is the default).
- --indent-preproc-block OR -xW
- Indent preprocessor blocks at brace level 0.
- Without this option the preprocessor block is not indented.
- --indent-preproc-cond OR -xw
- Indent preprocessor conditional statements #if/#else/#endif
- to the same level as the source code.
- --indent-preproc-define OR -w
- Indent multi-line preprocessor #define statements.
- --indent-col1-comments OR -Y
- Indent line comments that start in column one.
- --min-conditional-indent=# OR -m#
- Indent a minimal # spaces in a continuous conditional
- belonging to a conditional header.
- The valid values are:
- 0 - no minimal indent.
- 1 - indent at least one additional indent.
- 2 - indent at least two additional indents.
- 3 - indent at least one-half an additional indent.
- The default value is 2, two additional indents.
- --max-continuation-indent=# OR -M#
- Indent a maximal # spaces in a continuation line,
- relative to the previous line.
- The valid values are 40 thru 120.
- The default value is 40.
- Padding Options:
- ----------------
- --break-blocks OR -f
- Insert empty lines around unrelated blocks, labels, classes, ...
- --break-blocks=all OR -F
- Like --break-blocks, except also insert empty lines
- around closing headers (e.g. 'else', 'catch', ...).
- --pad-oper OR -p
- Insert space padding around operators.
- --pad-comma OR -xg
- Insert space padding after commas.
- --pad-paren OR -P
- Insert space padding around parenthesis on both the outside
- and the inside.
- --pad-paren-out OR -d
- Insert space padding around parenthesis on the outside only.
- --pad-first-paren-out OR -xd
- Insert space padding around first parenthesis in a series on
- the outside only.
- --pad-paren-in OR -D
- Insert space padding around parenthesis on the inside only.
- --pad-header OR -H
- Insert space padding after paren headers (e.g. 'if', 'for'...).
- --unpad-paren OR -U
- Remove unnecessary space padding around parenthesis. This
- can be used in combination with the 'pad' options above.
- --delete-empty-lines OR -xd
- Delete empty lines within a function or method.
- It will NOT delete lines added by the break-blocks options.
- --fill-empty-lines OR -E
- Fill empty lines with the white space of their
- previous lines.
- --align-pointer=type OR -k1
- --align-pointer=middle OR -k2
- --align-pointer=name OR -k3
- Attach a pointer or reference operator (*, &, or ^) to either
- the operator type (left), middle, or operator name (right).
- To align the reference separately use --align-reference.
- --align-reference=none OR -W0
- --align-reference=type OR -W1
- --align-reference=middle OR -W2
- --align-reference=name OR -W3
- Attach a reference operator (&) to either
- the operator type (left), middle, or operator name (right).
- If not set, follow pointer alignment.
- Formatting Options:
- -------------------
- --break-closing-braces OR -y
- Break braces before closing headers (e.g. 'else', 'catch', ...).
- Use with --style=java, --style=kr, --style=stroustrup,
- --style=linux, or --style=1tbs.
- --break-elseifs OR -e
- Break 'else if()' statements into two different lines.
- --break-one-line-headers OR -xb
- Break one line headers (e.g. 'if', 'while', 'else', ...) from a
- statement residing on the same line.
- --add-braces OR -j
- Add braces to unbraced one line conditional statements.
- --add-one-line-braces OR -J
- Add one line braces to unbraced one line conditional
- statements.
- --remove-braces OR -xj
- Remove braces from a braced one line conditional statements.
- --break-return-type OR -xB
- --break-return-type-decl OR -xD
- Break the return type from the function name. Options are
- for the function definitions and the function declarations.
- --attach-return-type OR -xf
- --attach-return-type-decl OR -xh
- Attach the return type to the function name. Options are
- for the function definitions and the function declarations.
- --keep-one-line-blocks OR -O
- Don't break blocks residing completely on one line.
- --keep-one-line-statements OR -o
- Don't break lines containing multiple statements into
- multiple single-statement lines.
- --convert-tabs OR -c
- Convert tabs to the appropriate number of spaces.
- --close-templates OR -xy
- Close ending angle brackets on template definitions.
- --remove-comment-prefix OR -xp
- Remove the leading '*' prefix on multi-line comments and
- indent the comment text one indent.
- --max-code-length=# OR -xC#
- --break-after-logical OR -xL
- max-code-length=# will break the line if it exceeds more than
- # characters. The valid values are 50 thru 200.