[header]
categories=Predefined Style|Tab and Bracket|Indentation|Padding|Formatting|Other
cfgFileParameterEnding=cr
configFilename=.astylerc
fileTypes=*.cpp|*.c|*.cu|*.h|*.hpp|*.inl|*.hh|*.cs|*.java
indenterFileName=astyle
indenterName=Artistic Style (C, C++, C#, JAVA)
inputFileName=indentinput
inputFileParameter=
manual=http://astyle.sourceforge.net/astyle.html
outputFileName=indentinput
outputFileParameter=none
parameterOrder=ipo
showHelpParameter=-h
stringparaminquotes=false
useCfgFileParameter="--options="
version=2.02.1

[predefined style]
Category=0
Choices="-A1|-A2|-A3|-A4|-A5|-A6|-A7|-A8|-A9|-A10|-A11|-A12"
ChoicesReadable="Allman/Ansi/BSD/break style|Java/attach style|Kernighan & Ritchie style|Stroustrup style|Whitesmith style|Banner style|GNU style|Linux style|Horstmann style|One True Brace Style|Pico style|Lisp/Python style"
Description=<html>Sets the general style.</html>
EditorType=multiple
Enabled=false
ValueDefault=2

[indent spaces]
CallName="--indent=spaces="
Category=1
Description=<html>Indent using # spaces per indent</html>
EditorType=numeric
Enabled=false
MaxVal=20
MinVal=2
ValueDefault=4

[indent tab]
CallName="--indent=tab="
Category=1
Description=<html>Indent using tab characters. Treat each tab as # spaces</html>
EditorType=numeric
Enabled=false
MaxVal=20
MinVal=2
ValueDefault=4

[force indent tab]
CallName="--indent=force-tab="
Category=1
Description="<html>Indent using tab characters. Treat each tab as # spaces. Uses tabs as indents where --indent=tab prefers to use spaces such as inside multi-line statements. </html>"
EditorType=numeric
Enabled=false
MaxVal=20
MinVal=2
ValueDefault=4

[bracket style]
Category=1
Choices="--brackets=break|--brackets=attach|--brackets=linux|--brackets=stroustrup|--brackets=horstmann"
ChoicesReadable=Break brackets|Attach brackets|Break brackets Linux like
Description=<html>Sets the bracket style.</html>
EditorType=multiple
Enabled=false
ValueDefault=0

[indent classes]
Category=2
Description=<html>Indent 'class' and 'struct' blocks so that the blocks 'public:', 'protected:' and 'private:' are indented. The struct blocks are indented only if an access modifier is declared somewhere in the struct. The entire block is indented. This option is effective for C++ files only.</html>
EditorType=boolean
TrueFalse=--indent-classes|
ValueDefault=0

[indent switches]
Category=2
Description=<html>Indent 'switch' blocks so that the 'case X:' statements are indented in the switch  block. The entire case block is indented.</html>
EditorType=boolean
TrueFalse=--indent-switches|
ValueDefault=0

[indent cases]
Category=2
Description=<html>Indent 'case X:' blocks from the 'case X:' headers. Case statements not enclosed in blocks are NOT indented.</html>
EditorType=boolean
TrueFalse=--indent-cases|
ValueDefault=0

[indent brackets]
Category=2
Description=<html>Add extra indentation to brackets. This is the option used for Whitesmith and Banner style formatting/indenting. If both ‑‑indent‑brackets and ‑‑indent‑blocks are used the result will be ‑‑indent‑blocks. This option will be ignored if used with a predefined style.</html>
EditorType=boolean
TrueFalse=--indent-brackets|
ValueDefault=0

[indent blocks]
Category=2
Description=<html>Add extra indentation to blocks within a function. The opening bracket for namespaces, classes, and functions is not indented. This is the option used for GNU style formatting/indenting. This option will be ignored if used with a predefined style.</html>
EditorType=boolean
TrueFalse=--indent-blocks|
ValueDefault=0

[indent namespaces]
Category=2
Description=<html>Add extra indentation to namespaces.</html>
EditorType=boolean
TrueFalse=--indent-namespaces|
ValueDefault=0

[indent labels]
Category=2
Description=<html>Add extra indentation to labels so they appear 1 indent less than the current indentation, rather than being flushed to the left (the default).</html>
EditorType=boolean
TrueFalse=--indent-labels|
ValueDefault=0

[indent preprocessor]
Category=2
Description=<html>Indent multi-line preprocessor definitions. Should be used with --convert-tabs for proper results. Does a pretty good job but can not perform miracles in obfuscated preprocessor definitions. Without this option the preprocessor statements remain unchanged.</html>
EditorType=boolean
TrueFalse=--indent-preprocessor|
ValueDefault=0

[indent comments]
Category=2
Description=<html>Indent C++ comments beginning in column one. By default C++ comments beginning in column one are not indented. This option will allow the comments to be indented with the code. </html>
EditorType=boolean
TrueFalse=--indent-col1-comments|
ValueDefault=0

[max-instatement-indent]
CallName="--max-instatement-indent="
Category=2
Description=<html>Indent a maximum of # spaces in a continuous statement, relative to the previous line (e.g. ‑‑max‑instatement‑indent=40). #  must be less than  80. If no # is set, the default value of 40 will be used. A maximum of less than two indent lengths will be ignored.</html>
EditorType=numeric
Enabled=false
MaxVal=79
MinVal=0
ValueDefault=40

[min-conditional-indent]
CallName="--min-conditional-indent="
Category=2
Description=<html>Set the minimal indent that is added when a header is built of multiple-lines. This indent makes helps to easily separate the header from the command statements that follow. The value for # must be less than 40. The default setting for this option is twice the current indent  (e.g. --min-conditional-indent=8).</html>
EditorType=numeric
Enabled=false
MaxVal=39
MinVal=0
ValueDefault=8

[break-blocks]
Category=3
Description=<html>Pad empty lines around header blocks (e.g. 'if' 'while'...). Be sure to read the Supplemental Documentation before using this option.</html>
EditorType=boolean
TrueFalse=--break-blocks|
ValueDefault=0

[break-blocks-all]
Category=3
Description=<html>Pad empty lines around header blocks (e.g. 'if' 'while'...). Treat closing header blocks (e.g. 'else' 'catch') as stand-alone blocks. Be sure to read the Supplemental Documentation before using this option.</html>
EditorType=boolean
TrueFalse="--break-blocks=all|"
ValueDefault=0

[pad-oper]
Category=3
Description=<html>Insert space padding around operators. Operators inside brackets [] are not padded. Note that there is no option to unpad. Once padded they stay padded.</html>
EditorType=boolean
TrueFalse="--pad-oper|"
ValueDefault=0

[pad-paren]
Category=3
Description=<html>Insert space padding around parenthesis on both the outside  and the inside. Any end of line comments will remain in the original column, if possible.</html>
EditorType=boolean
TrueFalse="--pad-paren|"
ValueDefault=0

[pad-paren-out]
Category=3
Description=<html>Insert space padding around parenthesis on the outside  only. Any end of line comments will remain in the original column, if possible. This can be used with unpad-paren  below to remove unwanted spaces.</html>
EditorType=boolean
TrueFalse="--pad-paren-out|"
ValueDefault=0

[pad-paren-in]
Category=3
Description="<html>Insert space padding around parenthesis on the inside  only. Any end of line comments will remain in the original column, if possible. This can be used with unpad-paren  below to remove unwanted spaces.</html>"
EditorType=boolean
TrueFalse="--pad-paren-in|"
ValueDefault=0

[pad-header]
Category=3
Description=<html>Insert space padding after paren headers only (e.g. 'if', 'for', 'while'...). Any end of line comments will remain in the original column, if possible. This can be used with unpad-paren to remove unwanted spaces.</html>
EditorType=boolean
TrueFalse=--pad-header|
ValueDefault=0

[unpad-paren]
Category=3
Description="<html>Remove extra space padding around parenthesis on the inside and outside.  Any end of line comments will remain in the original column, if possible. This option can be used in combination with the paren padding options pad‑paren, pad‑paren‑out, pad‑paren‑in, and pad‑header above. Only padding that has not been requested by other options will be removed.</html>"
EditorType=boolean
TrueFalse="--unpad-paren|"
ValueDefault=0

[delete-empty-lines]
Category=3
Description=<html>Delete empty lines within a function or method. Empty lines outside of functions or methods are NOT deleted. If used with break-blocks or break-blocks=all it will delete all lines EXCEPT the lines added by the break-blocks options.</html>
EditorType=boolean
TrueFalse=--delete-empty-lines|
ValueDefault=0

[fill-empty-lines]
Category=3
Description=<html>Fill empty lines with the white space of the previous line</html>
EditorType=boolean
TrueFalse=--fill-empty-lines|
ValueDefault=0

[brackets-break-closing]
Category=4
Description=<html>When used with --brackets=attach, --brackets=linux, or --brackets=stroustrup, this breaks closing headers (e.g. 'else', 'catch', ...) from their immediately preceding closing brackets. Closing header brackets are always broken with broken brackets, horstmann brackets, indented blocks, and indented brackets.</html>
EditorType=boolean
TrueFalse="-y|"
ValueDefault=0

[break-elseifs]
Category=4
Description=<html>Break "else if" header combinations into separate lines. This option has no effect if keep-one-line-statements is used, the "else if" statements will remain as they are. If this option is NOT used, "else if" header combinations will be placed on a single line.</html>
EditorType=boolean
TrueFalse=--break-elseifs|
ValueDefault=0

[add-brackets]
Category=4
Description=<html>Add brackets to unbracketed one line conditional statements  (e.g. 'if', 'for', 'while'...). The statement must be on a single line. The brackets will be added according to the currently requested predefined style or bracket type. If no style or bracket type is requested the brackets will be attached. If --add-one-line-brackets is also used the result will be one line brackets.</html>
EditorType=boolean
TrueFalse=--add-brackets|
ValueDefault=0

[add-one-line-brackets]
Category=4
Description=<html>Add one line brackets to unbracketed one line conditional statements  (e.g. 'if', 'for', 'while'...). The statement must be on a single line. The option implies --keep-one-line-blocks and will not break the one line blocks.</html>
EditorType=boolean
TrueFalse=--add-one-line-brackets|
ValueDefault=0

[one-line-keep-blocks]
Category=4
Description=<html>Don't break one-line blocks</html>
EditorType=boolean
TrueFalse="--keep-one-line-blocks|"
ValueDefault=0

[one-line-keep-statements]
Category=4
Description=<html>Dont break complex statements and multiple statements residing on a single line.</html>
EditorType=boolean
TrueFalse="--keep-one-line-statements|"
ValueDefault=0

[convert-tabs]
Category=4
Description=<html>Converts tabs into spaces in the non-indentation part of the line. The number of spaces inserted will maintain the spacing of the tab. The current setting for spaces per tab is used. It may not produce the expected results if convert-tabs is used when changing spaces per tab. Tabs are not replaced in quotes.</html>
EditorType=boolean
TrueFalse=--convert-tabs|
ValueDefault=0

[align-pointer]
Category=4
Choices="--align-pointer=type|--align-pointer=middle|--align-pointer=name"
Description=<html>Attach a pointer or reference operator (* or &) to either the variable type (left) or variable name (right), or place it between the type and name. The spacing between the type and name will be preserved, if possible. This option is effective for C/C++ files only.</html>
EditorType=multiple
Enabled=false
ValueDefault=0

[align-reference]
Category=4
Choices="--align-reference=type|--align-reference=middle|--align-reference=name"
Description=<html>This option will align references separate from pointers. Pointers are not changed by this option. If pointers and references are to be aligned the same, use the previous align-pointer option. The option align-reference=none will not change the reference alignment. The other options are the same as for align-pointer. In the case of a reference to a pointer (*&) with conflicting alignments, the align-pointer value will be used.</html>
EditorType=multiple
Enabled=false
ValueDefault=0

[override-language]
Category=4
Choices="--mode=c|--mode=java|--mode=cs"
Description=<html>Indent a C or C++ or Java or CSharp file. The option is set from the file extension for each file. You can override the setting with this entry. It allows the formatter to identify language specific syntax such as C classes and C templates.</html>
EditorType=multiple
Enabled=false
ValueDefault=0

[nosuffix]
Category=5
Description=<html>Do not retain a backup of the original file. The original file is purged after it is formatted.</html>
EditorType=boolean
TrueFalse=--suffix=none|
ValueDefault=0

[errors-to-stdout]
Category=5
Description=<html>Print errors to standard-output rather than to standard-error.
This option should be helpful for systems/shells that do not have this option, such as in Windows95.</html>
EditorType=boolean
TrueFalse=--errors-to-stdout|
ValueDefault=0

[preserve-date]
Category=5
Description=<html>Preserve the original file's date and time modified. The date and time modified will not be changed in the formatted file. This option is not effective if redirection is used to rename the input file.</html>
EditorType=boolean
TrueFalse=--preserve-date|
ValueDefault=0

[lineend]
Category=5
Choices="--lineend=windows|--lineend=linux|--lineend=macold"
Description=<html>orce use of the specified line end style. Valid options are windows (CRLF), linux (LF), and macold (CR). MacOld style is the format for OS 9 and earlier. Mac OS X uses the Linux style. If one of these options is not used the line ends will be determined automatically from the input file.</html>
EditorType=multiple
Enabled=false
ValueDefault=0
