Git Product home page Git Product logo

glavin001 / atom-beautify Goto Github PK

View Code? Open in Web Editor NEW
1.5K 47.0 455.0 3.5 MB

:mega: Help Wanted - Looking for Maintainer: https://github.com/Glavin001/atom-beautify/issues/2572 | :lipstick: Universal beautification package for Atom editor (:warning: Currently migrating to https://github.com/Unibeautify/ and have very limited bandwidth for Atom-Beautify Issues. Thank you for your patience and understanding :heart: )

Home Page: http://unibeautify.com/

License: MIT License

Shell 0.73% CSS 0.21% CoffeeScript 90.48% Common Lisp 1.57% JavaScript 6.48% R 0.12% Ruby 0.10% Emacs Lisp 0.30%
atom beautifier formatter coffeescript beautify prettifier prettify

atom-beautify's Introduction

πŸ’„ atom-beautify

apm GitHub stars GitHub issues Greenkeeper badge

Slack Twitter Follow Gitter Bountysource Paypal Donations

πŸ‘‰ Sign up for CodePass, the Quickest Way To Solve Your Coding Errors! πŸ’₯

πŸŽ‰ Install Unibeautify CI for GitHub πŸŽ‰

Help improve Atom-Beautify by completing the quick questionnaire: https://goo.gl/iEHBNr

Mac OS and
Travis CI: Build Status AppVeyor: Build status

Throughput Graph

Beautify HTML, CSS, JavaScript, PHP, Python, Ruby, Java, C, C++, C#, Objective-C, CoffeeScript, TypeScript, Coldfusion, SQL, and more in Atom

Before After
Original HTML Beautified HTML
image image

Table of Contents

Installation

Atom Package: https://atom.io/packages/atom-beautify

apm install atom-beautify

Or Settings/Preferences βž” Install βž” Search for atom-beautify

πŸŽ‰ Install Unibeautify CI for GitHub πŸŽ‰

Important Notice: Analytics

Atom-Beautify respects the core.telemetryConsent configuration option from Atom editor. If you do not wish to have usage data sent to Google Analytics then please set core.telemetryConsent to no or undecided option before using Atom-Beautify. See Anonymous Analytics section of docs for details. Thank you.

On Atom Load Change Setting Later
image image

Next Version: Unibeautify

Atom-Beautify is going to be completely rewritten with Unibeautify at its core! See unibeautify branch for work in progress and Issue #1174.

πŸŽ‰ Install Unibeautify CI for GitHub πŸŽ‰

Poll: Improving installation of third-party beautifiers

Many users are experiencing issues when installing third party beautifiers (e.g. Uncrustify, PHP-CS-Fixer, and many more). A possible solution is a "cloud" service which provides remote access to these beautifiers. Atom-Beautify would then communicate with these services, allowing for zero-installation beautification.

Please let us know what you think!

Beautifiers

Some of the supported beautifiers are developed for Node.js and are automatically installed when Atom-Beautify is installed. However, other beautifiers are command-line interface (CLI) applications and require you to manually install them.

Beautifier Preinstalled 🐳 Docker Installation
align-yaml βœ… πŸ‘Œ Not necessary πŸ˜ƒ Nothing!
autopep8 ⚠️ 2 executables ⚠️ Only 1 of 2 executables 🐳 With Docker:
1. Install autopep8 (autopep8) with docker pull unibeautify/autopep8

πŸ“‘ Manually:
1. Install autopep8 (autopep8) by following https://github.com/hhatto/autopep8#installation
2. Install isort (isort) by following https://github.com/timothycrosley/isort#installing-isort
beautysh ⚠️ 1 executable βœ… πŸ’―% of executables 🐳 With Docker:
1. Install beautysh (beautysh) with docker pull unibeautify/beautysh

πŸ“‘ Manually:
1. Install beautysh (beautysh) by following https://github.com/bemeurer/beautysh#installation
black ⚠️ 1 executable ❌ No Docker support πŸ“‘ Manually:
1. Install black (black) by following https://github.com/ambv/black#installation
brittany ⚠️ Manual installation 🚧 Not an executable πŸ“„ Go to https://github.com/lspitzner/brittany and follow the instructions.
clang-format ⚠️ 1 executable βœ… πŸ’―% of executables 🐳 With Docker:
1. Install ClangFormat (clang-format) with docker pull unibeautify/clang-format

