Artistic Style

A Free, Fast, and Small Automatic Formatter
for C, C++, C++/CLI, Objective-C, C#, JS, GSC, and Java Source Code

Project Page: http://astyle.sourceforge.net/
SourceForge: http://sourceforge.net/projects/astyle/
Source code: https://gitlab.com/saalen/astyle

Artistic Style is a source code indenter, formatter, and beautifier for the C, C++, C++/CLI, Objective-C, C# and Java programming languages. Written in C++, it can be used from the command line or incorporated as a library in another program. Options can be entered from the command line or from an option file. The library version can be called from programs written in languages other that C++.

Documentation

There is complete documentation for using Artistic Style. The documentation needed to install and run Artistic Style is included in the distribution package.

News and Release Notes

These contain information on the changes in the current release. The News contains information on major changes and how they might affect the use of Artistic Style. The Release Notes contain a list of all changes made to the program. Information on old releases is also listed.

Download

The latest release can be downloaded from the SourceForge file releases page. A link to the "latest version" near the top of the page will download the correct package for your platform. Or you can select the appropriate package from the "astyle" release folders. The Windows package contains a compiled binary. Other platforms will need to compile the source code. Makefiles are included for the most popular compilers. Follow the install instructions for the appropriate platform as described in the "Install" documentation.

Install

This contains information on compiling and installing Artistic Style. The Windows platform comes with a precompiled executable. Other platforms must compile the project. Follow the instructions for the appropriate platform (Linux, Mac, or Windows).

Source Repositories

The latest development files can be checked out from the Artistic Style repository using Subversion or Git.

License

Artistic Style may be used and distributed under the MIT license. The MIT is a permissive license with a minimum of restrictions on software use. It is compatible with the GNU General Public License (GPL) and most other licenses.

The main points of the terms of the license are:

In addition to the license, the documentation accompanying Artistic Style may be distributed or republished without the author's consent.

Scripts

This page contains scripts to support the Artistic Style program. They are in various script languages and work on different platforms. It includes scripts to clean the directories of backup files created by Artistic Style.

Links

There are several applications that use Artistic Style as contributed software. It is either embedded in the application or called as a command line program. The applications include Graphical User Interfaces to view the effect of formatting of the source code, development environments for various platforms, and other software. There are also links to style information and various style guides.

Developer Information

Artistic Style has compile options for creating a shared library (DLL) or static library for use with a Graphical User Interface (GUI). With the Java Development Kit (JDK) installed it can be compiled as a Java Native Interface (JNI) and called from a Java program. The Developer Information documents the calling procedure and has example programs for C++, C++/CLI, Objective-C, Java, C#, and Python.

Bug Reports, Change Requests, Update Notifications

Bug reports and change requests should be submitted to the Sourceforge or Gitlab bug trackers. Include an example that shows the problem, reduced to the minimum that still has the problem. It does not need to be functional code.

Sourceforge notes:
The bug report will not be indented after the data is submitted. You may indicate the indentation when you submit the request (e.g. replace leading spaces with periods). Or, you can use the "Formatting Help" button to the left of the ticket form. To submit preformatted text, make a code block using 3 or more tildes (~~~) or back-ticks (```) on a line before and after the text.

You can subscribe to file change notifications using an RSS feed. There is an RSS symbol on the Artistic Style files page. You can also subscribe after downloading a file. To the right of the "Me" option in the SourceForge header, there will be a button containing a number (it may be 0). Click on this to get your "Download History". Beside the download will be an option to subscribe. You should receive an email of the file changes.

Maintainers

Artistic Style is maintained and updated by Andre Simon. Previous maintainer: Jim Pattee. The original author was Tal Davidson, Israel.

Acknowledgments

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, Emilio Guijarro, Jens Krinke, Eran Ifrah, Travis Robinson, Max Horn, Ettl Martin, Mario Gleichmann, J P Nurmi, Colin D Bennett, Christian Stimming, MrTact, Wim Rosseel, Matthew Woehlke, Chris Schwarz, Chang Jiang, Arseny Solokha, Milian Wolff, Johannes Martin, Arne F?rlie, Marvin Humphrey, J, Christopher Sean Morrison, Keith OHara, louis6g, Evmenov Georgiy, beta100100, Ruzzz, Peter A. Bigot, HyungKi Jeong, David Faure, Carl Moore, Mofi, Travis Vitek, Bunel Nicolas, Juan Alday, Rian Quinn, David Haney, Tamás Kurucsai for their patches and contributions to Artistic Style.

Thanks to all the dedicated beta-testers and bug notifiers!