Uncrustify
A source code beautifier/formatter plugin that allows the user to use Uncrustify to format the C-like languages in Sublime Text.
Details
Installs
- Total 3K
- Win 1K
- Mac 687
- Linux 804
Jan 21 | Jan 20 | Jan 19 | Jan 18 | Jan 17 | Jan 16 | Jan 15 | Jan 14 | Jan 13 | Jan 12 | Jan 11 | Jan 10 | Jan 9 | Jan 8 | Jan 7 | Jan 6 | Jan 5 | Jan 4 | Jan 3 | Jan 2 | Jan 1 | Dec 31 | Dec 30 | Dec 29 | Dec 28 | Dec 27 | Dec 26 | Dec 25 | Dec 24 | Dec 23 | Dec 22 | Dec 21 | Dec 20 | Dec 19 | Dec 18 | Dec 17 | Dec 16 | Dec 15 | Dec 14 | Dec 13 | Dec 12 | Dec 11 | Dec 10 | Dec 9 | Dec 8 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
Mac | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Readme
- Source
- raw.githubusercontent.com
Sublime-Uncrustify
This is a source code beautifier/formatter plugin that allows the user to use Uncrustify(1) to format the C-like languages in Sublime Text.
Sublime-Uncrustify can setup to read different configures (as different code styles) according to the languages and filenames or projects.
NOTE: (1) Uncrustify is a source code beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA.
Screenshot
Install
An Uncrustify MUST be installed before Sublime-Uncrustify can work.
- An Win32 binary is available in Sourceforge.
- OSX can install via 'brew install uncrustify' by Homebrew or 'port install uncrustify' by MacPorts.
- Other Linux-like OS please see http://uncrustify.sourceforge.net/ or build the program yourself.
Remember the path of your Uncrustify executable (for step 4.2).
Configuring the Uncrustify:
Examine the example config files in Uncrustify/etc (from uncrustify source) or Uncrustify/cfg (from Win32 pre-built).
or you can find in:
http://sourceforge.net/p/uncrustify/code/ci/master/tree/etc/
Copy the existing config file that closely matches your style and modify(2) as your version.
Remember the path of your config file for uncrustify (for step 4.3).
NOTE: (2) See 'Other Uncrustify Utilities' below…
Install the Sublime-Uncrustify:
The preferred method is to use the Sublime package manager Package Control:
[sublime text menu]->[Preferences]->[Package Control]->[Install Package]->Search “Uncrustify” and install.
Alternatively, the files can be obtained on GitHub:
https://github.com/obxyann/Sublime-Uncrustify
Just create a new folder named Uncrustify under your Sublime Text Packages folder and copy the files into.
Configure the Sublime-Uncrustify:
[sublime text menu]->[Preferences]->[Package Settings]->[Uncrustify]
- Copy the default settings as user settings.
- Specify the path to uncrustify executable…(where step 1 installed)
- Specify the config file for uncrustify…(where step 2 copied and modified)
- Add your rules to use different config files (code styles) according to the languages and filenames.
Usage
NOTE: Although it can UNDO after a format action, please backup/SAVE your important/unsaved file before using!
Format whole document:
Current document
[sublime text menu]->[Tools]->[Uncrustify]->[Format Document]
Format a selection:
Make a selection then
[sublime text menu]->[Tools]->[Uncrustify]->[Format Selection]
Undo formatted:
Just Undo before exit.
You can edit the Uncrustify config file specified in settings:
[sublime text menu]->[Preferences]->[Package Settings]->[Uncrustify]
->[Open Uncrustify Config - Default]
for all languages/file types supported and no custom filter or language matched
->[Open Uncrustify Config - Matches Current Document]
according to current document matches one of filters or languages…
Notices
Some languages/file types don't supported by Uncrustify will pop a warning.
Currently only supports C, C++, D, C#, Java, Pawn, Objective C, Objective C++, Vala, SQL and ECMA.
This is my first Python program. Before I have no knowledge about Python. So I must warn again…
It is not guaranteed to work perfectly, please backup/SAVE your important/unsaved file before using!
Only tested in Windows 7 + Sublime Text 2/3. Please help to improve this plugin if it don't work in your OS!
License
Uncrustify is GPL V2 belongs to its authors. (Uncrustify binary not include in Sublime-Uncrustify)
Sublime-Uncrustify is released under the MIT license.
Other Uncrustify Utilities
You can change your Uncrusify config file easily by:
(WIN32) UniversalIndentGUI: http://universalindent.sourceforge.net/
(OSX) UncrustifyX: https://github.com/ryanmaxwell/UncrustifyX/
But I think the default config file default.cfg from Uncrusify is well documented to modify directly!