πŸ“‘ Manually:
1. Install ClangFormat (clang-format) by following https://clang.llvm.org/docs/ClangFormat.html
cljfmt βœ… πŸ‘Œ Not necessary πŸ˜ƒ Nothing!
Coffee Formatter βœ… πŸ‘Œ Not necessary πŸ˜ƒ Nothing!
coffee-fmt βœ… πŸ‘Œ Not necessary πŸ˜ƒ Nothing!
Crystal ⚠️ 1 executable βœ… πŸ’―% of executables 🐳 With Docker:
1. Install Crystal (crystal) with docker pull unibeautify/crystal

πŸ“‘ Manually:
1. Install Crystal (crystal) by following https://crystal-lang.org/docs/installation/
CSScomb βœ… πŸ‘Œ Not necessary πŸ˜ƒ Nothing!
dfmt ⚠️ 1 executable ❌ No Docker support πŸ“‘ Manually:
1. Install Dfmt (dfmt) by following https://github.com/dlang-community/dfmt#building
elm-format ⚠️ 1 executable βœ… πŸ’―% of executables 🐳 With Docker:
1. Install elm-format (elm-format) with docker pull unibeautify/elm-format

πŸ“‘ Manually:
1. Install elm-format (elm-format) by following https://github.com/avh4/elm-format#installation-
Emacs Verilog Mode ⚠️ 1 executable ❌ No Docker support πŸ“‘ Manually:
1. Install Emacs (emacs) by following https://www.gnu.org/software/emacs/
erl_tidy ⚠️ Manual installation 🚧 Not an executable πŸ“„ Go to http://erlang.org/doc/man/erl_tidy.html and follow the instructions.
ESLint Fixer βœ… πŸ‘Œ Not necessary πŸ˜ƒ Nothing!
formatR ⚠️ 1 executable βœ… πŸ’―% of executables 🐳 With Docker:
1. Install Rscript (rscript) with docker pull unibeautify/rscript

πŸ“‘ Manually:
1. Install Rscript (rscript) by following https://github.com/yihui/formatR
Fortran Beautifier ⚠️ 1 executable ❌ No Docker support πŸ“‘ Manually:
1. Install Emacs (emacs) by following https://www.gnu.org/software/emacs/
Gherkin formatter βœ… πŸ‘Œ Not necessary πŸ˜ƒ Nothing!
GN ⚠️ 1 executable ❌ No Docker support πŸ“‘ Manually:
1. Install gn (gn) by following https://www.chromium.org/developers/how-tos/get-the-code
gofmt ⚠️ Manual installation 🚧 Not an executable πŸ“„ Go to https://golang.org/cmd/gofmt/ and follow the instructions.
goimports ⚠️ 1 executable βœ… πŸ’―% of executables 🐳 With Docker:
1. Install goimports (goimports) with docker pull unibeautify/goimports

πŸ“‘ Manually:
1. Install goimports (goimports) by following https://godoc.org/golang.org/x/tools/cmd/goimports
hh_format ⚠️ Manual installation 🚧 Not an executable πŸ“„ Go to http://hhvm.com/ and follow the instructions.
hindent ⚠️ Manual installation 🚧 Not an executable πŸ“„ Go to https://github.com/commercialhaskell/hindent and follow the instructions.
HTML Beautifier ⚠️ Manual installation 🚧 Not an executable πŸ“„ Go to https://github.com/threedaymonk/htmlbeautifier and follow the instructions.
JS Beautify βœ… πŸ‘Œ Not necessary πŸ˜ƒ Nothing!
JSCS Fixer βœ… πŸ‘Œ Not necessary πŸ˜ƒ Nothing!
Latex Beautify ⚠️ Manual installation 🚧 Not an executable πŸ“„ Go to https://github.com/cmhughes/latexindent.pl and follow the instructions.
Lua beautifier βœ… πŸ‘Œ Not necessary πŸ˜ƒ Nothing!
Marko Beautifier βœ… πŸ‘Œ Not necessary πŸ˜ƒ Nothing!
Nginx Beautify βœ… πŸ‘Œ Not necessary πŸ˜ƒ Nothing!
ocamlformat ⚠️ 1 executable ❌ No Docker support πŸ“‘ Manually:
1. Install ocamlformat (ocamlformat) by following https://github.com/ocaml-ppx/ocamlformat#installation
ocp-indent ⚠️ 1 executable βœ… πŸ’―% of executables 🐳 With Docker:
1. Install ocp-indent (ocp-indent) with docker pull unibeautify/ocp-indent

