Artistic Style

A Free, Fast and Small Automatic Formatter for C, C++, C#, and Java Source Code
Download

Artistic Style Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Freeware
  • Price:
  • FREE
  • Publisher Name:
  • Jim Pattee
  • Publisher web site:
  • Operating Systems:
  • Mac OS X
  • File Size:
  • 99 KB

Artistic Style Tags


Artistic Style Description

A Free, Fast and Small Automatic Formatter for C, C++, C#, and Java Source Code Artistic Style is a free and open source, code formatter, indenter and beautifier for the C, C++, C# and Java programming languages.When indenting source code, programmers have a tendency to use both spaces and tab characters to create the wanted indentation. Moreover, some editors by default insert spaces instead of tabs when pressing the tab key, and other editors (Emacs for example) have the ability to "pretty up" lines by automatically setting up the white space before the code on the line, possibly inserting spaces in a code that up to now used only tabs for indentation.Since the NUMBER of space characters showed on screen for each tab character in the source code changes between editors (unless the user sets up the number to his liking...), one of the standard problems programmers are facing when moving from one editor to another is that code containing both spaces and tabs that was up to now perfectly indented, suddenly becomes a mess to look at when changing to another editor. Even if you as a programmer take care to ONLY use spaces or tabs, looking at other people's source code can still be problematic.To address this problem, Artistic Style was created - a filter written in C++ that automatically re-indents and re-formats C / C++ / C# / Java source files. It can be used from a command line, or it can be incorporated as classes in another C++ program.NOTE: Artistic Style is licensed and distributed under the terms of the GNU Library or Lesser General Public License (LGPL). What's New in This Release: · Add --brackets=stroustrup (-u) to bracket types. · Add --style=stroustrup to predefined styles. · Add --style=whitesmith to predefined styles. · Add --style=banner to predefined styles. · Add --style=k&r and --style=k/r to predefined styles. · Add --style=allman and --style=bsd to predefined styles. · Change --style=kr to --style=java. · Add short options -A1 thru -A8 for predefined styles. · Change the following long options to eliminate duplicate keys (the short options have not changed). · --force-indent=tab=# changed to --indent=force-tab=# · --brackets=break-closing changed to --break-closing-brackets · --pad=oper changed to --pad-oper · --pad=paren changed to --pad-paren · --pad=paren-out changed to --pad-paren-out · --pad=paren-out changed to --pad-paren-in · --unpad=paren changed to --unpad-paren · --one-line=keep-statement changed to --keep-one-line-statements · --one-line=keep-blocks changed to --keep-one-line-blocks · Add new option --indent=force-tab (assumes tab setting is 4). · Add new option --delete?empty?lines to delete the empty lines within a function. · Add new option --formatted (-Q) to display only the files that are formatted. · Change --convert-tabs to replace tabs with spaces and maintain the correct spacing. · Change --indent-blocks to indent only blocks within a function. · Change --indent-blocks to NOT indent the opening bracket for namespaces, classes, and interfaces. · Change --indent-blocks and --indent-brackets to NOT indent namespaces unless --indent-namespaces is used. · Change --indent-blocks and --indent-brackets to always break closing headers so the 'else' aligns with the corresponding 'if'. · Change --indent-blocks and --indent-brackets to be mutually exclusive (--indent?blocks will be used). · Fix --indent-blocks indenting a java 'interface' statement. · Fix --indent-blocks to indenting opening brackets in a java method containing a 'throws' clause. · Fix --indent-blocks indenting opening brackets in a java static constructor. · Fix --indent-blocks formatting in a C++ const function. · Fix --indent?brackets indenting brackets within comments. · Move set-up of predefined styles to ASFormatter so the style options will override all other options. · Fix --else-if statements to join by default. · Fix to always space pad after semi?colons. · Fix --pad-oper to space pad all commas. · Fix --break?blocks and --break?blocks=all options. · Fix to recognize a semi?colon as end of block when brackets are not used. · Fix to break comments preceding a block so that comments are kept with the block. · Fix 'for' statement semi?colons being mistaken for the end of a statement. · Fix bracketFormatMode of NONE_MODE to break closing headers. · Fix incorrect breaking of a block that follows a comment. · Fix breaking of opening and closing headers preceded by a comment. · Fix breaking of statements when comments follow a header block. · Fix incorrectly breaking blocks for namespaces, interfaces, and classes. · Fix incorrectly breaking blocks for access modifiers when keep-one-line-statements is used. · Fix to NOT break single line blocks. · Fix breaking a closing 'while' statement in a do-while block. · Fix preprocessor directives not resetting all variables. · Fix peekNextText function not correctly identifying an end of file condition. · Add C# lambda expression arrow '=>' to list of operators so pad?oper will not separate. · Add C# '??' to list of operators so pad?oper will not separate. · Fix C# to identify 'add' and 'remove' methods as command type brackets. · Fix C# indentation of closing headers 'set' and 'remove'. · Fix C# to identify methods containing a 'where' keyword as block headers. · Fix C# files to recognize preprocessor statements. · Fix C# indentation following a #region statement containing a keyword. · Fix C# to recognize nullable types so --pad?paren will not separate (e.g. 'int?'). · Fix C# to recognize non-generic default values (e.g. 'default(int)'). · Fix C# indentation when a class declaration contains multiple class statements. · Fix C# linux bracket placement for an interface statement. · Fix C# --break-elseifs also breaking 'catch' statements. · Fix C# --break-blocks breaking of 'set' and 'remove' statements. · Fix Java static constructor not being identified as a command type bracket. · Fix Java 'new' array not having an in statement indent. · Refactor NONE_MODE in ASFormatter to use common procedures with other bracket types. · Refactor astyle_main to improve maintainability. · New class ASConsole to encapsulate console variables. · New header file astyle_main.h · Move console only functions to ASConsole class. · New functions processOptions and processFilePath to improve decomposition. · Apply patches from Eran Ifrah to remove memory leaks. · Apply patches from Max Horn for the unary plus operator. · Fix initialization of vector stack objects to remove memory leaks. · Add comma (,) to valid options separators in the options file. · Change to display all (instead of one) --exclude errors before abort. · Change astyle namespace to include all of astyle_main except the functions called externally. · Change licensing comments from LGPL version 2.1 to LGPL version 3. · Change JNI function call from GetVersion to AStyleGetVersion. · Remove 'extern' keyword from headers, nonParenHeaders, PreBlockStatements, and PreCommandHeaders. · Fix not always space padding a closing bracket. · Fix not space padding a closing header when breaking one line statements. · Fix --keep-one-line-blocks breaking closing headers on broken brackets. · Fix incorrectly attaching a bracket inside a comment after the end of a statement. · Add number of output lines processed to the --verbose option display. · Remove trace file from ASEnhancer and use 'cout' instead. · Replace INIT_CONTAINER and DELETE_CONTAINER macros with template functions. · Replace IS_A macro with isBracketType function. · Add GCC extended operators '


Artistic Style Related Software