Artistic Style 1.21
A Free, Fast and Small Automatic Formatter
for C, C++, C#, and Java Source Code
Home Page: http://astyle.sourceforge.net/ Project Page: http://sourceforge.net/projects/astyle/
Artistic Style is a source code indenter, formatter, and beautifier for the C, C++, C# and Java programming languages.
When indenting source code, we as programmers have a tendency to use both spaces and tab characters to create the wanted indentation. Moreover, some editors by default insert spaces instead of tabs when pressing the tab key, and other editors (Emacs for example) have the ability to "pretty up" lines by automatically setting up the white space before the code on the line, possibly inserting spaces in a code that up to now used only tabs for indentation.
Since the NUMBER of space characters showed on screen for each tab character in the source code changes between editors (unless the user sets up the number to his liking...), one of the standard problems programmers are facing when moving from one editor to another is that code containing both spaces and tabs that was up to now perfectly indented, suddenly becomes a mess to look at when changing to another editor. Even if you as a programmer take care to ONLY use spaces or tabs, looking at other people's source code can still be problematic.
To address this problem, Artistic Style was created - a filter written in C++ that automatically re-indents and re-formats C / C++ / C# / Java source files. It can be used from a command line, or it can be incorporated as classes in another C++ program.
License
Artistic Style may be used and distributed under the GNU Lesser General Public License (LGPL). You can use it for free or commercial software without charge. Projects that use Artistic Style do not have to make the their source code available. If Artistic Style itself is modified, however, the modified Artistic Style source code must be made available.
Documentation
There is complete documentation for using Artistic Style. Most documentation is included in the distribution package.
News and Release Notes
Changes in this release include improved array formatting, brackets that attach and detach from comments, keywords assigned by file type, new preserve-dates (-Z) option, change in Linux bracket formatting for header files, support for the OpenVMS compiler, and many important bug fixes.
Download
Download the latest release from the file releases page. The latest release is indicated by the line with a green background. Get the file for the appropriate platform (Linux, Mac, OpenVMS, or Windows). Extract the compressed package and copy it to a work folder. Then follow the install instructions for the appropriate platform as described in the install information.
Install Information
Information on compiling and installing Artistic Style. The Windows and OpenVMS platforms come with a precompiled executable. Other platforms must compile the project. Follow the instructions for the appropriate platform (Linux, Mac, OpenVMS, or Windows).
Developer Information
Artistic Style has compile options for creating a shared library (DLL) or static library for use with a Graphical User Interface (GUI). See the Developer Information for the calling procedure and other details. The following "Links" section has a sample program that uses the interface.
Supplemental Documentation
There are some formatting problems with
(or
--break-blocks ).
--break-blocks=all Bug Reports, Change Requests, Notification
Bug reports and change requests should submitted to the bug tracker page. It is best to log in to SourceForge before submitting a report so you can be contacted if necessary. Note that code copied and pasted into the bug report will not be indented after the data is submitted. You must indicate the indentation when you submit the request (e.g. replace leading spaces with periods).
Notification of new releases is activated from the file releases page. In Latest File Releases, under Notes / Monitor, click on the envelope. You will receive notification when a new release is available.
To contact the project by email use the address jimp03@email.com.
Links
Artistic Style for Windows is a sample GUI program for Windows. It uses an unmodified Artistic Style program compiled for a GUI. The source code needs some work so the source is not available for now. It should work under Linux using WINE. Future enhancements and platform support will depend on the response to the sample program.
UniversalIndentGui is a cross platform GUI for several code formatters. The main feature is a live preview to show how the selected formatting options affect the source code. This allows review and testing of the various options before formatting a file. It can be used with a sample file or with your actual source code. It is a good way to try out the options from various indentation programs.
For Mac users there is a script for "Reindenting C In TextWrangler and BBEdit Using Astyle". Selected text from the editor can be passed to Artistic Style and replaced with the reformatted text. Simply highlight the text you would like to reindent, choose the script from the shebang (
#!
) menu, and the text will immaculately formatted.Developers
Artistic Style is maintained and updated by Jim Pattee. The original author was Tal Davidson, Israel.
Acknowledgements
Thanks to Jim Watson, Fred Shwartz, W. Nathaniel Mills III, Danny Deschenes, Andre Houde, Richard Bullington, Paul-Michael Agapow, Daryn Adler, Dieter Bayer, Sam Cooler, Jim Duff for their patches and contributions to Artistic Style.
Thanks to SourceForge for giving Artistic Style its home.
Thanks to all the dedicated beta-testers and bug notifiers!