πŸ“‘ Manually:
1. Install ocp-indent (ocp-indent) by following https://www.typerex.org/ocp-indent.html#installation
Perltidy ⚠️ Manual installation 🚧 Not an executable πŸ“„ Go to http://perltidy.sourceforge.net/ and follow the instructions.
PHP-CS-Fixer ⚠️ 2 executables ⚠️ Only 1 of 2 executables 🐳 With Docker:
1. Install PHP-CS-Fixer (php-cs-fixer) with docker pull unibeautify/php-cs-fixer

πŸ“‘ Manually:
1. Install PHP (php) by following http://php.net/manual/en/install.php
2. Install PHP-CS-Fixer (php-cs-fixer) by following https://github.com/FriendsOfPHP/PHP-CS-Fixer#installation
PHPCBF ⚠️ 2 executables ⚠️ Only 1 of 2 executables 🐳 With Docker:
1. Install PHPCBF (phpcbf) with docker pull unibeautify/phpcbf

πŸ“‘ Manually:
1. Install PHP (php) by following http://php.net/manual/en/install.php
2. Install PHPCBF (phpcbf) by following https://github.com/squizlabs/PHP_CodeSniffer#installation
Prettier βœ… πŸ‘Œ Not necessary πŸ˜ƒ Nothing!
Pretty Diff βœ… πŸ‘Œ Not necessary πŸ˜ƒ Nothing!
Pug Beautify βœ… πŸ‘Œ Not necessary πŸ˜ƒ Nothing!
puppet-lint ⚠️ 1 executable βœ… πŸ’―% of executables 🐳 With Docker:
1. Install puppet-lint (puppet-lint) with docker pull unibeautify/puppet-lint

πŸ“‘ Manually:
1. Install puppet-lint (puppet-lint) by following http://puppet-lint.com/
pybeautifier ⚠️ Manual installation 🚧 Not an executable πŸ“„ Go to https://github.com/guyskk/pybeautifier and follow the instructions.
Remark βœ… πŸ‘Œ Not necessary πŸ˜ƒ Nothing!
Rubocop ⚠️ 1 executable ❌ No Docker support πŸ“‘ Manually:
1. Install Rubocop (rubocop) by following http://rubocop.readthedocs.io/en/latest/installation/
Ruby Beautify ⚠️ Manual installation 🚧 Not an executable πŸ“„ Go to https://github.com/erniebrodeur/ruby-beautify and follow the instructions.
rustfmt ⚠️ Manual installation 🚧 Not an executable πŸ“„ Go to https://github.com/rust-lang-nursery/rustfmt and follow the instructions.
SassConvert ⚠️ 1 executable βœ… πŸ’―% of executables 🐳 With Docker:
1. Install SassConvert (sass-convert) with docker pull unibeautify/sass-convert

πŸ“‘ Manually:
1. Install SassConvert (sass-convert) by following http://sass-lang.com/documentation/file.SASS_REFERENCE.html#syntax
sqlformat ⚠️ Manual installation 🚧 Not an executable πŸ“„ Go to https://github.com/andialbrecht/sqlparse and follow the instructions.
stylish-haskell ⚠️ Manual installation 🚧 Not an executable πŸ“„ Go to https://github.com/jaspervdj/stylish-haskell and follow the instructions.
terraformfmt ⚠️ 1 executable βœ… πŸ’―% of executables 🐳 With Docker:
1. Install Terraform (terraform) with docker pull hashicorp/terraform

