Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
C++ C D Objective-C Shell Python Other
Pull request Compare This branch is 2 commits ahead, 555 commits behind bengardner:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
documentation
etc
man
osx
scripts
src
tests
uncrustify.xcodeproj
win32
.gitignore
AUTHORS
BUGS
COPYING
ChangeLog
HELP
INSTALL
Makefile.am
Makefile.in
NEWS
README
TESTING
aclocal.m4
autogen.sh
commit.log
config.guess
config.sub
configure
configure.in
extras.vpj
install-sh
make_token_names.sh
make_win32.sh
missing
release-steps.txt
run_tests.sh
uncrustify.vpj
uncrustify.vpw
update-default-cfg.sh
working.txt

README

README for Uncrustify
=====================


Building the program
--------------------

Quick start:
 $ ./configure
 $ make

The executable is src/uncrustify.
Copy that to your ~/bin/ folder or wherever you want.


Building the program using Xcode on Mac OS X
---------------------------------------------

You can of course just open the Xcode project and build uncrustify using the 
default 'Debug' configuration but if you want to install it the 'Install' 
configuration will not work from within Xcode. 

For that you will have to use the Xcode command line tool 'xcodebuild'.
 
To do that, cd into the uncrustify project folder where uncrustify.xcodeproj 
resides and enter the following command:

sudo xcodebuild -configuration 'Install' 

You will be prompted for the root level password. By doing this you will install 
uncrustify into /usr/local/bin. The install location can be changed by editing 
the Build Settings for the uncrustify target. The setting you need to change is 
called, surprisingly enough, 'Installation Directory'.


Configuring the program
-----------------------

Examine the example config files in etc and/or read
documentation/htdocs/configuration.txt.
Copy the existing config file that closely matches your style and put in
~/.uncrustify/.  Modify to your liking.


Running the program (and refining your style)
---------------------------------------------

As of the current release, I don't particularly trust this program to not make
mistakes and screw up my whitespace formatting.

Here's how to run it:
$ uncrustify -c ~/.uncrustify/mystyle.cfg -f somefile.c > somefile.c.unc

The -c option selects the configuration file.
The -f option specifies the input file.
The output is sent to stdout.  Error messages are sent to stderr.

Use a quality side-by-side diff tool to determine if the program did what you
wanted.
Repeat until your style is refined.


Running the program (once you've found your style)
--------------------------------------------------

Write a script to automate the above.
Check out etc/dofiles.sh for an example.
That script is used as follows:
1. navigate one level above your project
2. make a list of file to process
  $ find myproj -name "*.[ch]" > files.txt
3. sh etc/dofiles.sh files.txt
4. Use your favorite diff/merge program to merge in the changes
  $ xxdiff out/myproj myproj


Something went wrong with that request. Please try again.