Maxim Integrated's IoT development kit.
Dependencies: MAX30101 MAX30003 MAX113XX_Pixi MAX30205 max32630fthr USBDevice
tools/AStyle_3.0.1_windows/doc/news.html@1:efe9cad8942f, 2018-03-13 (annotated)
- 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?
| User | Revision | Line number | New 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 | </p> |
| Mahir Ozturk |
1:efe9cad8942f | 19 | |
| Mahir Ozturk |
1:efe9cad8942f | 20 | <h3>Artistic Style 3.0 (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> { } </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> ( ) </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> [ ] </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> < > </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, "break-closing-brackets", "add-brackets", "add-one-line-brackets", |
| Mahir Ozturk |
1:efe9cad8942f | 75 | and "remove-brackets". These have been changed to the corresponding "break-closing-braces", |
| Mahir Ozturk |
1:efe9cad8942f | 76 | "add-braces", "add-one-line-braces", and "remove-braces". Also, the option "max-instatement-indent" |
| Mahir Ozturk |
1:efe9cad8942f | 77 | has been changed to "max-continuation-indent". 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, "indent-after-parens", will indent continuation lines following lines that contain an |
| Mahir Ozturk |
1:efe9cad8942f | 86 | opening paren '(' or an assignment '='. 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, "attach-closing-while", will attach the closing "while" of a |
| Mahir Ozturk |
1:efe9cad8942f | 90 | "do-while" 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 "break-closing-braces" has been included in "style=stroustrup". 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 "attach-closing-while" 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&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'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 "rename" 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 "30" refers |
| Mahir Ozturk |
1:efe9cad8942f | 138 | to the Artistic Style release number "3.0". 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 "Install Information" |
| 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 ".dump" 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 (December 2016)</h3> |
| Mahir Ozturk |
1:efe9cad8942f | 199 | |
| Mahir Ozturk |
1:efe9cad8942f | 200 | <p> |
| Mahir Ozturk |
1:efe9cad8942f | 201 | A new bracket style option, "style=mozilla", 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, "break-one-line-headers" 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 "Formatting Options" 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, "pad-comma", will add a space following a comma. The option "pad-oper" |
| 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, "indent-continuation", 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 "Indentation Options" 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 "disable formatting" 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 "unpad-return-type" 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 "unpad-param-type" 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 "align-method-colon" 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 "align-method-colon" 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 "Internationalization" in the "General Information" 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 "Any CPU" |
| 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). 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 ".exe" |
| 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 "auto detect" option in Tools > Options... > Text Editor > General, an |
| Mahir Ozturk |
1:efe9cad8942f | 289 | additional compiler option is required. The option "/source‑charset:utf‑8" must be added |
| Mahir Ozturk |
1:efe9cad8942f | 290 | to the project properties at C++ > Command Line > Additional Options. Since the non‑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 "/validate‑charset" 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 > "Advanced Save Options". Change the encoding |
| Mahir Ozturk |
1:efe9cad8942f | 299 | to "Unicode (UTF-8 with signature) - Codepage 65001". </p> |
| Mahir Ozturk |
1:efe9cad8942f | 300 | <p> |
| Mahir Ozturk |
1:efe9cad8942f | 301 | In the above "Visual C++ Team Blog" 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 "Align Assignments" that will align assignment operators |
| Mahir Ozturk |
1:efe9cad8942f | 308 | across multiple lines. There is also an extension named "Code alignment" 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 "file" 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>"Windows XP Support for C++" 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 > Platform Toolset, to "Windows XP" 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++ > Preprocessor > 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 "Universal CRT" 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 (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, "style=vtk", 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 "Visualization Toolkit" 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 "Disable Formatting" 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 '__attribute__ ((visibility ("default")))' has been added to exported functions |
| Mahir Ozturk |
1:efe9cad8942f | 398 | on Linux shared libraries. This allows the option "-fvisibility=hidden" to be used on dynamic library |
| Mahir Ozturk |
1:efe9cad8942f | 399 | compiles. According to the GNU documentation, "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."</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=<actual_install_path>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. 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 | 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 "char*" to "const char*". 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&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 "Install Instructions" 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 "Extensions and Updates", |
| Mahir Ozturk |
1:efe9cad8942f | 464 | "Online" entry for "astyle".</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 (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‑C, has been added to Artistic Style. Four new options, "align‑method‑colon", |
| Mahir Ozturk |
1:efe9cad8942f | 475 | "pad‑method‑colon=", "pad‑method‑prefix", and "unpad‑method‑prefix" have been |
| Mahir Ozturk |
1:efe9cad8942f | 476 | added to format the methods. The options are described in a new "Objective‑C" section in the documentation. |
| Mahir Ozturk |
1:efe9cad8942f | 477 | These new options affect only Objective‑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‑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. A complete description of the Google style is available at the google‑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‑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‑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 (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‑after‑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 "align-pointer" and "align-reference" |
| 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, "close-templates" |
| 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 '^' character) has been added to the "align-pointer" |
| Mahir Ozturk |
1:efe9cad8942f | 585 | option.</p> |
| Mahir Ozturk |
1:efe9cad8942f | 586 | <p> |
| Mahir Ozturk |
1:efe9cad8942f | 587 | The breaking of switch "default" statements has been fixed. The "default" 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‑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 | </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 | </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 | </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 |