πŸ“‘ Manually:
1. Install Terraform (terraform) by following https://www.terraform.io
Tidy Markdown βœ… πŸ‘Œ Not necessary πŸ˜ƒ Nothing!
TypeScript Formatter βœ… πŸ‘Œ Not necessary πŸ˜ƒ Nothing!
Uncrustify ⚠️ 1 executable βœ… πŸ’―% of executables 🐳 With Docker:
1. Install Uncrustify (uncrustify) with docker pull unibeautify/uncrustify

πŸ“‘ Manually:
1. Install Uncrustify (uncrustify) by following https://github.com/uncrustify/uncrustify
VHDL Beautifier ⚠️ 1 executable ❌ No Docker support πŸ“‘ Manually:
1. Install Emacs (emacs) by following https://www.gnu.org/software/emacs/
Vue Beautifier βœ… πŸ‘Œ Not necessary πŸ˜ƒ Nothing!
yapf ⚠️ Manual installation 🚧 Not an executable πŸ“„ Go to https://github.com/google/yapf and follow the instructions.

Language Support

See all supported options in the documentation at docs/options.md.

Language Grammars File Extensions Supported Beautifiers
Apex Apex .cls, .trigger Uncrustify
Arduino Arduino .ino, .pde Uncrustify
Bash Shell Script .bash, .sh beautysh
Blade Blade .blade.php JS Beautify
C C, opencl .h, .c, .cl Uncrustify, clang-format
Coldfusion html .cfm, .cfml, .cfc Pretty Diff
Clojure Clojure .clj, .cljs, .edn cljfmt
CoffeeScript CoffeeScript .coffee coffee-fmt, Coffee Formatter
C++ C++ .h, .hh, .cc, .cpp, .cxx, .C, .cu, .c++, .hpp, .hxx, .h++, .cuh Uncrustify, clang-format
Crystal Crystal .cr Crystal
C# C# .cs Uncrustify
CSS CSS .css JS Beautify, CSScomb, Prettier, Pretty Diff, SassConvert
CSV CSV .csv Pretty Diff
D D .d Uncrustify, dfmt
EJS EJS, JavaScript Template, HTML (Angular) .ejs JS Beautify, Pretty Diff
Elm Elm .elm elm-format
ERB HTML (Ruby - ERB), HTML (Rails) .erb Pretty Diff, HTML Beautifier
Erlang Erlang .erl erl_tidy
Fortran Fortran - Modern .f90, .F90, .f95, .F95, .f03, .F03, .f08, .F08 Fortran Beautifier
gherkin Gherkin .feature Gherkin formatter
GLSL C, opencl, GLSL .vert, .frag clang-format
GN gn .gn, .gni GN
Go Go .go gofmt, goimports
Golang Template HTML (Go), Go Template .gohtml Pretty Diff
Handlebars Handlebars, HTML (Handlebars) .hbs, .handlebars JS Beautify, Pretty Diff
Haskell Haskell .hs stylish-haskell, brittany, hindent
HTML HTML .html JS Beautify, Pretty Diff
Jade Jade, Pug .jade, .pug Pug Beautify
Java Java .java Uncrustify
JavaScript JavaScript .js JS Beautify, ESLint Fixer, JSCS Fixer, Prettier, Pretty Diff
JSON JSON .json JS Beautify, Prettier, Pretty Diff
JSX JSX, JavaScript (JSX), Babel ES6 JavaScript, JavaScript with JSX .jsx, .js Pretty Diff, JS Beautify
LaTeX BibTeX, LaTeX, TeX .bib, .tex, .sty, .cls, .dtx, .ins, .bbx, .cbx Latex Beautify
LESS LESS .less Pretty Diff, CSScomb, Prettier
Lua Lua .lua, .ttslua Lua beautifier
Markdown GitHub Markdown .markdown, .md Remark, Prettier, Tidy Markdown
Marko Marko .marko Marko Beautifier
Mustache HTML (Mustache) .mustache JS Beautify, Pretty Diff
Nginx nginx .conf Nginx Beautify
Nunjucks Nunjucks, Nunjucks Templates, HTML (Nunjucks Templates) .njk, .nunjucks Pretty Diff
Objective-C Objective-C, Objective-C++ .m, .mm, .h Uncrustify, clang-format
OCaml OCaml .ml ocp-indent, ocamlformat
Pawn Pawn Uncrustify
Perl Perl, Perl 6 .pl, .PL, .pm, .pod, .t Perltidy
PHP PHP .php, .module, .inc PHP-CS-Fixer, PHPCBF, hh_format
Puppet Puppet .pp puppet-lint
Python Python, MagicPython .py autopep8, black, pybeautifier, yapf
R R .r, .R formatR
Riot.js Riot.js, HTML (Riot Tag) .tag Pretty Diff
Ruby Ruby, Ruby on Rails .rb Rubocop, Ruby Beautify
Rust Rust .rs, .rlib rustfmt
Sass Sass .sass SassConvert
SCSS SCSS .scss Pretty Diff, CSScomb, Prettier, SassConvert
Spacebars Spacebars Pretty Diff
SQL SQL (Rails), SQL .sql sqlformat
SVG SVG .svg Pretty Diff
Swig HTML (Swig), SWIG .swig Pretty Diff
Terraform Terraform .tf terraformfmt
TSS TSS .tss Pretty Diff
TSX TypeScriptReact .tsx TypeScript Formatter
Twig HTML (Twig) .twig Pretty Diff
TypeScript TypeScript .ts TypeScript Formatter, Prettier
UX Markup UX .ux Pretty Diff
Vala Vala .vala, .vapi Uncrustify
Verilog Verilog .svh, .v, .sv Emacs Verilog Mode
VHDL VHDL 2008 .vhd, .VHD VHDL Beautifier
Visualforce Visualforce .page Pretty Diff
Vue Vue Component .vue Vue Beautifier, ESLint Fixer, Prettier
XML SLD, XML, XHTML, XSD, XSL, JSP, GSP .sld, .xml, .xhtml, .xsd, .xsl, .jsp, .gsp, .plist, .recipe, .config Pretty Diff, JS Beautify
XTemplate XTemplate .xtemplate Pretty Diff
YAML YAML .yml, .yaml align-yaml

