├── CONTRIBUTING.md └── Readme.md /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribution Guidelines 2 | 3 | If you want to contribute to this list (please do), send me a pull request or contact me [@rishirdua](https://www.twitter.com/rishirdua) 4 | 5 | Unfortunately, not every tool/library can be considered. The aim of the list is to provide a concise list of noteworthy modern software. This means that suggested software is either 6 | 7 | (a) widely recommended and used regardless of your personal opinion 8 | 9 | (b) highly discussed in the community due to its innovative nature 10 | 11 | (b) absolutely unique in its approach and function 12 | 13 | Self-promotion is frowned upon and will be reviewed critically but the suggestion will of course be approved if the criteria match. 14 | 15 | Furthermore, please ensure your pull request follows the following guidlines: 16 | 17 | * Please search previous suggestions before making a new one, as yours may be a duplicate. 18 | * Please make an individual pull request for each suggestion. 19 | * Use the following format for libraries: \[LIBRARY\]\(LINK\) - DESCRIPTION. 20 | * Entries should be sorted in ascending alphabetical order, i.e. a to z. 21 | * New categories, or improvements to the existing categorisation are welcome. 22 | * Keep descriptions short, simple and unbiased. 23 | * End all descriptions with a full stop/period. 24 | * Check your spelling and grammar. 25 | * Make sure your text editor is set to remove trailing whitespace. 26 | 27 | Thank you for your suggestions! 28 | 29 | Rishi -------------------------------------------------------------------------------- /Readme.md: -------------------------------------------------------------------------------- 1 | A curated list of code formatters. Inspired by awesome-machine-learning. 2 | Other awesome lists can be found in the [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) list. 3 | 4 | If you want to contribute to this list (please do), send me a pull request or contact me [@rishirdua](https://www.twitter.com/rishirdua) 5 | 6 | 7 | ## Table of Contents 8 | 9 | 10 | - [General Purpose](#general-purpose) 11 | - [Language Specific](#language-specific) 12 | - [C/C++](#cc) 13 | - [Cobol](#cobol) 14 | - [CSS](#css) 15 | - [Fortran](#fortran) 16 | - [Haskell](#haskell) 17 | - [HTML](#html) 18 | - [Java](#java) 19 | - [JavaScript](#javascript) 20 | - [JSP](#jsp) 21 | - [.NET](#net) 22 | - [Perl](#perl) 23 | - [PHP](#php) 24 | - [PL/SQL](#plsql) 25 | - [Python](#python) 26 | - [Ruby](#ruby) 27 | - [Shell](#shell) 28 | - [VBS](#vbs) 29 | - [XML](#xml) 30 | 31 | 32 | 33 | ## General Purpose 34 | 35 | * [Artistic Styler](http://astyle.sourceforge.net/) - Source code indenter, formatter, and beautifier for the C, C++, C# and Java programming languages. 36 | * [Atom-Beautify](https://atom.io/packages/atom-beautify) - Beautify HTML, CSS, JavaScript, PHP, Python, Ruby, Java, C, C++, C#, Objective-C, CoffeeScript, TypeScript, Coldfusion, SQL, and more in Atom editor. 37 | * [Prettier](https://prettier.io/) - An opinionated code formatter for JavaScript, Flow, TypeScript, Vue, JSON, CSS, Less, SCSS, GraphQL, and Markdown 38 | * [Uncrustify](http://uncrustify.sourceforge.net/) - Beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA. 39 | * [Unibeautify](https://unibeautify.com/) - Universal code beautifier with a GitHub app. Supports HTML, CSS, JavaScript, TypeScript, JSX, Vue, C++, Go, Objective-C, Java, Python, PHP, GraphQL, Markdown, and more. 40 | * [clang-format](http://clang.llvm.org/docs/ClangFormat.html) - Automatic formatting for C, C++, Java, JavaScript, ObjectiveC and Protobuf. 41 | 42 | ## Language Specific 43 | 44 | #### C/C++ 45 | 46 | * [BCPP](http://invisible-island.net/bcpp/) - indents C/C++ source programs, replacing tabs with spaces or the reverse. 47 | * [GNU Indent](http://www.gnu.org/software/indent/) - Unix utility that reformats C and C++ code in a user-defined indent style and coding style. GNU style is used by default. 48 | * [GreatCode](http://sourceforge.net/projects/gcgreatcode/) - C/C++ source code beautifier that is now fully open source. 49 | 50 | #### Cobol 51 | 52 | * [Cobol Beautifier](http://www.siber.com/sct/tools/cbl-beau.html) - Parses your program just like a real Cobol compiler and then it generates Cobol code from the resulting Cobol Program Tree. 53 | 54 | #### CSS 55 | 56 | * [CSSTidy](http://csstidy.sourceforge.net/) - Opensource CSS parser and optimiser available as executeable file which can be controlled by command line and as PHP script. 57 | 58 | #### Fortran 59 | 60 | * [Fortran 90 PPR](ftp://ftp.ifremer.fr/ifremer/fortran90/) - Fortran 90 preprocessor and formatter written in Fortran 90. 61 | 62 | #### Haskell 63 | 64 | * [hindent](https://github.com/chrisdone/hindent) - Extensible Haskell pretty printer available both as a library and an executable. 65 | 66 | #### HTML 67 | 68 | * [HTB](http://www.digital-mines.com/htb/) - Command-line utility to reformat HTML/XML/XSLT source code with an array of user specified options. 69 | * [Tidy](http://tidy.sourceforge.net/) - Free-standing C library 70 | 71 | #### Java 72 | 73 | * [Google Java Format](https://github.com/google/google-java-format) - google-java-format is a program that reformats Java source code to comply with Google Java Style. 74 | * [JALOPY](http://notzippy.github.io/JALOPY2-MAIN/) - Source code formatting tool for the Sun Java Programming Language. 75 | * [Jindent](http://www.jindent.com/) - Commercial source code formatter for the programming languages Java, C and C++ 76 | 77 | #### JavaScript 78 | 79 | * [beautifier.io](https://beautifier.io/) - Online JavaScript Beautifier 80 | 81 | #### JSP 82 | 83 | * [JSPPP](http://jsppp.sourceforge.net/) - Indentor for JSP files in various styles. 84 | 85 | #### .NET 86 | 87 | * [NArrange](http://www.narrange.net/) - Code beautifier that automatically organizes code members and elements within .NET classes. 88 | 89 | #### Perl 90 | 91 | * [PerlTidy](http://perltidy.sourceforge.net/) - Perl script which indents and reformats Perl scripts. 92 | 93 | #### PHP 94 | 95 | * [PHP_Beautifier](http://pear.php.net/package/PHP_Beautifier) - Beautifier for PHP 96 | * [phpCB](http://www.waterproof.fr/products/phpCodeBeautifier/) - Tool available as a GUI, command line and an integrated tool of PHPEdit. 97 | * [phpStylist](http://sourceforge.net/projects/phpstylist/) - Formatter with customizable options. 98 | 99 | #### PL/SQL 100 | 101 | * [Pl/Sql tidy](http://psti.equinoxbase.com/) - Program to tidy, beautify or format Pl/Sql code in a batch file or Dos prompt. 102 | * [Poor Man's T-SQL Formatter](http://architectshack.com/PoorMansTSqlFormatter.ashx) - .Net 2.0 library with demo UI, command-line bulk formatter, SSMS/Visual Studio add-in, notepad++ plugin, winmerge plugin, and web service for reformatting and coloring T-SQL code to the user's preferences. 103 | 104 | #### Python 105 | 106 | * [black](https://github.com/ambv/black) - The uncompromising Python code formatter 107 | * [pindent](http://svn.python.org/projects/python/trunk/Tools/scripts/pindent.py) - Adds comments when blocks are closed, or can properly indent code if comments are put in. 108 | * [yapf](https://github.com/google/yapf) - A formatter for Python files. 109 | 110 | #### Ruby 111 | 112 | * [Ruby Script Beautifier](http://www.arachnoid.com/ruby/rubyBeautifier.html) - Beautifier written in Ruby. 113 | 114 | #### Shell 115 | 116 | * [ShellIndent](http://www.bolthole.com/AWK.html) - Indent formatting program for .sh scripts. 117 | 118 | #### VBS 119 | 120 | * [VBSBeautifier](http://www.daansystems.com/vbsbeaut/) - Beautifier for ASP and clientside VBScript files. 121 | 122 | #### XML 123 | 124 | * [XML Indent](http://xmlindent.sourceforge.net/) - XML stream reformatter written in ANSI C. 125 | --------------------------------------------------------------------------------