| <!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> |
| <br /> |
| |
| <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>Ident 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 - 489 configurable options as of version 0.61</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/bengardner/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/bengardner/uncrustify.git</code><br> |
| |
| <h3>Prebuilt binaries</h3> |
| Windows (i386) : |
| <a href="http://sourceforge.net/project/showfiles.php?group_id=153164">Sourceforge</A><BR> |
| |
| SPARC/Solaris 2.5-10 and x86/Solaris 8-10 : |
| <a href="http://sunfreeware.com/">sunfreeware.com</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> |
| There is one mailing list for Uncrustify.<BR/> |
| <a href="http://sourceforge.net/mailarchive/forum.php?forum_name=uncrustify-developer">uncrustify-developer@lists.sourceforge.net</a><br/> |
| Despite the name, it is for both users and developers. |
| |
| |
| <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"><img src="http://sourceforge.net/images/project-support.jpg" width="88" height="32" border="0" alt="Support This Project"></a> |
| <script type='text/javascript' language='JavaScript' src='http://www.ohloh.net/projects/4765/badge_js'></script> |
| <br /> |
| |
| </body> |
| </html> |