Usage

Command Palette

Open the Command Palette, type Beautify, and run Beautify Editor.

image

Beautify a Specific Language

You can use the Command Palette to beautify the editor for a specific language. The commands are in the form Atom Beautify: Beautify Language {NAME} (i.e. atom-beautify:beautify-language-{NAME} for keyboard shortcuts). For example, you may want to beautify JavaScript code within a HTML file.

atom-beautify-language-commands

Selection of Code

It will only beautify selected text if a selection is found -- if not, the whole file will be beautified.

Selection of Code Beautify Selection of Code Beautify Entire File
Select code in Atom editor Only that selection is beautified Without a selection all code is beautified
image image image

Beautify On Save

Beautify On Save can be enabled for each language individually.

For example, for language HTML go into Atom-Beautify's package settings (Atom βž” Preferences βž” Search for atom-beautify), find HTML, and toggle the Beautify On Save option.

atom-beautify-setup-beautify-on-save

Keyboard Shortcut

You can also type Ctrl-Alt-B as a shortcut or click Packages > Beautify in the menu.

Custom Keyboard Shortcuts

See Keymaps In-Depth for more details.

For example:

'.editor':
  'ctrl-alt-b': 'atom-beautify:beautify-editor'

Configuration

Edit your .jsbeautifyrc file in any of the following locations:

  • Atom Package Settings Atom βž” Preferences βž” Search for atom-beautify
  • Same directory as current file
  • Project root atom-beautify will recursively look up from the current file's directory to find .jsbeautifyrc.
  • Your user's home directory

Note: Comments are supported in .jsbeautifyrc thanks to strip-json-comments.

See examples of both ways inside examples/

See all supported options in the documentation at docs/options.md.

Simple

See examples/simple-jsbeautifyrc/.jsbeautifyrc.

