You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

184 lines
6.3 KiB

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Uncrustify - Source Code Beautifier for C-like languages</title>
<link rel="stylesheet" type="text/css" href="uncrustify1.css" />
<!-- <link rel="shortcut icon" href="images/favicon.ico" /> -->
</head>
<body lang="en-us" dir="ltr">
<div align="center">
<table>
<tr>
<td align="center">
<div class="node1" align="center">
<div class="node2" align="left">
<h1>Uncrustify</h1>
<h2>Source Code Beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA</h2>
<table>
<tr>
<td valign="top">
<script type='text/javascript' language='JavaScript' src='http://www.ohloh.net/projects/4765/badge_js'></script>
</td>
<td valign="top">
<a href="https://travis-ci.org/uncrustify/uncrustify/builds">
<img alt="Travis CI Build Status"
src="https://travis-ci.org/uncrustify/uncrustify.svg?branch=master"/>
</a>
</td>
<td valign="top">
<a href="https://scan.coverity.com/projects/uncrustify">
<img alt="Coverity Scan Build Status"
src="https://scan.coverity.com/projects/8264/badge.svg"/>
</a>
</td>
</tr>
</table>
<h2>Introduction</h2>
<p>The goals of this project are simple:
Create a highly configurable, easily modifiable source code beautifier.</p>
<br />
<h2>Features</h2>
<ul>
<li>Indent code, aligning on parens, assignments, etc</li>
<li>Align on '=' and variable definitions</li>
<li>Align structure initializers</li>
<li>Align #define stuff</li>
<li>Align backslash-newline stuff</li>
<li>Reformat comments (a little bit)</li>
<li>Fix inter-character spacing</li>
<li>Add or remove parens on return statements</li>
<li>Add or remove braces on single-statement if/do/while/for statements</li>
<li>Supports embedded SQL 'EXEC SQL' stuff</li>
<li>Highly configurable - 850 configurable options as of version 0.78.1</li>
</ul>
<p>
See some example <a href="examples/example.c">output</a>.
</p>
<br />
<h2>Where to get Uncrustify</h2>
<h3>Project Websites</h3>
<a href="http://sourceforge.net/projects/uncrustify/">Sourceforge project web site</a><BR>
<a href="http://sourceforge.net/projects/uncrustify/files/">Release downloads</a><br>
<a href="http://freshmeat.net/projects/uncrustify/">Freshmeat Project</a><BR>
<a href="http://github.com/uncrustify/uncrustify">Git Hub</a><br>
<h3>Source Code</h3>
As of release 0.54, the source code is maintained in a <a href="http://git-scm.com/">Git</a> repository.<br>
<br>
The public Git URL for Sourceforge.net is <br>
<code>git://uncrustify.git.sourceforge.net/gitroot/uncrustify/uncrustify</code><br>
<br>
The public Git URL for github.com is <br>
<code>git://github.com/uncrustify/uncrustify.git</code><br>
<h3>Prebuilt binaries</h3>
Windows (i386) :
<a href="http://sourceforge.net/project/showfiles.php?group_id=153164">Sourceforge</A><BR>
<h3>Universal Indent GUI</h3>
<a href="http://universalindent.sourceforge.net/">Universal Indent GUI</a> is a
cross-platform graphical configuration file editor for many code beautifiers, including Uncrustify.
<br />
<h2>Want to help?</h2>
<p>
The most helpful way is to try it out and give feedback.
Documentation and examples are available in the source tree, so check it out.
</p>
<p>
You can find the output from 'uncrustify --show-config' <a href="config.txt">here</a>.<br />
Here is the <a href="default.cfg">default config file</a>.
And one I set up for <a href="linux.cfg.txt">Linux</a>.<br />
And here is a <a href="examples/c-1.in.c">before</a> and <a href="examples/c-1.out.c">after</a> C source example.<br />
That should give you a pretty good idea of what Uncrustify can do.<br />
</p>
<p>
If you find a bug, please do the following:
</p>
<ul>
<li>Reduce the input source file to the minimum that still has the problem</li>
<li>Use the sourceforget.net bug tracker</li>
<li>Attach the input source file, the configuration file, and a file that contains the expected output</li>
</ul>
<p>
If you want to add a feature, fix a bug, or implement missing functionality, feel free to do so! Patches are welcome!<BR/>
Here are some areas that need attention:
</p>
<ul>
<li>Test Java support and provide feedback (or patches!)</li>
<li>Test Objective C support and provide feedback (or patches!)</li>
<li>Test Embedded SQL to see what works</li>
<li>This web page need a (re)design</li>
<li>A logo of some sort</li>
<li>Examples that can be put on this website to show off what Uncrustify can do</li>
<li>Anything else that you want to do to make it better?</li>
</ul>
<h3>Project Mailing list</h3>
We don't have a mailing list for Uncrustify.<BR/>
We are using <a href="https://github.com/uncrustify/uncrustify/">github</a>.
<br>
You may use <a href="https://github.com/uncrustify/uncrustify/issues">Issues</a> to publish an error report.
<br>
Or <a href="https://github.com/uncrustify/uncrustify/pulls">PR</a> to make a bugfix proposal.
<br />
<h2>Portability</h2>
<p>
I'm pretty sure that I'm not using anything that is OS-specific.<br />
The software has been tested on the following operating systems:
</p>
<ul>
<li>Linux</li>
<li>QNX</li>
<li>OS X</li>
<li>FreeBSD, NetBSD, OpenBSD</li>
<li>Sun Solaris 9</li>
<li>Windows XP (binary available)</li>
</ul>
<br />
<h2>Links</h2>
<ul>
<li><a href="http://universalindent.sourceforge.net/">Universal Indent GUI</a></li>
<li>Don't know what D is? Check out the <a href="http://dlang.org/index.html">D Programming Language website</a>.</li>
<li><a href="http://www.linuxlinks.com">Linux Links</a></li>
</ul>
<h2>Distributions that package Uncrustify</h2>
<ul>
<li><A href="http://www.debian.org/">Debian</A>
<li><A href="http://fedora.redhat.com/">Fedora</A></li>
<li><A href="http://www.altlinux.com/">ALT Linux</A></li>
<li><A href="http://www.t2-project.org/">T2</A></li>
<li><A href="http://www.macports.org/">MacPorts</a></li>
<li><A href="http://www.freebsd.org/cgi/ports.cgi?query=uncrustify">FreeBSD Ports (textproc/uncrustify)</a></li>
<li><A href="http://openports.se/textproc/uncrustify">OpenBSD Ports (textproc/uncrustify)</a></li>
<li>Others?</li>
</ul>
</div>
</div>
</td>
</tr>
</table>
</div>
<br />
<a href="http://sourceforge.net/donate/index.php?group_id=153164">"Support This Project"</a>
<br />
</body>
</html>