Maxim Integrated's IoT development kit.

Dependencies:   MAX30101 MAX30003 MAX113XX_Pixi MAX30205 max32630fthr USBDevice

Committer:
Mahir Ozturk
Date:
Tue Mar 13 14:52:59 2018 +0300
Revision:
1:efe9cad8942f
Commit project files

Change-Id: I2188228f2a27e9a13e2407846e48b38c2596caa0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Mahir Ozturk 1:efe9cad8942f 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Mahir Ozturk 1:efe9cad8942f 2
Mahir Ozturk 1:efe9cad8942f 3 <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
Mahir Ozturk 1:efe9cad8942f 4
Mahir Ozturk 1:efe9cad8942f 5 <head>
Mahir Ozturk 1:efe9cad8942f 6 <title>Artistic Style - News</title>
Mahir Ozturk 1:efe9cad8942f 7 <meta http-equiv="Content-Language" content="en-us" />
Mahir Ozturk 1:efe9cad8942f 8 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
Mahir Ozturk 1:efe9cad8942f 9 <link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
Mahir Ozturk 1:efe9cad8942f 10 <link href="styles.css" rel="stylesheet" type="text/css" />
Mahir Ozturk 1:efe9cad8942f 11 </head>
Mahir Ozturk 1:efe9cad8942f 12
Mahir Ozturk 1:efe9cad8942f 13 <body>
Mahir Ozturk 1:efe9cad8942f 14
Mahir Ozturk 1:efe9cad8942f 15 <h1>Artistic Style News</h1>
Mahir Ozturk 1:efe9cad8942f 16
Mahir Ozturk 1:efe9cad8942f 17 <p>
Mahir Ozturk 1:efe9cad8942f 18 &nbsp;</p>
Mahir Ozturk 1:efe9cad8942f 19
Mahir Ozturk 1:efe9cad8942f 20 <h3>Artistic Style 3.0&nbsp; (April 2017)</h3>
Mahir Ozturk 1:efe9cad8942f 21
Mahir Ozturk 1:efe9cad8942f 22 <p>
Mahir Ozturk 1:efe9cad8942f 23 Release 3.0.1 (May 2017) is a maintenance release and no new features were added. A list of changes is in
Mahir Ozturk 1:efe9cad8942f 24 the Release Notes. The following information is for the original 3.0 release. Thanks to Juan Alday for his
Mahir Ozturk 1:efe9cad8942f 25 contribution. </p>
Mahir Ozturk 1:efe9cad8942f 26
Mahir Ozturk 1:efe9cad8942f 27 <p>
Mahir Ozturk 1:efe9cad8942f 28 In the Artistic Style documentation, in General Information, Other Considerations, there is a list of
Mahir Ozturk 1:efe9cad8942f 29 terminology used for special characters used in programming. The terms used by Artistic Style have been
Mahir Ozturk 1:efe9cad8942f 30 different than is used by Visual Studio, Clang, and others. In this release the terms used by Artistic Style
Mahir Ozturk 1:efe9cad8942f 31 have been changed to the ones most commonly used in programming documentation. The following chart indicates
Mahir Ozturk 1:efe9cad8942f 32 the changes.</p>
Mahir Ozturk 1:efe9cad8942f 33
Mahir Ozturk 1:efe9cad8942f 34 <center>
Mahir Ozturk 1:efe9cad8942f 35 <table>
Mahir Ozturk 1:efe9cad8942f 36 <thead>
Mahir Ozturk 1:efe9cad8942f 37 <tr>
Mahir Ozturk 1:efe9cad8942f 38 <td><strong>NEW</strong></td>
Mahir Ozturk 1:efe9cad8942f 39 <td></td>
Mahir Ozturk 1:efe9cad8942f 40 <td><strong>OLD</strong></td>
Mahir Ozturk 1:efe9cad8942f 41 </tr>
Mahir Ozturk 1:efe9cad8942f 42 </thead>
Mahir Ozturk 1:efe9cad8942f 43 <tbody>
Mahir Ozturk 1:efe9cad8942f 44 <tr>
Mahir Ozturk 1:efe9cad8942f 45 <td>braces or curly braces</td>
Mahir Ozturk 1:efe9cad8942f 46 <td>&nbsp;&nbsp;&nbsp;&nbsp;{ }&nbsp;&nbsp;&nbsp;&nbsp;</td>
Mahir Ozturk 1:efe9cad8942f 47 <td>brackets</td>
Mahir Ozturk 1:efe9cad8942f 48 </tr>
Mahir Ozturk 1:efe9cad8942f 49 <tr>
Mahir Ozturk 1:efe9cad8942f 50 <td>parens or round brackets</td>
Mahir Ozturk 1:efe9cad8942f 51 <td>&nbsp;&nbsp;&nbsp;&nbsp;( )&nbsp;&nbsp;&nbsp;&nbsp;</td>
Mahir Ozturk 1:efe9cad8942f 52 <td>parens</td>
Mahir Ozturk 1:efe9cad8942f 53 </tr>
Mahir Ozturk 1:efe9cad8942f 54 <tr>
Mahir Ozturk 1:efe9cad8942f 55 <td>square brackets</td>
Mahir Ozturk 1:efe9cad8942f 56 <td>&nbsp;&nbsp;&nbsp;&nbsp;[ ]&nbsp;&nbsp;&nbsp;&nbsp;</td>
Mahir Ozturk 1:efe9cad8942f 57 <td>block parens</td>
Mahir Ozturk 1:efe9cad8942f 58 </tr>
Mahir Ozturk 1:efe9cad8942f 59 <tr>
Mahir Ozturk 1:efe9cad8942f 60 <td>angle brackets</td>
Mahir Ozturk 1:efe9cad8942f 61 <td>&nbsp;&nbsp;&nbsp;< >&nbsp;&nbsp;&nbsp;&nbsp;</td>
Mahir Ozturk 1:efe9cad8942f 62 <td>angle brackets</td>
Mahir Ozturk 1:efe9cad8942f 63 </tr>
Mahir Ozturk 1:efe9cad8942f 64 </tbody>
Mahir Ozturk 1:efe9cad8942f 65 </table>
Mahir Ozturk 1:efe9cad8942f 66 </center>
Mahir Ozturk 1:efe9cad8942f 67
Mahir Ozturk 1:efe9cad8942f 68 <p>
Mahir Ozturk 1:efe9cad8942f 69 Parens and angle brackets do not change. Brackets has been changed to braces. Block parens has been changed to
Mahir Ozturk 1:efe9cad8942f 70 square brackets. Brackets can now collectively refer to the group containing round brackets (parens), square brackets,
Mahir Ozturk 1:efe9cad8942f 71 and angle brackets. The documentation has been updated and the variable names in the source code have been
Mahir Ozturk 1:efe9cad8942f 72 changed. </p>
Mahir Ozturk 1:efe9cad8942f 73 <p>
Mahir Ozturk 1:efe9cad8942f 74 There are four options affected by the change, &quot;break-closing-brackets&quot;, &quot;add-brackets&quot;, &quot;add-one-line-brackets&quot;,
Mahir Ozturk 1:efe9cad8942f 75 and &quot;remove-brackets&quot;. These have been changed to the corresponding &quot;break-closing-braces&quot;,
Mahir Ozturk 1:efe9cad8942f 76 &quot;add-braces&quot;, &quot;add-one-line-braces&quot;, and &quot;remove-braces&quot;. Also, the option &quot;max-instatement-indent&quot;
Mahir Ozturk 1:efe9cad8942f 77 has been changed to &quot;max-continuation-indent&quot;. The old options and method names have been depreciated,
Mahir Ozturk 1:efe9cad8942f 78 but will continue to be accepted for the next several releases. </p>
Mahir Ozturk 1:efe9cad8942f 79 <p>
Mahir Ozturk 1:efe9cad8942f 80 The source code now uses the C++11 standard. Compilers that need a standard declared should use C++11. Visual
Mahir Ozturk 1:efe9cad8942f 81 Studio 2010 is currently still currently supported. The classes were made independent of the containing
Mahir Ozturk 1:efe9cad8942f 82 source code files (the source files contain multiple classes). The dependency on global variables in the console
Mahir Ozturk 1:efe9cad8942f 83 build was removed. </p>
Mahir Ozturk 1:efe9cad8942f 84 <p>
Mahir Ozturk 1:efe9cad8942f 85 A new option, &quot;indent-after-parens&quot;, will indent continuation lines following lines that contain an
Mahir Ozturk 1:efe9cad8942f 86 opening paren &#39;(&#39; or an assignment &#39;=&#39;. This includes function definitions and declarations
Mahir Ozturk 1:efe9cad8942f 87 and return statements. This option may be preferred for editors displaying proportional fonts.</p>
Mahir Ozturk 1:efe9cad8942f 88 <p>
Mahir Ozturk 1:efe9cad8942f 89 A new option, &quot;attach-closing-while&quot;, will attach the closing &quot;while&quot; of a
Mahir Ozturk 1:efe9cad8942f 90 &quot;do-while&quot; statement to the closing brace. It has precedence over both the brace style and the break
Mahir Ozturk 1:efe9cad8942f 91 closing braces option. </p>
Mahir Ozturk 1:efe9cad8942f 92 <p>
Mahir Ozturk 1:efe9cad8942f 93 The option &quot;break-closing-braces&quot; has been included in &quot;style=stroustrup&quot;. This is the
Mahir Ozturk 1:efe9cad8942f 94 correct style according to <a href="https://en.wikipedia.org/wiki/Indent_style#Variant:_Stroustrup" target="_blank"
Mahir Ozturk 1:efe9cad8942f 95 title="open new window">Wikipedia</a>. The new option &quot;attach-closing-while&quot; is not included in
Mahir Ozturk 1:efe9cad8942f 96 the style but can be used if you want. If there is a problem with the new format, change to the K&amp;R style
Mahir Ozturk 1:efe9cad8942f 97 using the same options as for Stroustrup.</p>
Mahir Ozturk 1:efe9cad8942f 98 <p>
Mahir Ozturk 1:efe9cad8942f 99 If you are using Windows XP, there is a download file available that has an XP compatible executable. Artistic
Mahir Ozturk 1:efe9cad8942f 100 Style will still compile with Visual Studio 2010.</p>
Mahir Ozturk 1:efe9cad8942f 101 <p>
Mahir Ozturk 1:efe9cad8942f 102 Thanks to Jochen Tucht and Matthew Woehlke for their contributions.</p>
Mahir Ozturk 1:efe9cad8942f 103 <p>
Mahir Ozturk 1:efe9cad8942f 104 The following are additional topics.</p>
Mahir Ozturk 1:efe9cad8942f 105
Mahir Ozturk 1:efe9cad8942f 106 <h4>Version 3</h4>
Mahir Ozturk 1:efe9cad8942f 107
Mahir Ozturk 1:efe9cad8942f 108 <p>
Mahir Ozturk 1:efe9cad8942f 109 Artistic Style was written in the 1990&#39;s when personal computers were much slower and compilers were not as
Mahir Ozturk 1:efe9cad8942f 110 sophisticated as today. It used a lot of global variables instead of class members. In previous releases, classes
Mahir Ozturk 1:efe9cad8942f 111 were created for the astyle_main.h source code. With this release, the classes have been made independent
Mahir Ozturk 1:efe9cad8942f 112 of the source file containing them and the shared and global data has been eliminated. The classes could now be
Mahir Ozturk 1:efe9cad8942f 113 separated into separate source files. They have not been actually separated because it seems more convenient
Mahir Ozturk 1:efe9cad8942f 114 to leave them combined.</p>
Mahir Ozturk 1:efe9cad8942f 115 <p>
Mahir Ozturk 1:efe9cad8942f 116 As explained previously, the terminology for special characters has been changed to agree with various
Mahir Ozturk 1:efe9cad8942f 117 development environments and compilers. The variable and method names in the source code were changed as well
Mahir Ozturk 1:efe9cad8942f 118 as the documentation. This was a major renaming. If not for the &quot;rename&quot; refactoring feature in Visual
Mahir Ozturk 1:efe9cad8942f 119 Studio, and the AStyleTest programs, it would probably not have been attempted.</p>
Mahir Ozturk 1:efe9cad8942f 120 <p>
Mahir Ozturk 1:efe9cad8942f 121 Artistic Style has also started using C++11. Older compiler versions and compilers without C++11support cannot
Mahir Ozturk 1:efe9cad8942f 122 be used. If your compiler requires a compiler directive for C++, such as -std=c++11 or -std=c++0x, it will
Mahir Ozturk 1:efe9cad8942f 123 need to be used. </p>
Mahir Ozturk 1:efe9cad8942f 124
Mahir Ozturk 1:efe9cad8942f 125 <h4>Library File Names</h4>
Mahir Ozturk 1:efe9cad8942f 126
Mahir Ozturk 1:efe9cad8942f 127 <p>
Mahir Ozturk 1:efe9cad8942f 128 The shared library object (DLL) compile was originally intended to be a local library used by a single program.
Mahir Ozturk 1:efe9cad8942f 129 Users could update the library at their convenience. Recently, it has started being distributed as a system library
Mahir Ozturk 1:efe9cad8942f 130 for some distributions. In the past was not maintained for doing this. Since it is already being offered as
Mahir Ozturk 1:efe9cad8942f 131 a distribution, the library soname on Linux has been standardized. </p>
Mahir Ozturk 1:efe9cad8942f 132 <p>
Mahir Ozturk 1:efe9cad8942f 133 It can still be used as a local or a static library if you want to control the changes. Or the system library
Mahir Ozturk 1:efe9cad8942f 134 can be used. The system library version, of course, may change at any time. With this release the system
Mahir Ozturk 1:efe9cad8942f 135 library will be available on Debian based systems, as well as possibly others.</p>
Mahir Ozturk 1:efe9cad8942f 136 <p>
Mahir Ozturk 1:efe9cad8942f 137 The Windows library name has been changed also. This Windows version is AStyle30.dll. The &quot;30&quot; refers
Mahir Ozturk 1:efe9cad8942f 138 to the Artistic Style release number &quot;3.0&quot;. The Linux library name is a soname version number, not the
Mahir Ozturk 1:efe9cad8942f 139 Artistic Style release number.</p>
Mahir Ozturk 1:efe9cad8942f 140
Mahir Ozturk 1:efe9cad8942f 141 <h4>Artistic Style Wx</h4>
Mahir Ozturk 1:efe9cad8942f 142
Mahir Ozturk 1:efe9cad8942f 143 <p>
Mahir Ozturk 1:efe9cad8942f 144 There is a new GUI test program AStyleWx that uses wxWidgets. This replaces the old AStyleWin program. AStyleWx
Mahir Ozturk 1:efe9cad8942f 145 is multi-platform and has more features simply because they are easier to implement with wxWidgets.</p>
Mahir Ozturk 1:efe9cad8942f 146 <p>
Mahir Ozturk 1:efe9cad8942f 147 It has download files and a website in a new sub-project directory of Artistic Style. The downloads contain
Mahir Ozturk 1:efe9cad8942f 148 source code, documentation, and scripts. The Windows download contains an executable. The needed Artistic Style
Mahir Ozturk 1:efe9cad8942f 149 source files are included. </p>
Mahir Ozturk 1:efe9cad8942f 150 <p>
Mahir Ozturk 1:efe9cad8942f 151 It is licensed under the MIT license. The source code may be used and modified for any purpose you
Mahir Ozturk 1:efe9cad8942f 152 choose. Developers using Artistic Style in another project may use any part of AStyleWx in their project. The
Mahir Ozturk 1:efe9cad8942f 153 modified source code does NOT need to be made available to others.</p>
Mahir Ozturk 1:efe9cad8942f 154
Mahir Ozturk 1:efe9cad8942f 155 <h4>Code::Blocks Support</h4>
Mahir Ozturk 1:efe9cad8942f 156
Mahir Ozturk 1:efe9cad8942f 157 <p>
Mahir Ozturk 1:efe9cad8942f 158 Code::Blocks is a free, open-source cross-platform IDE that supports multiple compilers. It currently gets over
Mahir Ozturk 1:efe9cad8942f 159 100,000 downloads per week. It is used by Artistic Style to test compilers on various systems. Code::Blocks build
Mahir Ozturk 1:efe9cad8942f 160 files for several free compilers are now provided with the Artistic Style release. The &quot;Install Information&quot;
Mahir Ozturk 1:efe9cad8942f 161 contains additional information.</p>
Mahir Ozturk 1:efe9cad8942f 162
Mahir Ozturk 1:efe9cad8942f 163 <h4>Embarcadero Compiler</h4>
Mahir Ozturk 1:efe9cad8942f 164
Mahir Ozturk 1:efe9cad8942f 165 <p>
Mahir Ozturk 1:efe9cad8942f 166 Embarcadero is offering a new, free, BCC32C C++ compiler. It includes C++11 language support, the Dinkumware
Mahir Ozturk 1:efe9cad8942f 167 Standard Template Library, and the Embarcadero Runtime Library. Included are a linker, a
Mahir Ozturk 1:efe9cad8942f 168 resource compiler, and a number of command line tools. It is currently for Win32 only. There is more
Mahir Ozturk 1:efe9cad8942f 169 information at their <a href="https://www.embarcadero.com/free-tools/ccompiler" target="_blank"
Mahir Ozturk 1:efe9cad8942f 170 title="open new window">Free Tools</a> web page. They are also currently offering a free debugger and two
Mahir Ozturk 1:efe9cad8942f 171 different
Mahir Ozturk 1:efe9cad8942f 172 development environments.</p>
Mahir Ozturk 1:efe9cad8942f 173
Mahir Ozturk 1:efe9cad8942f 174 <h4>Naming Conventions</h4>
Mahir Ozturk 1:efe9cad8942f 175
Mahir Ozturk 1:efe9cad8942f 176 <p>
Mahir Ozturk 1:efe9cad8942f 177 If you use cppcheck, it has an add-on to check naming standards for functions and variables by using regular
Mahir Ozturk 1:efe9cad8942f 178 expressions. Cppcheck must be run first to generate &quot;.dump&quot; files. The Python program, naming.py,
Mahir Ozturk 1:efe9cad8942f 179 can then be run to check the names. It is basically a shell that you will probably want to modify for regular
Mahir Ozturk 1:efe9cad8942f 180 use. The add-ons must be installed with cppcheck for naming.py to be available.</p>
Mahir Ozturk 1:efe9cad8942f 181
Mahir Ozturk 1:efe9cad8942f 182 <h4>WinMerge 2011</h4>
Mahir Ozturk 1:efe9cad8942f 183
Mahir Ozturk 1:efe9cad8942f 184 <p>
Mahir Ozturk 1:efe9cad8942f 185 WinMerge 2011 is a fork of the original WinMerge application published on SourceForge by Thingamahoochie
Mahir Ozturk 1:efe9cad8942f 186 Software. It is has removed the ATL/MFC dependencies and added some useful features. It uses Artistic Style
Mahir Ozturk 1:efe9cad8942f 187 to format the source code.</p>
Mahir Ozturk 1:efe9cad8942f 188
Mahir Ozturk 1:efe9cad8942f 189 <h4>Whatstyle</h4>
Mahir Ozturk 1:efe9cad8942f 190
Mahir Ozturk 1:efe9cad8942f 191 <p>
Mahir Ozturk 1:efe9cad8942f 192 Whatstyle finds a code format style that fits given source files. This program looks at your source code and
Mahir Ozturk 1:efe9cad8942f 193 generates a style definition that fits its original formatting style as closely as possible.
Mahir Ozturk 1:efe9cad8942f 194 Several formatters and programming languages are supported. It is written in Python and has an interesting
Mahir Ozturk 1:efe9cad8942f 195 method for finding the style options.
Mahir Ozturk 1:efe9cad8942f 196 </p>
Mahir Ozturk 1:efe9cad8942f 197
Mahir Ozturk 1:efe9cad8942f 198 <h3>Artistic Style 2.06&nbsp; (December 2016)</h3>
Mahir Ozturk 1:efe9cad8942f 199
Mahir Ozturk 1:efe9cad8942f 200 <p>
Mahir Ozturk 1:efe9cad8942f 201 A new bracket style option, &quot;style=mozilla&quot;, has been added. It uses linux brackets with
Mahir Ozturk 1:efe9cad8942f 202 opening brackets broken from classes, structs, enums, and function definitions. Brackets are attached to everything
Mahir Ozturk 1:efe9cad8942f 203 else, including namespaces, arrays, and statements within a function.</p>
Mahir Ozturk 1:efe9cad8942f 204 <p>
Mahir Ozturk 1:efe9cad8942f 205 A new option, &quot;break-one-line-headers&quot; will break a header (if, while, else, etc...) from a following
Mahir Ozturk 1:efe9cad8942f 206 statement on the same line. There is more information in the &quot;Formatting Options&quot; section
Mahir Ozturk 1:efe9cad8942f 207 of the documentation.
Mahir Ozturk 1:efe9cad8942f 208 </p>
Mahir Ozturk 1:efe9cad8942f 209 <p>
Mahir Ozturk 1:efe9cad8942f 210 A new option, &quot;pad-comma&quot;, will add a space following a comma. The option &quot;pad-oper&quot;
Mahir Ozturk 1:efe9cad8942f 211 has not been changed and will also add a space following a comma.</p>
Mahir Ozturk 1:efe9cad8942f 212 <p>
Mahir Ozturk 1:efe9cad8942f 213 A new option, &quot;indent-continuation&quot;, will add extra indents to continuation lines following a line that
Mahir Ozturk 1:efe9cad8942f 214 ends with an opening paren '(' or an assignment '='. This includes function definitions and declarations.
Mahir Ozturk 1:efe9cad8942f 215 There is more information in the &quot;Indentation Options&quot; section of the documentation.</p>
Mahir Ozturk 1:efe9cad8942f 216 <p>
Mahir Ozturk 1:efe9cad8942f 217 All spaces before a comma are now removed. Use the &quot;disable formatting&quot; comment tags if there are arrays
Mahir Ozturk 1:efe9cad8942f 218 with vertical alignment where this is not wanted.</p>
Mahir Ozturk 1:efe9cad8942f 219 <p>
Mahir Ozturk 1:efe9cad8942f 220 A correction has been made to the Pico style indentation of one line blocks. And there is a fix to always compute
Mahir Ozturk 1:efe9cad8942f 221 the indentation of a one line block. If you use Pico style with an indentation greater than 2, you may have a
Mahir Ozturk 1:efe9cad8942f 222 lot of changes made to the code.</p>
Mahir Ozturk 1:efe9cad8942f 223 <p>
Mahir Ozturk 1:efe9cad8942f 224 New Objective-C options "pad-return-type" and &quot;unpad-return-type&quot; will add or remove space padding after
Mahir Ozturk 1:efe9cad8942f 225 the Objective-C return type in a method definition. They are described in the "Objective-C" section of the
Mahir Ozturk 1:efe9cad8942f 226 documentation.</p>
Mahir Ozturk 1:efe9cad8942f 227 <p>
Mahir Ozturk 1:efe9cad8942f 228 New Objective-C options "pad-param-type" and &quot;unpad-param-type&quot; will add or remove space padding after
Mahir Ozturk 1:efe9cad8942f 229 the Objective-C parameter type in a method definition. They are described in the "Objective-C" section of the
Mahir Ozturk 1:efe9cad8942f 230 documentation.</p>
Mahir Ozturk 1:efe9cad8942f 231 <p>
Mahir Ozturk 1:efe9cad8942f 232 The Objective-C &quot;align-method-colon&quot; option is now applied to Objective-C method calls in
Mahir Ozturk 1:efe9cad8942f 233 addition to method declarations and definitions. The method call colons will be aligned, if possible. If this
Mahir Ozturk 1:efe9cad8942f 234 option is not declared, the method calls will align on the first keyword. See the astyle documentation for an
Mahir Ozturk 1:efe9cad8942f 235 example.</p>
Mahir Ozturk 1:efe9cad8942f 236 <p>
Mahir Ozturk 1:efe9cad8942f 237 The Objective-C &quot;align-method-colon&quot; has been changed for long keywords.
Mahir Ozturk 1:efe9cad8942f 238 For multi-line arguments when the first keyword is shorter than the others the colons are aligned on the
Mahir Ozturk 1:efe9cad8942f 239 longest line instead of the first line. The alignment includes room for the indentation. This aligns all colons
Mahir Ozturk 1:efe9cad8942f 240 after the first line for a better appearance. Arguments that do not have a short keyword in the first line will
Mahir Ozturk 1:efe9cad8942f 241 remain the same. This style conforms to the Google Objective-C style.</p>
Mahir Ozturk 1:efe9cad8942f 242 <p>
Mahir Ozturk 1:efe9cad8942f 243 Processing for C++14 single-quote digit separators has been added.</p>
Mahir Ozturk 1:efe9cad8942f 244 <p>
Mahir Ozturk 1:efe9cad8942f 245 Translations have been added for Bulgarian, Estonian, Greek, Hungarian, Norwegian, and Romanian. The translations
Mahir Ozturk 1:efe9cad8942f 246 were done with an automated translation program, Google Translate, so they may not be the best translation possible.
Mahir Ozturk 1:efe9cad8942f 247 The translations are at the end of ASLocalizer.cpp in the form of an English-Translation pair. If you correct
Mahir Ozturk 1:efe9cad8942f 248 a translation, send the source as a bug report and it will be included in the next release. To add a language,
Mahir Ozturk 1:efe9cad8942f 249 see &quot;Internationalization&quot; in the &quot;General Information&quot; section of the documentation.</p>
Mahir Ozturk 1:efe9cad8942f 250 <p>
Mahir Ozturk 1:efe9cad8942f 251 The C# example, in the Developer Information has been updated. Objects for the AStyle callback functions are no
Mahir Ozturk 1:efe9cad8942f 252 longer required. These have been removed and the delegates used instead.</p>
Mahir Ozturk 1:efe9cad8942f 253 <p>
Mahir Ozturk 1:efe9cad8942f 254 There is a new C# example in the Developer Information, that loads the AStyle shared library using explicit linking.
Mahir Ozturk 1:efe9cad8942f 255 This allows the shared library name to be dynamically changed so that a program compiled with &quot;Any CPU&quot;
Mahir Ozturk 1:efe9cad8942f 256 can load
Mahir Ozturk 1:efe9cad8942f 257 either a 32-bit or 64-bit shared library at run-time. It runs on both Windows and Linux.</p>
Mahir Ozturk 1:efe9cad8942f 258 <p>
Mahir Ozturk 1:efe9cad8942f 259 Visual Studio Code, the text editor from Microsoft, has an Artistic Style extension. The extension runs from the
Mahir Ozturk 1:efe9cad8942f 260 Visual Studio Code menu and is controlled by entries in the User Settings file. It can be installed from Visual
Mahir Ozturk 1:efe9cad8942f 261 Studio Code. There are links to the websites on the Artistic Style Links page. </p>
Mahir Ozturk 1:efe9cad8942f 262 <p>
Mahir Ozturk 1:efe9cad8942f 263 Thanks to David Faure for his contribution.</p>
Mahir Ozturk 1:efe9cad8942f 264 <p>
Mahir Ozturk 1:efe9cad8942f 265 The following are additional topics.</p>
Mahir Ozturk 1:efe9cad8942f 266
Mahir Ozturk 1:efe9cad8942f 267 <h4>New Software License</h4>
Mahir Ozturk 1:efe9cad8942f 268
Mahir Ozturk 1:efe9cad8942f 269 <p>
Mahir Ozturk 1:efe9cad8942f 270 The Artistic Style software license has changed. It is now under the MIT license. This is a permissive license
Mahir Ozturk 1:efe9cad8942f 271 which can be used in proprietary software and does NOT require modified Artistic Style source code be made available.
Mahir Ozturk 1:efe9cad8942f 272 It is compatible with the GNU General Public License (GPL) and most other software licenses. The change was made
Mahir Ozturk 1:efe9cad8942f 273 to remove restrictions on using the software and to make it available for any project that wants to
Mahir Ozturk 1:efe9cad8942f 274 use it.</p>
Mahir Ozturk 1:efe9cad8942f 275
Mahir Ozturk 1:efe9cad8942f 276 <h4>Visual Studio 2015 and 2017 UTF-8 Files</h4>
Mahir Ozturk 1:efe9cad8942f 277
Mahir Ozturk 1:efe9cad8942f 278 <p>
Mahir Ozturk 1:efe9cad8942f 279 In order to be used on both Linux and Windows, the ASLocalizer.cpp UTF-8 file in Artistic Style does not
Mahir Ozturk 1:efe9cad8942f 280 contain a Byte Order Mark (BOM).&nbsp; With Visual Studio 2015 there has been a change in how UTF-8 files
Mahir Ozturk 1:efe9cad8942f 281 without a BOM are processed. The new procedure is described
Mahir Ozturk 1:efe9cad8942f 282 <a href="https://blogs.msdn.microsoft.com/vcblog/2016/02/22/new-options-for-managing-character-sets-in-the-microsoft-cc-compiler/"
Mahir Ozturk 1:efe9cad8942f 283 target="_blank" title="open new window">here</a>. It affects only the language translations in the &quot;.exe&quot;
Mahir Ozturk 1:efe9cad8942f 284 file. The shared libraries and static libraries are not affected. It is necessary only if you are using a translation
Mahir Ozturk 1:efe9cad8942f 285 other than English.</p>
Mahir Ozturk 1:efe9cad8942f 286
Mahir Ozturk 1:efe9cad8942f 287 <p>
Mahir Ozturk 1:efe9cad8942f 288 In addition to the &quot;auto detect&quot; option in Tools &gt; Options... &gt; Text Editor &gt; General, an
Mahir Ozturk 1:efe9cad8942f 289 additional compiler option is required. The option &quot;/source&#8209;charset:utf&#8209;8&quot; must be added
Mahir Ozturk 1:efe9cad8942f 290 to the project properties at C++ &gt; Command Line &gt; Additional Options. Since the non&#8209;unicode files
Mahir Ozturk 1:efe9cad8942f 291 in Artistic
Mahir Ozturk 1:efe9cad8942f 292 Style are ASCII, the option can be applied to the entire project instead of just one file. This option has been
Mahir Ozturk 1:efe9cad8942f 293 added in the files distributed with Artistic Style. There is also a new &quot;/validate&#8209;charset&quot; option,
Mahir Ozturk 1:efe9cad8942f 294 which gets turned on automatically with the above option. This switch enables the validation of the UTF-8 input
Mahir Ozturk 1:efe9cad8942f 295 files.</p>
Mahir Ozturk 1:efe9cad8942f 296 <p>
Mahir Ozturk 1:efe9cad8942f 297 This compiler option was not available until Update 2 of Visual Studio. If you are using an earlier version of
Mahir Ozturk 1:efe9cad8942f 298 2015, a BOM should be added to the file using File &gt; &quot;Advanced Save Options&quot;. Change the encoding
Mahir Ozturk 1:efe9cad8942f 299 to &quot;Unicode (UTF-8 with signature) - Codepage 65001&quot;. </p>
Mahir Ozturk 1:efe9cad8942f 300 <p>
Mahir Ozturk 1:efe9cad8942f 301 In the above &quot;Visual C++ Team Blog&quot; Microsoft mentions that in a future major release of the compiler,
Mahir Ozturk 1:efe9cad8942f 302 they would like to change the default handling of BOM-less files to assume UTF-8.</p>
Mahir Ozturk 1:efe9cad8942f 303
Mahir Ozturk 1:efe9cad8942f 304 <h4>Assignment Operator Alignment</h4>
Mahir Ozturk 1:efe9cad8942f 305
Mahir Ozturk 1:efe9cad8942f 306 <p>
Mahir Ozturk 1:efe9cad8942f 307 Visual Studio 2013 and 2015 have an Edit option &quot;Align Assignments&quot; that will align assignment operators
Mahir Ozturk 1:efe9cad8942f 308 across multiple lines. There is also an extension named &quot;Code alignment&quot; that will align the code on
Mahir Ozturk 1:efe9cad8942f 309 other items as well. Other development environments may have something similar. These will selectively align the
Mahir Ozturk 1:efe9cad8942f 310 data and allow for customization of the format.</p>
Mahir Ozturk 1:efe9cad8942f 311 <p>
Mahir Ozturk 1:efe9cad8942f 312 These options and extensions can be used with Artistic Style. If you choose to do this, the space padding will
Mahir Ozturk 1:efe9cad8942f 313 be maintained and the alignment will be preserved.</p>
Mahir Ozturk 1:efe9cad8942f 314
Mahir Ozturk 1:efe9cad8942f 315 <h4>Coding Styles</h4>
Mahir Ozturk 1:efe9cad8942f 316
Mahir Ozturk 1:efe9cad8942f 317 <p>
Mahir Ozturk 1:efe9cad8942f 318 Coding style, or programming style, is a set of rules or guidelines used when writing the source code. It is
Mahir Ozturk 1:efe9cad8942f 319 often claimed that following a particular programming style will help in reading and understanding source code
Mahir Ozturk 1:efe9cad8942f 320 conforming to the style, and help to avoid introducing errors.</p>
Mahir Ozturk 1:efe9cad8942f 321 <p>
Mahir Ozturk 1:efe9cad8942f 322 This Artistic Style distribution has a new &quot;file&quot; folder containing AStyle options files for various
Mahir Ozturk 1:efe9cad8942f 323 coding styles. Using the option files will give approximately the indicated coding style. The files can be used
Mahir Ozturk 1:efe9cad8942f 324 as they are, or modified as desired.</p>
Mahir Ozturk 1:efe9cad8942f 325
Mahir Ozturk 1:efe9cad8942f 326 <h4>Artistic Style Wx</h4>
Mahir Ozturk 1:efe9cad8942f 327
Mahir Ozturk 1:efe9cad8942f 328 <p>
Mahir Ozturk 1:efe9cad8942f 329 There is a new GUI test program AStyleWx that uses wxWidgets. This replaces the old AStyleWin program. AStyleWx
Mahir Ozturk 1:efe9cad8942f 330 is multi-platform and has more features simply because they are easier to implement with wxWidgets.</p>
Mahir Ozturk 1:efe9cad8942f 331 <p>
Mahir Ozturk 1:efe9cad8942f 332 It has download files and a website in a new sub-project directory of Artistic Style. The downloads contain
Mahir Ozturk 1:efe9cad8942f 333 source code, documentation, and scripts. The Windows download contains an executable. The needed Artistic Style
Mahir Ozturk 1:efe9cad8942f 334 source files are included. </p>
Mahir Ozturk 1:efe9cad8942f 335 <p>
Mahir Ozturk 1:efe9cad8942f 336 It is licensed under the MIT license. The source code may be used and modified for any purpose you
Mahir Ozturk 1:efe9cad8942f 337 choose. Developers using Artistic Style in another project may use any part of AStyleWx in their project. The
Mahir Ozturk 1:efe9cad8942f 338 modified source code does NOT need to be made available to others.</p>
Mahir Ozturk 1:efe9cad8942f 339
Mahir Ozturk 1:efe9cad8942f 340 <h4>Windows XP</h4>
Mahir Ozturk 1:efe9cad8942f 341
Mahir Ozturk 1:efe9cad8942f 342 <p>
Mahir Ozturk 1:efe9cad8942f 343 The executable in the Windows distribution package is now compiled with a Visual Studio version that will no
Mahir Ozturk 1:efe9cad8942f 344 longer work on Windows XP. Beginning with Visual Studio 2012, auto-vectorization tries to make loops run
Mahir Ozturk 1:efe9cad8942f 345 faster by automatically vectorizing the code. Auto-vectorization is on by default, and there are no compiler
Mahir Ozturk 1:efe9cad8942f 346 switches, #pragmas, or hints to disable it. It uses SSE instructions not available in Windows XP. Microsoft ended
Mahir Ozturk 1:efe9cad8942f 347 support and updates for XP on April 8, 2014, and the usage share percentage continues to decrease.</p>
Mahir Ozturk 1:efe9cad8942f 348 <p>
Mahir Ozturk 1:efe9cad8942f 349 To compile on a non-XP machine for use on XP, using a compiler other than Visual Studio should always
Mahir Ozturk 1:efe9cad8942f 350 produce an XP executable. Using Visual Studio 2010 or earlier should always produce an XP executable. If
Mahir Ozturk 1:efe9cad8942f 351 you are using Visual Studio 2012, 2013, or 2015 on a non-XP machine, do the following for the Artistic Style
Mahir Ozturk 1:efe9cad8942f 352 configuration you want to use:</p>
Mahir Ozturk 1:efe9cad8942f 353 <ul>
Mahir Ozturk 1:efe9cad8942f 354 <li>&quot;Windows XP Support for C++&quot; must be installed. It is available as an option in the Visual Studio install
Mahir Ozturk 1:efe9cad8942f 355 and can be installed as a modification to the current install.</li>
Mahir Ozturk 1:efe9cad8942f 356 <li>In the Artistic Style Properties, change General &gt; Platform Toolset, to &quot;Windows XP&quot; for your Visual
Mahir Ozturk 1:efe9cad8942f 357 Studio version.</li>
Mahir Ozturk 1:efe9cad8942f 358 <li>In the Artistic Style Properties, change C/C++ &gt; Preprocessor &gt; Preprocessor Definitions to include
Mahir Ozturk 1:efe9cad8942f 359 _USING_V110_SDK71_.</li>
Mahir Ozturk 1:efe9cad8942f 360 <li>Change other Properties if you want, such as Output Directory or Target Name.</li>
Mahir Ozturk 1:efe9cad8942f 361 <li>Compile. The output should be executable on Windows XP. It will also execute on the later versions of Windows.
Mahir Ozturk 1:efe9cad8942f 362 </li>
Mahir Ozturk 1:efe9cad8942f 363 </ul>
Mahir Ozturk 1:efe9cad8942f 364 <p>
Mahir Ozturk 1:efe9cad8942f 365 In newer releases of Visual Studio 2015, the &quot;Universal CRT&quot; files have been moved. There is a
Mahir Ozturk 1:efe9cad8942f 366 notification <a href="https://blogs.msdn.microsoft.com/vcblog/2015/03/03/introducing-the-universal-crt/">here</a>.
Mahir Ozturk 1:efe9cad8942f 367 To compile using XP there may need to be additional include and library directories added. If the compile gets
Mahir Ozturk 1:efe9cad8942f 368 errors add the appropriate directories to the project properties.</p>
Mahir Ozturk 1:efe9cad8942f 369
Mahir Ozturk 1:efe9cad8942f 370 <h3>Artistic Style 2.05&nbsp; (November 2014)</h3>
Mahir Ozturk 1:efe9cad8942f 371
Mahir Ozturk 1:efe9cad8942f 372 <p>
Mahir Ozturk 1:efe9cad8942f 373 Release 2.05.1 (December 2014) is a maintenance release and no new features were added. A list of changes is in
Mahir Ozturk 1:efe9cad8942f 374 the Release Notes. The following information is for the original 2.05 release.</p>
Mahir Ozturk 1:efe9cad8942f 375
Mahir Ozturk 1:efe9cad8942f 376 <p>
Mahir Ozturk 1:efe9cad8942f 377 A new bracket style option, &quot;style=vtk&quot;, has been added. It uses indented brackets, like Whitesmith,
Mahir Ozturk 1:efe9cad8942f 378 except opening brackets for classes, functions, and methods are not indented. A complete description of the VTK
Mahir Ozturk 1:efe9cad8942f 379 style is available at the &quot;Visualization Toolkit&quot; website (http://www.vtk.org/).</p>
Mahir Ozturk 1:efe9cad8942f 380 <p>
Mahir Ozturk 1:efe9cad8942f 381 A new preprocessor indent option "indent-preproc-block" will indent preprocessor block statements one additional
Mahir Ozturk 1:efe9cad8942f 382 indent. The block must be top-level, or included within a namespace, and there are restrictions on what can be
Mahir Ozturk 1:efe9cad8942f 383 indented.
Mahir Ozturk 1:efe9cad8942f 384 The option is described in the "Indentation Options" section of the documentation.</p>
Mahir Ozturk 1:efe9cad8942f 385 <p>
Mahir Ozturk 1:efe9cad8942f 386 A new option, "dry-run", will run Artistic Style without updating the files. The report will be output as
Mahir Ozturk 1:efe9cad8942f 387 usual.</p>
Mahir Ozturk 1:efe9cad8942f 388 <p>
Mahir Ozturk 1:efe9cad8942f 389 Formatting of source code may now be disabled for portions of a program by embedding special comment tags in the
Mahir Ozturk 1:efe9cad8942f 390 program. These are described in a new &quot;Disable Formatting&quot; section of the documentation. They work the
Mahir Ozturk 1:efe9cad8942f 391 same as in other formatters. There are tags to disable formatting for a block of code, and a tag to disable formatting
Mahir Ozturk 1:efe9cad8942f 392 of a single line. This should allow any custom formatting to be retained.</p>
Mahir Ozturk 1:efe9cad8942f 393 <p>
Mahir Ozturk 1:efe9cad8942f 394 The product version number has been added to the filename of shared library (DLL) compiles. This will allow multiple
Mahir Ozturk 1:efe9cad8942f 395 versions of a shared library on the same system without conflicts.</p>
Mahir Ozturk 1:efe9cad8942f 396 <p>
Mahir Ozturk 1:efe9cad8942f 397 An attribute &#39;__attribute__ ((visibility (&quot;default&quot;)))&#39; has been added to exported functions
Mahir Ozturk 1:efe9cad8942f 398 on Linux shared libraries. This allows the option &quot;-fvisibility=hidden&quot; to be used on dynamic library
Mahir Ozturk 1:efe9cad8942f 399 compiles. According to the GNU documentation, &quot;Using this feature can very substantially improve linking
Mahir Ozturk 1:efe9cad8942f 400 and load times of shared object libraries, produce more optimized code, provide near-perfect API export and prevent
Mahir Ozturk 1:efe9cad8942f 401 symbol clashes. It is strongly recommended that you use this in any shared objects you distribute.&quot;</p>
Mahir Ozturk 1:efe9cad8942f 402 <p>
Mahir Ozturk 1:efe9cad8942f 403 Improvements have been made in the formatting of C++11 uniform initializers (enclosed by brackets). The opening
Mahir Ozturk 1:efe9cad8942f 404 bracket will not be space padded unless it is padded initially. The closing bracket will not be broken from the
Mahir Ozturk 1:efe9cad8942f 405 final line unless it is broken initially. And the known problems with uniform initializers in class constructors
Mahir Ozturk 1:efe9cad8942f 406 have been fixed.</p>
Mahir Ozturk 1:efe9cad8942f 407 <p>
Mahir Ozturk 1:efe9cad8942f 408 The Windows compiler definition ASTYLE_NO_VCX (no Visual Studio exports) has been changed to ASTYLE_NO_EXPORTS.
Mahir Ozturk 1:efe9cad8942f 409 It is sometimes needed for static libraries on other compilers to prevent error and warning messages.</p>
Mahir Ozturk 1:efe9cad8942f 410 <p>
Mahir Ozturk 1:efe9cad8942f 411 Qt and Boost macros foreach, forever, Q_FOREACH, and Q_FOREVER will now be recognized as headers.</p>
Mahir Ozturk 1:efe9cad8942f 412 <p>
Mahir Ozturk 1:efe9cad8942f 413 The main documentation for Artistic Style is in HTML format. Until now there has not been a way to display it
Mahir Ozturk 1:efe9cad8942f 414 from the astyle console program. A new option, "html" or "-!" will display the help documentation in the default
Mahir Ozturk 1:efe9cad8942f 415 browser. This documentation is more complete than the astyle "help" option. It includes examples, and has an index
Mahir Ozturk 1:efe9cad8942f 416 for easier navigation. Since astyle is typically run from a script this should allow an easy way to access the
Mahir Ozturk 1:efe9cad8942f 417 documentation. The option is available only from the command line.</p>
Mahir Ozturk 1:efe9cad8942f 418 <p>
Mahir Ozturk 1:efe9cad8942f 419 The new "html" option assumes the documentation is installed in the standard install path. This is /usr/share/doc/astyle/html
Mahir Ozturk 1:efe9cad8942f 420 for Linux and the path %programfiles%\AStyle\doc for Windows. If it is installed to a different directory, use
Mahir Ozturk 1:efe9cad8942f 421 the variation "html=&lt;actual_install_path&gt;astyle.html. This option can also be used to open other HTML files.
Mahir Ozturk 1:efe9cad8942f 422 More information is in the "Command Line Only" section of the documentation.</p>
Mahir Ozturk 1:efe9cad8942f 423 <p>
Mahir Ozturk 1:efe9cad8942f 424 The "html" option on Linux uses the script "xdg-open" from the install package "xdg-utils" to find the default
Mahir Ozturk 1:efe9cad8942f 425 browser. This should be available on most systems. &nbsp;If it is not available on your system you can file a
Mahir Ozturk 1:efe9cad8942f 426 bug report requesting a change. It would be helpful if you could determine how it is done before filing the report.
Mahir Ozturk 1:efe9cad8942f 427 You can also file a bug report if the documentation is not installed to the above "default" directories. The HTML
Mahir Ozturk 1:efe9cad8942f 428 documentation takes quite a bit of effort to maintain and I would like to make it easily available.</p>
Mahir Ozturk 1:efe9cad8942f 429 <p>
Mahir Ozturk 1:efe9cad8942f 430 The "help" option has been changed to send the output to stdout instead of stderr. This will allow piping and
Mahir Ozturk 1:efe9cad8942f 431 redirection of the output. A common way to use the option on Linux is "astyle --help&nbsp;|&nbsp;less", which
Mahir Ozturk 1:efe9cad8942f 432 will page the display. The "version" option has also been changed to stdout.</p>
Mahir Ozturk 1:efe9cad8942f 433 <p>
Mahir Ozturk 1:efe9cad8942f 434 A shared library error handler argument has been changed from &quot;char*&quot; to &quot;const char*&quot;. In
Mahir Ozturk 1:efe9cad8942f 435 some cases this may cause compile errors in a user program until the references have been changed.</p>
Mahir Ozturk 1:efe9cad8942f 436 <p>
Mahir Ozturk 1:efe9cad8942f 437 The "Indent Style" topic on Wikipedia states that the "ANSI" style refers to K&amp;R style brackets
Mahir Ozturk 1:efe9cad8942f 438 and not Allman style as used by Artistic Style. The option "style=ansi" is therefore being deprecated and will
Mahir Ozturk 1:efe9cad8942f 439 be removed in a future release. Use one of the other long options instead (style=allman, style=bsd, or
Mahir Ozturk 1:efe9cad8942f 440 style=break).</p>
Mahir Ozturk 1:efe9cad8942f 441 <p>
Mahir Ozturk 1:efe9cad8942f 442 Some of the documentation has been removed from the distribution package. It still contains all files needed to
Mahir Ozturk 1:efe9cad8942f 443 install and run Artistic Style. The included files can be used without an Internet connection.</p>
Mahir Ozturk 1:efe9cad8942f 444 <p>
Mahir Ozturk 1:efe9cad8942f 445 There are now build files available for Xcode on Mac. The makefile is still available for those who want it. Both
Mahir Ozturk 1:efe9cad8942f 446 now use the LLVM Clang compiler. There has been a
Mahir Ozturk 1:efe9cad8942f 447 change to the makefile debug locations to make them similar to Xcode. The &quot;Install Instructions&quot; have
Mahir Ozturk 1:efe9cad8942f 448 been updated for both.</p>
Mahir Ozturk 1:efe9cad8942f 449 <p>
Mahir Ozturk 1:efe9cad8942f 450 The Python Example in the Developer Information now supports Iron Python. The
Mahir Ozturk 1:efe9cad8942f 451 programming instructions are sometimes different since the ctypes module works differently. The example script
Mahir Ozturk 1:efe9cad8942f 452 documents the differences. If you use Python Tools for Visual Studio, it now installs in the Express editions
Mahir Ozturk 1:efe9cad8942f 453 (beginning with release 2.1). Node.js can also be installed in Visual Studio Express.</p>
Mahir Ozturk 1:efe9cad8942f 454 <p>
Mahir Ozturk 1:efe9cad8942f 455 The executable in the Windows distribution package is now compiled with Visual Studio 2013 and will no longer
Mahir Ozturk 1:efe9cad8942f 456 work on XP. If you are using XP, Artistic Style will need to be recompiled on the XP machine.</p>
Mahir Ozturk 1:efe9cad8942f 457 <p>
Mahir Ozturk 1:efe9cad8942f 458 A new <a href="http://www.visualstudio.com/news/vs2013-community-vs" target="_blank" title="open new window">Visual
Mahir Ozturk 1:efe9cad8942f 459 Studio Community Edition</a> has been released. It is free, combines all of the Express editions into a single
Mahir Ozturk 1:efe9cad8942f 460 development environment, and allows the addition of Visual Studio extensions. There is an
Mahir Ozturk 1:efe9cad8942f 461 <a href="https://visualstudiogallery.msdn.microsoft.com/2f3f04cd-2866-4e47-a671-d1cc9cc3fb02" target="_blank"
Mahir Ozturk 1:efe9cad8942f 462 title="open new window">AStyle Extension</a> available for installation. It has a graphic interface, adds
Mahir Ozturk 1:efe9cad8942f 463 menu entries, and can be used from within Visual Studio. To install it search the &quot;Extensions and Updates&quot;,
Mahir Ozturk 1:efe9cad8942f 464 &quot;Online&quot; entry for &quot;astyle&quot;.</p>
Mahir Ozturk 1:efe9cad8942f 465 <p>
Mahir Ozturk 1:efe9cad8942f 466 Thanks to Peter A. Bigot, HyungKi Jeong, David Faure, and Carl Moore for their contributions.</p>
Mahir Ozturk 1:efe9cad8942f 467
Mahir Ozturk 1:efe9cad8942f 468 <h3>Artistic Style 2.04&nbsp; (November 2013)</h3>
Mahir Ozturk 1:efe9cad8942f 469
Mahir Ozturk 1:efe9cad8942f 470 <p>
Mahir Ozturk 1:efe9cad8942f 471 With a new Artistic Style release some unchanged source files will be formatted because of changes to Artistic
Mahir Ozturk 1:efe9cad8942f 472 Style. You may want to format your source before making program changes in order to bring it up to date.</p>
Mahir Ozturk 1:efe9cad8942f 473 <p>
Mahir Ozturk 1:efe9cad8942f 474 A new programming language, Objective&#8209;C, has been added to Artistic Style. Four new options, "align&#8209;method&#8209;colon",
Mahir Ozturk 1:efe9cad8942f 475 "pad&#8209;method&#8209;colon=", "pad&#8209;method&#8209;prefix", and "unpad&#8209;method&#8209;prefix" have been
Mahir Ozturk 1:efe9cad8942f 476 added to format the methods. The options are described in a new "Objective&#8209;C" section in the documentation.
Mahir Ozturk 1:efe9cad8942f 477 These new options affect only Objective&#8209;C source code. They have no effect on the other programming
Mahir Ozturk 1:efe9cad8942f 478 languages.</p>
Mahir Ozturk 1:efe9cad8942f 479 <p>
Mahir Ozturk 1:efe9cad8942f 480 Because of the longer continuation indents sometimes needed for Objective&#8209;C, the option "max-instatement-indent"
Mahir Ozturk 1:efe9cad8942f 481 may need to be increased. If you are not getting the paren and block paren alignment you want, try increasing
Mahir Ozturk 1:efe9cad8942f 482 this value. The default minimum is 40 and the maximum is 120.</p>
Mahir Ozturk 1:efe9cad8942f 483 <p>
Mahir Ozturk 1:efe9cad8942f 484 A new bracket style option, "style=google", has been added. It uses attached brackets and indents the class access
Mahir Ozturk 1:efe9cad8942f 485 modifiers one-half indent.&nbsp; A complete description of the Google style is available at the google&#8209;styleguide
Mahir Ozturk 1:efe9cad8942f 486 website (https://code.google.com/p/google-styleguide/). The website has standards for several programming languages
Mahir Ozturk 1:efe9cad8942f 487 along with a python program to verify the style and an emacs script for using the style.</p>
Mahir Ozturk 1:efe9cad8942f 488 <p>
Mahir Ozturk 1:efe9cad8942f 489 A new indent option "indent-modifiers" will indent class access modifiers (public, protected, or 'private) one-half
Mahir Ozturk 1:efe9cad8942f 490 indent. The rest of the class is not indented. It is described in the "Indentation Options" section of the
Mahir Ozturk 1:efe9cad8942f 491 documentation.</p>
Mahir Ozturk 1:efe9cad8942f 492 <p>
Mahir Ozturk 1:efe9cad8942f 493 Four new bracket modify options, "attach-namespaces", "attach-classes", "attach-inlines", and "attach-extern-c",
Mahir Ozturk 1:efe9cad8942f 494 can be used to modify your selected bracket style. They are described in a new "Bracket Modify Options" section
Mahir Ozturk 1:efe9cad8942f 495 of the documentation.</p>
Mahir Ozturk 1:efe9cad8942f 496 <p>
Mahir Ozturk 1:efe9cad8942f 497 A new option, "remove-brackets", will remove brackets from conditional statements. The statement must be a single
Mahir Ozturk 1:efe9cad8942f 498 statement on a single line. It is described in the "Formatting Options" section of the documentation.</p>
Mahir Ozturk 1:efe9cad8942f 499 <p>
Mahir Ozturk 1:efe9cad8942f 500 A new option, "indent-preproc-cond", will indent preprocessor conditional statements (#if #elif, #else, #endif).
Mahir Ozturk 1:efe9cad8942f 501 It is described in the "Indentation Options" section of the documentation. The option "indent-preprocessor" has
Mahir Ozturk 1:efe9cad8942f 502 been deprecated and will be removed in a future release. Use "indent-preproc-define" instead. The processing of
Mahir Ozturk 1:efe9cad8942f 503 preprocessor #define statements has not changed.</p>
Mahir Ozturk 1:efe9cad8942f 504 <p>
Mahir Ozturk 1:efe9cad8942f 505 A new option, "remove-comment-prefix", will remove a leading '*' from multi-line comments. It is described in
Mahir Ozturk 1:efe9cad8942f 506 the "Formatting Options" section of the documentation. With the syntax coloring of modern editors a leading '*'
Mahir Ozturk 1:efe9cad8942f 507 for comment lines is not as useful as it once was. The current trend is toward code that is easier to maintain.
Mahir Ozturk 1:efe9cad8942f 508 The idea is that a style that is hard to maintain will discourage modification and updating. The converted style
Mahir Ozturk 1:efe9cad8942f 509 should retain most of the formatting within the comment and result in a comment that is easier to maintain. For
Mahir Ozturk 1:efe9cad8942f 510 consistency the option also indents multi-line comments that are not preceded by the '*'. This may slightly modify
Mahir Ozturk 1:efe9cad8942f 511 the indentation of any commented-out code.</p>
Mahir Ozturk 1:efe9cad8942f 512 <p>
Mahir Ozturk 1:efe9cad8942f 513 The option "pad-first-paren-out" was fixed to not pad if the following paren is empty. This makes the option consistent
Mahir Ozturk 1:efe9cad8942f 514 with "pad-paren-out". To fix empty parens that have been padded run with the option "unpad-paren" in addition
Mahir Ozturk 1:efe9cad8942f 515 to "pad-first-paren-out". This needs to be done only once.</p>
Mahir Ozturk 1:efe9cad8942f 516 <p>
Mahir Ozturk 1:efe9cad8942f 517 Processing of C++11 raw string literals has been added.</p>
Mahir Ozturk 1:efe9cad8942f 518 <p>
Mahir Ozturk 1:efe9cad8942f 519 The compiler definition ASTYLE_NO_VCX (no Visual Studio exports) has been changed to ASTYLE_NO_EXPORTS and can
Mahir Ozturk 1:efe9cad8942f 520 be used with any Windows compiler. The Clang compiler needs this option to avoid errors on dynamic libraries.
Mahir Ozturk 1:efe9cad8942f 521 It removes the "__declspec(dllexport)"
Mahir Ozturk 1:efe9cad8942f 522 definition from exported functions. Linux compilers do not use this.</p>
Mahir Ozturk 1:efe9cad8942f 523 <p>
Mahir Ozturk 1:efe9cad8942f 524 A new shared object (DLL) entry point, AStyleMainUtf16, has been added for processing C# UTF-16 strings. C# does
Mahir Ozturk 1:efe9cad8942f 525 not have built in functions for converting the UTF-16 strings to UTF-8. This entry point will accept UTF-16 strings,
Mahir Ozturk 1:efe9cad8942f 526 format the source code, and return UTF-16 strings. The error handling function and version number still use UTF-8
Mahir Ozturk 1:efe9cad8942f 527 strings. The C# example program in the "Developer Information" shows the new calling procedure. Changes from the
Mahir Ozturk 1:efe9cad8942f 528 previous release are marked in the example.</p>
Mahir Ozturk 1:efe9cad8942f 529 <p>
Mahir Ozturk 1:efe9cad8942f 530 C# strings are UTF-16 on both Windows and Linux. C# does not use the UTF-32 wchar_t strings on Linux. Qt also
Mahir Ozturk 1:efe9cad8942f 531 uses UTF-16 on both Windows and Linux, but has built in UTF-8 conversion functions. Qt strings can be converted
Mahir Ozturk 1:efe9cad8942f 532 to UTF-8 by Qt, or the new entry point can be used. There may be other "managed code" applications on Linux that
Mahir Ozturk 1:efe9cad8942f 533 use UTF-16.</p>
Mahir Ozturk 1:efe9cad8942f 534 <p>
Mahir Ozturk 1:efe9cad8942f 535 The "Links" page has two new sections for links mentioned in previous versions of Artistic Style. It links to
Mahir Ozturk 1:efe9cad8942f 536 free software and other information.</p>
Mahir Ozturk 1:efe9cad8942f 537 <p>
Mahir Ozturk 1:efe9cad8942f 538 The "Developer Information" section has a new example and download for calling Artistic Style from an Objective&#8209;C
Mahir Ozturk 1:efe9cad8942f 539 program. Since it is another "C" language the only thing needed is to link the program with a library build of
Mahir Ozturk 1:efe9cad8942f 540 Artistic Style. The example was developed on Windows and Linux using the GNUstep project. Since the example is
Mahir Ozturk 1:efe9cad8942f 541 a console program the problems with the GNUstep GUI have been avoided. It has not been tested on a Mac, but should
Mahir Ozturk 1:efe9cad8942f 542 be close to working. The "Developer Information" section also has a new page for "Objective&#8209;C on Windows
Mahir Ozturk 1:efe9cad8942f 543 and Linux" which has information on compiling and running the example on those systems.</p>
Mahir Ozturk 1:efe9cad8942f 544 <p>
Mahir Ozturk 1:efe9cad8942f 545 The executable included in the Windows distribution was compiled with Visual Studio 2010 (platform toolset v100).
Mahir Ozturk 1:efe9cad8942f 546 Higher releases contain dependencies on Windows API functions that exist only on Windows Vista, Windows 7, and
Mahir Ozturk 1:efe9cad8942f 547 Windows 8. This means that applications built with a Visual Studio 2012 C++ compiler would fail to load and execute
Mahir Ozturk 1:efe9cad8942f 548 on Windows XP.</p>
Mahir Ozturk 1:efe9cad8942f 549 <p>
Mahir Ozturk 1:efe9cad8942f 550 If you are using Windows Vista or higher, and have a Visual Studio 2012 or higher compiler available, recompiling
Mahir Ozturk 1:efe9cad8942f 551 will probably result in faster execution. If you use a compiler other than Visual Studio, you can probably get
Mahir Ozturk 1:efe9cad8942f 552 better execution by compiling using the C++11 standards. Artistic Style uses a lot of string vectors and the new
Mahir Ozturk 1:efe9cad8942f 553 move semantics will probably result in faster execution.</p>
Mahir Ozturk 1:efe9cad8942f 554 <p>
Mahir Ozturk 1:efe9cad8942f 555 Thanks to Evmenov Georgiy, Matthew Woehlke, Jiang, Ruzzz, and beta100100 for their contributions.</p>
Mahir Ozturk 1:efe9cad8942f 556
Mahir Ozturk 1:efe9cad8942f 557 <h3>Artistic Style 2.03&nbsp; (April 2013)</h3>
Mahir Ozturk 1:efe9cad8942f 558
Mahir Ozturk 1:efe9cad8942f 559 <p>
Mahir Ozturk 1:efe9cad8942f 560 With a new Artistic Style release some unchanged source files will be formatted because of changes to Artistic
Mahir Ozturk 1:efe9cad8942f 561 Style. You may want to format your source before making program changes in order to bring it up to date.</p>
Mahir Ozturk 1:efe9cad8942f 562 <p>
Mahir Ozturk 1:efe9cad8942f 563 A new option, "max-code-length=#" or "xC#", will limit the length of code on a line. A new option "break&#8209;after&#8209;logical",
Mahir Ozturk 1:efe9cad8942f 564 or "xL", will modify a line break for conditionals. See the documentation for details.</p>
Mahir Ozturk 1:efe9cad8942f 565 <p>
Mahir Ozturk 1:efe9cad8942f 566 A new option, "pad-first-paren-out" or "xd", will pad only the first paren in a series on the outside. See the
Mahir Ozturk 1:efe9cad8942f 567 documentation for details.</p>
Mahir Ozturk 1:efe9cad8942f 568 <p>
Mahir Ozturk 1:efe9cad8942f 569 A new option, "indent=force-tab-tab=#" or "xT#", will allow force tab indents with a tab length that is different
Mahir Ozturk 1:efe9cad8942f 570 than the indent length. See the documentation for details.</p>
Mahir Ozturk 1:efe9cad8942f 571 <p>
Mahir Ozturk 1:efe9cad8942f 572 The short option for delete-empty-lines has changed from "xd" to "xe".</p>
Mahir Ozturk 1:efe9cad8942f 573 <p>
Mahir Ozturk 1:efe9cad8942f 574 The C++11 standard for range-based "for" loops, "enum" with a base type, and rvalue references is now supported.
Mahir Ozturk 1:efe9cad8942f 575 The formatting of rvalue references is determined from the existing &quot;align-pointer&quot; and &quot;align-reference&quot;
Mahir Ozturk 1:efe9cad8942f 576 options.</p>
Mahir Ozturk 1:efe9cad8942f 577 <p>
Mahir Ozturk 1:efe9cad8942f 578 Closing the ending angle brackets of templates is now allowed by the C++11 standard. A new option, &quot;close-templates&quot;
Mahir Ozturk 1:efe9cad8942f 579 or "xy", will close the whitespace in the angle brackets of template definitions. Be sure your compiler supports
Mahir Ozturk 1:efe9cad8942f 580 this before making the changes.</p>
Mahir Ozturk 1:efe9cad8942f 581 <p>
Mahir Ozturk 1:efe9cad8942f 582 The C/C++ keyword 'extern "C"' in a preprocessor no longer causes an extra indent.</p>
Mahir Ozturk 1:efe9cad8942f 583 <p>
Mahir Ozturk 1:efe9cad8942f 584 Formatting of C++/CLI managed pointers (the &#39;^&#39; character) has been added to the &quot;align-pointer&quot;
Mahir Ozturk 1:efe9cad8942f 585 option.</p>
Mahir Ozturk 1:efe9cad8942f 586 <p>
Mahir Ozturk 1:efe9cad8942f 587 &nbsp;The breaking of switch &quot;default&quot; statements has been fixed. The &quot;default&quot; statements
Mahir Ozturk 1:efe9cad8942f 588 that have been incorrectly broken will be fixed in this release.</p>
Mahir Ozturk 1:efe9cad8942f 589 <p>
Mahir Ozturk 1:efe9cad8942f 590 The byte order mark (BOM) has been removed from ASLocalizer.cpp for all platforms. The encoding of the file is
Mahir Ozturk 1:efe9cad8942f 591 UTF-8. Many Windows editors can now recognize UTF-8 encoding without the BOM. Visual Studio has an option that
Mahir Ozturk 1:efe9cad8942f 592 needs to be set. With others, such as CodeBlocks, identification is automatic. On Linux, UTF-8 is the default
Mahir Ozturk 1:efe9cad8942f 593 encoding.</p>
Mahir Ozturk 1:efe9cad8942f 594 <p>
Mahir Ozturk 1:efe9cad8942f 595 Translations have been added for Dutch, Finnish, Italian, Japanese, Korean, Polish, Portuguese, Russian, Swedish,
Mahir Ozturk 1:efe9cad8942f 596 and Ukrainian. The translations were done with an automated translation program, Google Translate, so they may
Mahir Ozturk 1:efe9cad8942f 597 not be the best translation possible. The translations are at the end of ASLocalizer.cpp in the form of an English&#8209;Translation
Mahir Ozturk 1:efe9cad8942f 598 pair. If you correct a translation, send the source as a bug report and it will be included in the next release.
Mahir Ozturk 1:efe9cad8942f 599 To add a language, see "Internationalization" in the "General Information" section of the documentation. Send
Mahir Ozturk 1:efe9cad8942f 600 the addition as a bug report and it will be included in the next release.</p>
Mahir Ozturk 1:efe9cad8942f 601 <p>
Mahir Ozturk 1:efe9cad8942f 602 There is a new Linux makefile for the Clang Compiler. Clang is a free compiler can be installed as a package on
Mahir Ozturk 1:efe9cad8942f 603 many Linux distributions. Some of its features are fast compiles, low memory use, expressive diagnostic messages,
Mahir Ozturk 1:efe9cad8942f 604 and GCC compatibility. It includes a static analyzer tool that finds potential bugs in your source code. An experimental
Mahir Ozturk 1:efe9cad8942f 605 version can be installed on a Windows platform. There is more information in the Install Information
Mahir Ozturk 1:efe9cad8942f 606 documentation.</p>
Mahir Ozturk 1:efe9cad8942f 607 <p>
Mahir Ozturk 1:efe9cad8942f 608 Visual Studio automatically creates an import library and an export file when you link a program that contains
Mahir Ozturk 1:efe9cad8942f 609 exports. It will do this for even a static library if it contains a __declspec(dllexport) definition. The Artistic
Mahir Ozturk 1:efe9cad8942f 610 Style library (ASTYLE_LIB) build contains such exports, which causes an import library and export file to be created
Mahir Ozturk 1:efe9cad8942f 611 when they may not be needed. A new preprocessor definition, ASTYLE_NO_VCX (no Visual Studio exports) can be declared
Mahir Ozturk 1:efe9cad8942f 612 to eliminate the files from the output. Use this only for static libraries or when the AStyle source is included
Mahir Ozturk 1:efe9cad8942f 613 in the compile. Do NOT use this when compiled as a shared (dynamic) library. It is effective only for Visual Studio
Mahir Ozturk 1:efe9cad8942f 614 2012. It will NOT work with previous versions. It has no effect with other compilers since they require a separate
Mahir Ozturk 1:efe9cad8942f 615 option to create the import library and export files.</p>
Mahir Ozturk 1:efe9cad8942f 616 <p>
Mahir Ozturk 1:efe9cad8942f 617 The executable included in the Windows distribution was compiled with Visual Studio 2010 (platform toolset v100).
Mahir Ozturk 1:efe9cad8942f 618 Visual Studio 2012 (platform toolset v110) contains dependencies on Windows API functions that exist only on Windows
Mahir Ozturk 1:efe9cad8942f 619 Vista, Windows 7, and Windows 8. This means that applications built with a Visual Studio 2012 C++ compiler would
Mahir Ozturk 1:efe9cad8942f 620 fail to load and execute on Windows XP. Artistic Style was therefore compiled with Visual Studio 2010 to work
Mahir Ozturk 1:efe9cad8942f 621 on computers using Windows XP.</p>
Mahir Ozturk 1:efe9cad8942f 622 <p>
Mahir Ozturk 1:efe9cad8942f 623 If you are using Windows Vista or higher, and have the Visual Studio 2012 compiler available, recompiling with
Mahir Ozturk 1:efe9cad8942f 624 Visual Studio 2012 will probably result in faster execution. The Windows distribution has Visual Studio 2012 project
Mahir Ozturk 1:efe9cad8942f 625 files available.</p>
Mahir Ozturk 1:efe9cad8942f 626 <p>
Mahir Ozturk 1:efe9cad8942f 627 If you use a compiler other than Visual Studio, you can probably get better execution by compiling using the C++11
Mahir Ozturk 1:efe9cad8942f 628 standards. Artistic Style uses a lot of string vectors and the new move semantics will probably result in faster
Mahir Ozturk 1:efe9cad8942f 629 execution. (To use C++11 on GCC and MinGW use the option --std=c++0x). This may change on future compiler
Mahir Ozturk 1:efe9cad8942f 630 releases.</p>
Mahir Ozturk 1:efe9cad8942f 631 <p>
Mahir Ozturk 1:efe9cad8942f 632 The "Developer Information" page has a new example and download for calling Artistic Style from a Python script.
Mahir Ozturk 1:efe9cad8942f 633 It will run with both Python 2 and Python 3. Using Python 3 shows an example of formatting a Unicode string with
Mahir Ozturk 1:efe9cad8942f 634 Artistic Style. Unicode strings must be encoded to UTF-8 before formatting and decoded back to Unicode afterward.
Mahir Ozturk 1:efe9cad8942f 635 The example script shows the technique for doing this. It also shows how to set up the function pointers and allocate
Mahir Ozturk 1:efe9cad8942f 636 memory in Python.</p>
Mahir Ozturk 1:efe9cad8942f 637 <p>
Mahir Ozturk 1:efe9cad8942f 638 If you use Visual Studio on Windows, it can now be used for Python development. Python Tools for Visual Studio
Mahir Ozturk 1:efe9cad8942f 639 (PTVS) is a free and open source plug-in for Visual Studio 2010 that supports Python and Iron Python. Other interpreters
Mahir Ozturk 1:efe9cad8942f 640 such Jython can be added. It can be easily switched between Python versions or different interpreters. But the
Mahir Ozturk 1:efe9cad8942f 641 best thing is the Visual Studio debugging support using the .NET debugger and the normal Visual Studio debugger.
Mahir Ozturk 1:efe9cad8942f 642 It enables you to set break points, step through functions, change the current statement, inspect local variables,
Mahir Ozturk 1:efe9cad8942f 643 and perform other operations while debugging. It is best to use it with a project file, a minor irritation for
Mahir Ozturk 1:efe9cad8942f 644 single page scripts. And there are some minor bugs. But overall it works quite well.</p>
Mahir Ozturk 1:efe9cad8942f 645 <p>
Mahir Ozturk 1:efe9cad8942f 646 Thanks to Christopher Sean Morrison, Keith OHara, louis6g, and J for their contributions.</p>
Mahir Ozturk 1:efe9cad8942f 647 <p>
Mahir Ozturk 1:efe9cad8942f 648 &nbsp;</p>
Mahir Ozturk 1:efe9cad8942f 649 <p>
Mahir Ozturk 1:efe9cad8942f 650 <strong>Previous releases are available in the
Mahir Ozturk 1:efe9cad8942f 651 <a href="http://astyle.sourceforge.net/newsArchives.html">News Archives</a>.</strong></p>
Mahir Ozturk 1:efe9cad8942f 652 <p>
Mahir Ozturk 1:efe9cad8942f 653 &nbsp;</p>
Mahir Ozturk 1:efe9cad8942f 654
Mahir Ozturk 1:efe9cad8942f 655 <p style="margin-left: -0.4in; text-align: center;">
Mahir Ozturk 1:efe9cad8942f 656 <a href="http://sourceforge.net/projects/astyle">
Mahir Ozturk 1:efe9cad8942f 657 <img src="http://sflogo.sourceforge.net/sflogo.php?group_id=2319&type=16" alt="" /></a></p>
Mahir Ozturk 1:efe9cad8942f 658
Mahir Ozturk 1:efe9cad8942f 659 <p>
Mahir Ozturk 1:efe9cad8942f 660 &nbsp;</p>
Mahir Ozturk 1:efe9cad8942f 661
Mahir Ozturk 1:efe9cad8942f 662 </body>
Mahir Ozturk 1:efe9cad8942f 663
Mahir Ozturk 1:efe9cad8942f 664 </html>
Mahir Ozturk 1:efe9cad8942f 665