{
  "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 (Recommended)

See examples/nested-jsbeautifyrc/.jsbeautifyrc.

{
  "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
  },
  "sql": {
    "indent_size": 4,
    "indent_char": " ",
    "indent_level": 0,
    "indent_with_tabs": false
  }
}

Troubleshooting

See docs/troubleshooting.md.

Contributing

See CONTRIBUTING.md.

See all contributors on GitHub.

Please update the CHANGELOG.md, add yourself as a contributor to the package.json, and submit a Pull Request on GitHub.

License

MIT Β© Glavin Wiechert

atom-beautify's People

Contributors

aidistan avatar bbugh avatar bitwiseman avatar darron1217 avatar derbrobro avatar donaldpipowitch avatar elijdonahue avatar faheel avatar finalcut avatar focus avatar glavin001 avatar greenkeeperio-bot avatar hxsf avatar janbernloehr avatar joaomlneto avatar jonidbendo avatar kachkaev avatar kamontat avatar karolyi avatar kelvix avatar laurenttreguier avatar markbaas avatar mrmurphy avatar onigra avatar patrick-steele-idem avatar prettydiff avatar ra100 avatar sebastian-d avatar stevenzeck avatar uzitech avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

atom-beautify's Issues

Message/Loading Popup/Modal

Currently there is no way to display a message to the user, such as errors or warnings or deprecation notices (see #40). Let's put a little overlay on the top for displaying such information.

Ignore jsbeautify when editing .jsbeautifyrc in place

When editing .jsbeautifyrc, and if it's in the path to be evaluated, we get an error from the config-chain module, which is right, because the invalid syntax (in the middle of editing/saving) causes the json file failing to load.

Needs to be fixed.

I'll provide a fix for this later on.

Unable to update to 0.3.4

You probably already know but looks like we are unable to update to 0.3.4 via the package manager. I believe this may be due to the packaging moving from @donaldpipowitch to @Glavin001 . You may need to update the repo information in package.json to point to the new URL.

Updating to β€œ[email protected]” failed. Less…
Unable to download https://www.atom.io/api/packages/atom-beautify/versions/0.3.4/tarball: 400 Bad Request Repository inaccessible

Support upwards recursive .jsbeautifyrc fallback

Instead of finding the closest .jsbeautifyrc file and applying it, we should instead find all .jsbeautifyrc files upwards from the starting directory. Thus, you can apply Project Specific as a fallback for directory specific, and so forth.

Use Atom Packages Config Settings as default options

See https://github.com/taronfoxworth/atom-beautifier/blob/master/lib/beautifier.coffee#L70-L94

plugin.configDefaults =
  autoSave: false
  JsIndentSize: 2
  JsIndentChar: " "
  JsIndentLevel: 0
  JsIndentWithTabs: false
  JsPreserveNewlines: true
  JsMaxPreserveNewlines: 10
  JsJslintHappy: false
  JsBraceStyle: "collapse"
  JsKeepArrayIndentation: false
  JsKeepFunctionIndentation: false
  JsSpaceBeforeConditional: true
  JsBreakChainedMethods: false
  JsEvalCode: false
  JsUnescapeStrings: false
  JsWrapLineLength: 0
  CssIndentSize: 2
  CssIndentChar: " "
  HtmlIndentInnerHtml: false
  HtmlIndentSize: 2
  HtmlIndentChar: " "
  HtmlBraceStyle: "collapse"
  HtmlIndentScripts: "normal"
  HtmlWrapLineLength: 250

I know I liked atom-beautifier a lot more because I could easily edit settings in the Atom package settings panel. And so did this user: anaptfox/atom-beautifier#3 (comment)

@karolyi , thoughts?

Future maintenance

Hi @Glavin001 and @karolyi,

thank you both for the great work on this project in the last weeks. Amazing! As you've seen I didn't contributed a lot recently (say: nothing).

Reasons for this: little free time and little motivation, because Atom isn't my main editor. I've created this package even before I had access to Atom, because I wanted to test the APIs for plugins :) So I couldn't know if I like Atom from a user perspective or not beforehand. It's cool, but I still need more features and stability for my daily IDE.

