Artistic Style 1.24
Maintained by: Jim Pattee
Original Author: Tal Davidson
Usage : astyle [options] Source1.cpp Source2.cpp [...]
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.
By default, astyle is set up to indent C/C++/C#/Java files, 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.
Option’s Format:
—————-
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.
Predefined Style Options:
————————-
–style=allman OR –style=ansi OR –style=bsd OR -A1
Allman style formatting/indenting.
Broken brackets.
–style=java OR -A2
Java style formatting/indenting.
Attached brackets.
–style=k&r OR –style=k/r OR -A3
Kernighan & Ritchie style formatting/indenting.
Linux brackets.
–style=stroustrup OR -A4
Stroustrup style formatting/indenting.
Stroustrup brackets.
–style=whitesmith OR -A5
Whitesmith style formatting/indenting.
Broken, indented brackets.
Indented class blocks and switch blocks.
–style=banner OR -A6
Banner style formatting/indenting.
Attached, indented brackets.
Indented class blocks and switch blocks.
–style=gnu OR -A7
GNU style formatting/indenting.
Broken brackets, indented blocks, indent is 2 spaces.
–style=linux OR -A8
GNU style formatting/indenting.
Linux brackets, indent is 8 spaces.
–style=horstmann OR -A9
Horstmann style formatting/indenting.
Horstmann brackets, indented switches, indent is 3 spaces.
–style=1tbs OR –style=otbs OR -A10
One True Brace Style formatting/indenting.
Linux brackets, add brackets to all conditionals.
Tab and Bracket Options:
————————
default indent option
If no indentation option is set,
the default option of 4 spaces 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
tab is # spaces long. Not specifying # will result
in a default assumption of 4 spaces per tab.
–indent=force-tab=# OR -T#
Indent using tab characters, assuming that each
tab is # spaces long. Force tabs to be used in areas
Astyle would prefer to use spaces.
default brackets option
If no brackets option is set,
the brackets will not be changed.
–brackets=break OR -b
Break brackets from pre-block code (i.e. ANSI C/C++ style).
–brackets=attach OR -a
Attach brackets to pre-block code (i.e. Java/K&R style).
–brackets=linux OR -l
Break definition-block brackets and attach command-block
brackets.
–brackets=stroustrup OR -u
Attach all brackets except function definition brackets.
–brackets=horstmann OR -g
Break brackets from pre-block code, but allow following
run-in statements on the same line as an opening bracket.
Indentation options:
——————–
–indent-classes OR -C
Indent ‘class’ blocks, so that the inner ‘public:’,
‘protected:’ and ‘private: headers are indented in
relation to the class block.
–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-brackets OR -B
Add extra indentation to ‘{‘ and ‘}’ block brackets.
–indent-blocks OR -G
Add extra indentation entire blocks (including brackets).
–indent-namespaces OR -N
Indent the contents of namespace blocks.
–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-preprocessor OR -w
Indent multi-line #define statements.
–indent-col1-comments OR -Y
Indent line comments that start in column one.
–max-instatement-indent=# OR -M#
Indent a maximal # spaces in a continuous statement,
relative to the previous line.
–min-conditional-indent=# OR -m#
Indent a minimal # spaces in a continuous conditional
belonging to a conditional header.
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 paddings around operators.
–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-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 -x
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.
Formatting options:
——————-
–break-closing-brackets OR -y
Break brackets before closing headers (e.g. ‘else’, ‘catch’, …).
Use with –brackets=attach, –brackets=linux,
or –brackets=stroustrup.
–break-elseifs OR -e
Break ‘else if()’ statements into two different lines.
–add-brackets OR -j
Add brackets to unbracketed one line conditional statements.
–add-one-line-brackets OR -J
Add one line brackets to unbracketed one line conditional
statements.
–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.
–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).
–mode=c
Indent a C or C++ source file (this is the default).
–mode=java
Indent a Java source file.
–mode=cs
Indent a C# source file.
Other options:
————–
–suffix=####
Append the suffix #### instead of ‘.orig’ to original filename.
–suffix=none OR -n
Do not retain a backup of the original file.
–options=####
Specify an options file #### to read and use.
–options=none
Disable the default options file.
Only the command-line parameters will be used.
–recursive OR -r OR -R
Process subdirectories recursively.
–exclude=####
Specify a file or directory #### to be excluded from processing.
–errors-to-stdout OR -X
Print errors and help information to standard-output rather than
to standard-error.
–preserve-date OR -Z
The date and time modified will not be changed in the formatted file.
–verbose OR -v
Verbose mode. Extra informational messages will be displayed.
–formatted OR -Q
Formatted display mode. Display only the files that have been formatted.
–quiet OR -q
Quiet mode. Suppress all output except error messages.
–lineend=windows OR -z1
–lineend=linux OR -z2
–lineend=macold OR -z3
Force use of the specified line end style. Valid options
are windows (CRLF), linux (LF), and macold (CR).
–version OR -V
Print version number.
–help OR -h OR -?
Print this help message.
Default options file:
———————
Artistic Style looks for a default options file in the
following order:
1. The contents of the ARTISTIC_STYLE_OPTIONS environment
variable if it exists.
2. The file called .astylerc in the directory pointed to by the
HOME environment variable ( i.e. $HOME/.astylerc ).
3. The file called astylerc in the directory pointed to by the
USERPROFILE environment variable ( i.e. %USERPROFILE%\astylerc ).
If a default options file is found, the options in this file
will be parsed BEFORE the command-line options.
Long options within the default option file may be written without
the preliminary ‘–’.