Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/adbayb/atom-formatter-jsbeautify

⚙️ Formatter plugin providing js-beautify interface for Atom editor
https://github.com/adbayb/atom-formatter-jsbeautify

atom tool

Last synced: about 1 month ago
JSON representation

⚙️ Formatter plugin providing js-beautify interface for Atom editor

Awesome Lists containing this project

README

        

# atom-formatter-jsbeautify

Formatter plugin adding a js-beautify interface to the Atom editor.
This plugin can reformat and reindent your source code with a bunch of accepted file formats:

> **Javascript/JSON:** *.js, .jsx, .json*


> **Css and its pre-processors:** *.css, .sass, .scss, .less*


> **HTML/XML:** *.html, .xml*



## Prerequisites:


- [x] Install [Atom Formatter package](https://atom.io/packages/formatter)
- [x] Install this package ([atom-formatter-jsbeautify](https://atom.io/packages/atom-formatter-jsbeautify))
- [x] No more setup and no more package configurations are required. You are, now, good to go :)



## Usage:


### Keybindings:

It takes the default keybindings from Formatter. E.g, by default (you can customize these in the Atom keymap.cson):

```cson
'atom-text-editor':
'alt-ctrl-l': 'formatter:format-code'
'alt-cmd-l': 'formatter:format-code'
```

### Configurations:

By default, it loads configurations from .jsbeautifyrc file. **This file must be located in the root of your project folder to be taken into account.**

Whenever the file isn't found, an error popup will be displayed. The code will then be beautified thanks to the default js-beautify configurations.

The config file must be valid JSON and looks like the one supported by js-beautify itself:

```json
{
"comment": "Configurations for [js, jsx, json] and Shared configurations",

"brace_style": "collapse-preserve-inline",
"break_chained_methods": false,
"comma_first": false,
"e4x": true,
"end_with_newline": true,
"eol": "\n",
"eval_code": false,
"keep_array_indentation": false,
"keep_function_indentation": false,
"indent_size": 4,
"indent_char": " ",
"indent_level": 0,
"indent_with_tabs": true,
"jslint_happy": false,
"max_preserve_newlines": 10,
"preserve_newlines": true,
"space_after_anon_function": false,
"space_before_conditional": false,
"space_in_paren": false,
"wrap_attributes": "auto",
"wrap_attributes_indent_size": 4,
"wrap_line_length": 0,
"unescape_strings": false,

"comment": "Configurations for [css] and its pre-processors [sass, scss, less]",

"newline_between_rules": true,
"selector_separator_newline": false,

"comment": "Configurations for [html, xml]",

"extra_liners": ["head", "body", "/html"],
"indent_inner_html": true,
"indent_scripts": "normal",
"unformatted": ["inline"]
}
```

For more descriptions about available configuration options and their impacts to beautification process:

[JSON Schemastore](http://json.schemastore.org/jsbeautifyrc)

[JSBeautify](https://github.com/beautify-web/js-beautify)



## License


[MIT](./LICENSE "License MIT")