To make a long story short: How should this project be maintained in the future? Does one of you would like to take the leadership? Should this project be maintained by an "organization"?

Greets and sorry for letting you down,
Pipo :)

Issues Beautifying LESS when using @variable or &:hover syntax

When using the beautify command on a less file, their seems to be issues with how items are restructured. I have no custom settings or overrides.

Note: The screenshots are missing the trailing } but it is included in the raw testing text.

Before Command

beforebeautifycommand

After Command

afterbeautifycommand

LESS for Testing

@import "syntax-variables";

.editor-colors {
  background-color: @syntax-background-color;
  color: @syntax-text-color;
}

.editor {
  background-color: @syntax-background-color;
  color: @syntax-text-color;

  .wrap-guide {
    background-color: @syntax-wrap-guide-color;
  }

  .indent-guide {
    color: @syntax-indent-guide-color;
  }

  .invisible-character {
    color: @syntax-invisible-character-color;
  }

  .gutter {
    background-color: @syntax-gutter-background-color;
    color: @syntax-gutter-text-color;

    .line-number {
      &.cursor-line {
        background-color: @syntax-gutter-background-color-selected;
        color: @syntax-gutter-text-color-selected;
      }

      &.cursor-line-no-selection {
        color: @syntax-gutter-text-color-selected;
      }
    }
  }
}

ReactJS

Would it be possible to add support for ReactJS JSX files?

Changing indents to tabs even though my .jsbeautifyrc says otherwise

Hi Folks,

bit of a strange one here but I've only noticed it since i've updated to 0.3.3 (not sure if it was going on before).

here is the contents of my .jsbeautifyrc:

{
    "indent_size": 4,
    "indent_char": " ",
    "indent_level": 0,
    "indent_with_tabs": false,
    "preserve_newlines": true,
    "max_preserve_newlines": 2,
    "jslint_happy": false,
    "brace_style": "collapse",
    "keep_array_indentation": true,
    "keep_function_indentation": true,
    "space_before_conditional": true,
    "eval_code": false,
    "unescape_strings": false
}

but it is still replacing my spaces for tabs

https://cloudup.com/cz5VzNyU_ZB

... eh.. what? things just got even stranger. I don't really know why that happened (mixed tabs and spaces).

any logs i can do to help out with this one?

expose beautify settings

As mentioned here: #1 (comment)

It would be great to use a .jsbeautifyrc which looks like this (defaults):

{
    "indent_size": 4,
    "indent_char": " ",
    "indent_level": 0,
    "indent_with_tabs": false,
    "preserve_newlines": true,
    "max_preserve_newlines": 10,
    "jslint_happy": false,
    "brace_style": "collapse",
    "keep_array_indentation": false,
    "keep_function_indentation": false,
    "space_before_conditional": true,
    "break_chained_methods": false,
    "eval_code": false,
    "unescape_strings": false,
    "wrap_line_length": 0
}

