2015-12-10 09:46:07 -07:00
# [atom-beautify](https://github.com/Glavin001/atom-beautify)
2014-03-03 00:51:16 -07:00
2014-12-28 00:41:32 -07:00
[![Build Status ](https://travis-ci.org/Glavin001/atom-beautify.svg?branch=master )](https://travis-ci.org/Glavin001/atom-beautify)
2015-06-08 13:47:39 -06:00
[![Build status ](https://ci.appveyor.com/api/projects/status/himnq7tjxl2fdc8u?svg=true )](https://ci.appveyor.com/project/Glavin001/atom-beautify)
2015-05-04 16:05:50 -06:00
[![Gitter chat ](https://img.shields.io/badge/gitter-Glavin001%2Fatom--beautify-1dce73.svg )](https://gitter.im/Glavin001/atom-beautify)
2015-06-04 11:59:35 -06:00
[![Paypal Donations ](https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif )](https://www.paypal.com/cgi-bin/webscr?cmd=_donations& business=X2RK5DKN6YXPJ& lc=CA& item_name=Atom%2dBeautify& item_number=atom%2dbeautify& currency_code=CAD& bn=PP%2dDonationsBF%3abtn_donate_LG%2egif%3aNonHosted)
2015-07-13 07:52:10 -06:00
[![Throughput Graph ](https://graphs.waffle.io/Glavin001/atom-beautify/throughput.svg )](https://waffle.io/Glavin001/atom-beautify/metrics)
2014-08-08 11:38:28 -06:00
2015-12-10 09:46:07 -07:00
> [Beautify](https://github.com/beautify-web/js-beautify)
2014-06-12 22:25:39 -06:00
HTML (including [Handlebars ](http://handlebarsjs.com/ )),
2015-10-29 20:44:58 -06:00
CSS (including [Sass ](http://sass-lang.com/ ) and [Less ](http://lesscss.org/ )),
2014-07-12 09:02:21 -06:00
JavaScript, and much more in Atom.
2014-03-03 00:51:16 -07:00
2014-06-13 23:21:26 -06:00
Atom Package: https://atom.io/packages/atom-beautify
2014-08-08 11:38:28 -06:00
```bash
apm install atom-beautify
```
Or Settings/Preferences ➔ Packages ➔ Search for `atom-beautify`
2014-06-12 22:25:39 -06:00
## Language Support
2014-06-15 15:37:11 -06:00
- [x] JavaScript and JSON
- [x] HTML, including
2014-09-08 15:50:54 -06:00
- [x] [Handlebars ](http://handlebarsjs.com/ )
2014-10-26 13:17:09 -06:00
- [x] [Mustache ](http://mustache.github.io )
2014-09-08 15:50:54 -06:00
- [x] [Embedded Ruby (ERB) ](https://github.com/Glavin001/atom-beautify/issues/80 )
- Requires [htmlbeautifier ](https://github.com/threedaymonk/htmlbeautifier )
- [x] XML
2015-07-06 16:05:35 -06:00
- [x] SVG
2015-12-10 09:46:07 -07:00
- [x] [Marko ](https://github.com/marko-js/marko )
2014-06-15 15:37:11 -06:00
- [x] CSS, including
2014-06-12 22:25:39 -06:00
- [Sass ](http://sass-lang.com/ )
2015-10-29 20:44:58 -06:00
- [Less ](http://lesscss.org/ )
2014-08-30 12:44:38 -06:00
- [x] [SQL ](https://github.com/Glavin001/atom-beautify/pull/67 )
- Requires [python-sqlparse ](https://github.com/andialbrecht/sqlparse )
2015-05-02 17:25:04 -06:00
- [x] [Markdown ](https://github.com/Glavin001/atom-beautify/issues/292 )
- [x] [Perl ](https://github.com/Glavin001/atom-beautify/issues/33 )
- Requires [perltidy ](http://perltidy.sourceforge.net/ )
2015-12-10 09:46:07 -07:00
- [x] [PHP ](https://github.com/Glavin001/atom-beautify/issues/26 )
2015-03-18 23:09:11 -06:00
- Requires [php-cs-fixer ](https://github.com/FriendsOfPHP/PHP-CS-Fixer ) to be already installed.
2015-12-10 09:46:07 -07:00
- [x] [Python ](https://github.com/Glavin001/atom-beautify/issues/24 )
2015-10-29 20:44:58 -06:00
- Requires [autopep8 ](https://github.com/hhatto/autopep8 ) or [YAPF ](https://github.com/google/yapf ) to be already installed.
- Beautifies to [PEP 8 ](https://www.python.org/dev/peps/pep-0008/ ).
2015-12-10 09:46:07 -07:00
- [x] [Ruby ](https://github.com/Glavin001/atom-beautify/issues/25 )
2014-12-12 12:45:22 -07:00
- Requires [Ruby Beautify ](https://github.com/erniebrodeur/ruby-beautify )
2015-12-10 09:46:07 -07:00
- [x] [CoffeeScript ](https://github.com/Glavin001/atom-beautify/issues/31 )
2015-05-02 22:23:29 -06:00
- [x] [Golang ](https://github.com/Glavin001/atom-beautify/issues/176 )
2014-08-08 11:38:28 -06:00
- [x] [Java ](https://github.com/Glavin001/atom-beautify/issues/45 )
- Requires [Uncrustify ](http://sourceforge.net/projects/uncrustify/ )
- [x] [C ](https://github.com/Glavin001/atom-beautify/issues/57 )
- Requires [Uncrustify ](http://sourceforge.net/projects/uncrustify/ )
- [x] [C++ ](https://github.com/Glavin001/atom-beautify/issues/57 )
- Requires [Uncrustify ](http://sourceforge.net/projects/uncrustify/ )
- [x] [C# ](https://github.com/Glavin001/atom-beautify/issues/57 )
- Requires [Uncrustify ](http://sourceforge.net/projects/uncrustify/ )
- [x] [Objective-C ](https://github.com/Glavin001/atom-beautify/issues/57 )
- Requires [Uncrustify ](http://sourceforge.net/projects/uncrustify/ )
- [x] [D ](https://github.com/Glavin001/atom-beautify/issues/57 )
2016-01-06 11:15:26 -07:00
- Requires [Uncrustify ](http://sourceforge.net/projects/uncrustify/ ) or [dfmt ](https://github.com/Hackerpilot/dfmt )
2015-05-07 14:12:38 -06:00
- [x] [Fortran ](https://github.com/Glavin001/atom-beautify/issues/300 )
- Requires [GNU Emacs ](http://www.gnu.org/software/emacs/ )
2014-08-08 11:38:28 -06:00
- [x] [Pawn ](https://github.com/Glavin001/atom-beautify/issues/57 )
- Requires [Uncrustify ](http://sourceforge.net/projects/uncrustify/ )
- [x] [Vala ](https://github.com/Glavin001/atom-beautify/issues/57 )
- Requires [Uncrustify ](http://sourceforge.net/projects/uncrustify/ )
2014-10-14 01:09:38 -06:00
- [x] [TypeScript ](https://github.com/Glavin001/atom-beautify/issues/49 )
2015-10-29 12:46:22 -06:00
- [x] [Haskell ](https://github.com/Glavin001/atom-beautify/issues/628 )
- Requires [stylish-haskell ](https://github.com/jaspervdj/stylish-haskell )
2015-12-10 06:45:39 -07:00
- [x] [Elm ](https://github.com/Glavin001/atom-beautify/pull/700 )
2015-12-10 06:42:08 -07:00
- Requires [Elm-Format ](https://github.com/avh4/elm-format )
2015-11-25 14:41:09 -07:00
- [x] [Erlang ](https://github.com/Glavin001/atom-beautify/pull/683 )
2015-11-25 14:38:57 -07:00
- Requires erlang syntax_tools to be installed
2016-04-08 10:39:38 -06:00
- [x] [Crystal ](https://github.com/Glavin001/atom-beautify/pull/900 )
2016-05-14 08:34:57 -06:00
- [x] [Lua ](https://github.com/Glavin001/atom-beautify/pull/973 )
2014-06-15 15:37:11 -06:00
2014-03-03 00:51:16 -07:00
## Usage
2014-06-12 18:33:17 -06:00
Open the [Command Palette ](https://github.com/atom/command-palette ), and type `Beautify` .
2015-06-01 06:07:51 -06:00
It will only beautify selected text if a selection is found -- if not, the whole file will be beautified.
2014-06-12 18:33:17 -06:00
### Shortcut
2014-03-03 00:51:16 -07:00
2016-04-07 18:25:55 -06:00
You can also type < kbd > Ctrl</ kbd > -< kbd > Alt</ kbd > -< kbd > B</ kbd > as a shortcut or click `Packages > Beautify` in the menu.
2014-03-03 00:51:16 -07:00
2014-07-12 09:02:21 -06:00
#### Custom Keyboard Shortcuts
2015-10-10 16:01:30 -06:00
See [Keymaps In-Depth ](https://atom.io/docs/latest/behind-atom-keymaps-in-depth ) for more details.
2014-07-12 09:02:21 -06:00
For example:
```coffeescript
2015-01-01 20:34:04 -07:00
'.editor':
2015-05-06 10:00:51 -06:00
'ctrl-alt-b': 'atom-beautify:beautify-editor'
2014-07-12 09:02:21 -06:00
```
2014-06-12 18:33:17 -06:00
## Configuration
Edit your `.jsbeautifyrc` file in any of the following locations:
2014-06-15 15:37:11 -06:00
- Atom Package Settings
`Atom` ➔ `Preferences` ➔ Search for `atom-beautify`
2014-06-12 18:33:17 -06:00
- Same directory as current file
- Project root
`atom-beautify` will recursively look up from the current file's directory to find `.jsbeautifyrc` .
2015-06-01 06:07:51 -06:00
- Your user's home directory
2014-06-12 18:33:17 -06:00
2014-06-12 22:25:39 -06:00
**Note**: *Comments are supported in `.jsbeautifyrc` thanks to [strip-json-comments](https://github.com/sindresorhus/strip-json-comments).*
2015-06-01 06:07:51 -06:00
See examples of both ways inside [`examples/` ](https://github.com/donaldpipowitch/atom-beautify/tree/master/examples )
2014-06-12 22:25:39 -06:00
2015-06-01 13:50:09 -06:00
See [all supported options in the documentation at `docs/options.md` ](https://github.com/Glavin001/atom-beautify/blob/master/docs/options.md ).
2014-09-11 09:48:15 -06:00
2014-06-12 22:25:39 -06:00
### Simple
See [examples/simple-jsbeautifyrc/.jsbeautifyrc ](https://github.com/donaldpipowitch/atom-beautify/blob/master/examples/simple-jsbeautifyrc/.jsbeautifyrc ).
```json
{
"indent_size": 2,
"indent_char": " ",
"other": " ",
"indent_level": 0,
"indent_with_tabs": false,
"preserve_newlines": true,
"max_preserve_newlines": 2,
"jslint_happy": true,
"indent_handlebars": true
}
```
### Nested
See [examples/nested-jsbeautifyrc/.jsbeautifyrc ](https://github.com/donaldpipowitch/atom-beautify/blob/master/examples/nested-jsbeautifyrc/.jsbeautifyrc ).
```json
{
"html": {
"brace_style": "collapse",
"indent_char": " ",
"indent_scripts": "normal",
"indent_size": 6,
"max_preserve_newlines": 1,
"preserve_newlines": true,
"unformatted": ["a", "sub", "sup", "b", "i", "u"],
"wrap_line_length": 0
},
"css": {
"indent_char": " ",
"indent_size": 4
},
"js": {
"indent_size": 2,
"indent_char": " ",
"indent_level": 0,
"indent_with_tabs": false,
"preserve_newlines": true,
"max_preserve_newlines": 2,
"jslint_happy": true
2014-06-13 23:21:26 -06:00
},
"sql": {
"indent_size": 4,
"indent_char": " ",
"indent_level": 0,
"indent_with_tabs": false
2014-06-12 22:25:39 -06:00
}
}
```
2014-06-12 21:16:39 -06:00
2014-06-12 18:33:17 -06:00
## Contributing
[See all contributors on GitHub ](https://github.com/donaldpipowitch/atom-beautify/graphs/contributors ).
2014-06-14 17:13:32 -06:00
Please update the [CHANGELOG.md ](https://github.com/donaldpipowitch/atom-beautify/blob/master/CHANGELOG.md ),
add yourself as a contributor to the [package.json ](https://github.com/donaldpipowitch/atom-beautify/blob/master/package.json ),
2015-12-10 09:46:07 -07:00
and submit a [Pull Request on GitHub ](https://help.github.com/articles/using-pull-requests/ ).
2014-05-19 00:04:56 -06:00
2014-03-03 00:51:16 -07:00
## License
2015-05-02 17:25:04 -06:00
[MIT ](https://github.com/donaldpipowitch/atom-beautify/blob/master/LICENSE.md ) © [Glavin Wiechert ](https://github.com/Glavin001 )