And maybe .cssbeautifyrc and .htmlbeautifyrc, too. (Doesn't seem to be used by https://github.com/einars/js-beautify itself? See beautifier/js-beautify#391)

Google Analytics

  • Track most popular languages beautified (so we know what to prioritize development on)

Beautify not yet created files.

Uncaught TypeError: Arguments to path.resolve must be strings

This occurs when beautifying on a file in a new window, because the editorFilePath is undefined.

var editedFilePath = editor.getPath();
// => undefined

This is when the file is not yet created.

  • Verify that the path is being passed a valid string

QUESTION: Line up . characters in Javascript

Hi,

Just downloaded your beautifier, it works wonderfully. I wanted to know if there is a way in the settings to have all .'s line up..

Current Code:

gulp.task('default', function() {
  return gulp.src(['./**/*.js', '!./node_modules/**'])
    .pipe(jshint())
    .pipe(jshint.reporter('default'));
});

What I would like:

gulp.task('default', function() {
  return gulp.src(['./**/*.js', '!./node_modules/**'])
                   .pipe(jshint())
                   .pipe(jshint.reporter('default'));
});

Is this currently possible?

Thanks!

.jsbeautifyrc doesn't support all 3 language preferences

I'm not sure if I'm doing something wrong because using a .jsbeautifyrc is undocumented, but from your source it looks like it should be loaded.

Repro:

Expected:

  • max_preserve_newlines is set to 1, so extra whitespace beyond 1 empty line should be removed

Actual:

  • No change aside from some punctuation shifting (oddly this doesn't occur in Sublime Text, which makes me think jslint_happy is also being ignored).

Less beautify error with Link style states

Hi,

I'm using atom 0.119.0 on Windows to format my less file. Whoever the output isn't exactly better at all. Also there is a bug when using statements as &:hover and &:link

                    a {
                        line-height: @headerHeight;

display: block;
                        padding: 0px 15px;
                        font-size: 16px;
                        button {
                            font-size: 16px;
                        }
                        &:link {
                            color: @white;

text-decoration: none;
                        }
                        &:visited {
                            color: @white;

                        }
                        &:hover {
                            color: @orange;

                        }
                        &.green {
                            color: @green;

&:hover {
                                color: @white;

background-color: @green;

                            }
                        }

&:hover and &:link become &:(space)hover and &:(space)link. Which doesn't compile anymore.

Rename .jsbeautifyrc to .atombeautifyrc

Hi @Glavin001 and @karolyi,

Before leaving (?) the project (#40) I have one last question/advice:
As you've added new languages we are in the need to clarify the relation to https://github.com/beautify-web/js-beautify.

The project started as an Atom wrapper for js-beautify, but it should be treated independent to js-beautify now.
We already added a non-standard .jsbeautifyrc (#9). I would recommend to deprecate the use of .jsbeautifyrc right now and introduce a .atombeautifyrc. This JSON file collects default settings which can be used for every language, but could be overridden for a specific language (and adds language-specific settings). Something like

{
 "_default": {
    "indent_size": 4,
    "indent_char": " "
  },
  "html": {
    "brace_style": "collapse",
    "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_size": 2
  },
  "js": {
    "indent_level": 0,
    "indent_with_tabs": false,
    "preserve_newlines": true,
    "max_preserve_newlines": 2,
    "jslint_happy": true
  },
  "sql": {
    "indent_level": 0,
    "indent_with_tabs": false
  },
  "python": { ... }
}

You could even exchange js-beautify for a different beautifier for JS at a later state or use different beautifier for CSS and HTML, but still use it just for JS.

Just my 2 cents :)

Atom commands for specific language

See https://github.com/taronfoxworth/atom-beautifier/blob/master/lib/beautifier.coffee#L99-L102

  atom.workspaceView.command "beautifier", -> convert()
  atom.workspaceView.command "beautifier:js", -> convertJs()
  atom.workspaceView.command "beautifier:html", -> convertHTML()
  atom.workspaceView.command "beautifier:css", -> convertCSS()

Use case: highlight a specific area of code that is a different language than the overall file's grammar type. Now apply the desired, correct, beautification.

save on beautify refuses to fire unless manually done first

Issue:
saving on beautify is on yet when I save it does not beautify unless I used ctrl-alt-b first. This however prevents whitespace from ensuring a blank line at the end of the file.

Installed Packages:

/Users/.../.atom/packages (19)
β”œβ”€β”€ [email protected]
β”œβ”€β”€ [email protected]
β”œβ”€β”€ [email protected]
β”œβ”€β”€ [email protected]
β”œβ”€β”€ [email protected]
β”œβ”€β”€ [email protected]
β”œβ”€β”€ [email protected]
β”œβ”€β”€ [email protected]
β”œβ”€β”€ [email protected]
β”œβ”€β”€ [email protected]
β”œβ”€β”€ [email protected]
β”œβ”€β”€ [email protected]
β”œβ”€β”€ [email protected]
β”œβ”€β”€ [email protected]
β”œβ”€β”€ [email protected]
β”œβ”€β”€ [email protected]
β”œβ”€β”€ [email protected]
β”œβ”€β”€ [email protected]
└── [email protected]

I'm also using OSX Yosemite. Not sure if that matters but this started happening in last 24 hours and I went through my install history and can't figure out what could have caused it.

Is there any info I could provide?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.