Glavin001 / atom-beautify

: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: )
http://unibeautify.com/
MIT License
1.5k stars 453 forks source link

Cannot figure out how to use beautifier on ERB files #426

Closed blelump closed 7 years ago

blelump commented 9 years ago

Hi Glavin! Thank you for the tool. It seems to be quite useful, as soon as I'll resolve my issues :-) .

I'm trying to format html.erb file:

<%= content_for :additional_javascript_libraries do %>
<%= javascript_include_tag "a/b" %>
<% end %>

<% @items.each do |item| %>
<li><%= h(@item) %></li>
<% end %>

After beautification it should look smth like:

<%= content_for :additional_javascript_libraries do %>
  <%= javascript_include_tag "a/b" %>
<% end %>

<% @items.each do |item| %>
  <li><%= h(@item) %></li>
<% end %>

whereas it seems that it always drops the indendation, e.g if input is given as

<% @items.each do |item| %>
  <li><%= h(@item) %></li>
<% end %>

it returns

<% @items.each do |item| %>
<li><%= h(@item) %></li>
<% end %>

I've installed htmlbeautifier as suggested, however I am not sure it's being used by beautifier. By putting ctrl+alt+b some magic happens and the result is incorrect. How to debug which beautifier is being used for given type of file?

Here's the debug command output:

Atom Beautify - Debugging information

The following debugging information was generated by Atom Beautify on Sat Jun 27 2015 22:29:12 GMT+0200 (CEST).


Platform: linux

Versions

Atom Version: 1.0.0

Atom Beautify Version: 0.28.7

Original file to be beautified

Original File Path: file.html.erb

Original File Grammar: HTML (Ruby - ERB)

Original File Language: ERB

Original File Contents:

<%= content_for :additional_javascript_libraries do %>
<%= javascript_include_tag "a/b" %>
<% end %>

<% @items.each do |item| %>
<li><%= h(@item) %></li>
<% end %>

Beautification options

Editor Options: Options from Atom Editor settings

{
    "_default": {
        "indent_size": 2,
        "indent_char": " ",
        "indent_with_tabs": false
    }
}

Config Options: Options from Atom Beautify package settings

{
    "cs": {
        "configPath": ""
    },
    "c": {
        "configPath": ""
    },
    "cpp": {
        "configPath": ""
    },
    "css": {
        "indent_size": 2,
        "indent_char": " ",
        "selector_separator_newline": false,
        "newline_between_rules": false,
        "preserve_newlines": false,
        "wrap_line_length": 0,
        "indent_comments": true,
        "force_indentation": false,
        "convert_quotes": "none",
        "align_assignments": false
    },
    "d": {
        "configPath": ""
    },
    "fortran": {
        "emacs_path": "",
        "emacs_script_path": ""
    },
    "html": {
        "indent_inner_html": false,
        "indent_size": 2,
        "indent_char": " ",
        "brace_style": "collapse",
        "indent_scripts": "normal",
        "wrap_line_length": 250,
        "wrap_attributes": "auto",
        "wrap_attributes_indent_size": 2,
        "preserve_newlines": true,
        "max_preserve_newlines": 10,
        "unformatted": [
            "a",
            "sub",
            "sup",
            "b",
            "i",
            "u"
        ],
        "end_with_newline": false
    },
    "java": {
        "configPath": ""
    },
    "js": {
        "indent_size": 2,
        "indent_char": " ",
        "indent_level": 0,
        "indent_with_tabs": false,
        "preserve_newlines": true,
        "max_preserve_newlines": 10,
        "space_in_paren": false,
        "jslint_happy": false,
        "space_after_anon_function": false,
        "brace_style": "collapse",
        "break_chained_methods": false,
        "keep_array_indentation": false,
        "keep_function_indentation": false,
        "space_before_conditional": true,
        "eval_code": false,
        "unescape_strings": false,
        "wrap_line_length": 0,
        "end_with_newline": false
    },
    "objectivec": {
        "configPath": ""
    },
    "pawn": {
        "configPath": ""
    },
    "perl": {
        "perltidy_profile": ""
    },
    "php": {
        "cs_fixer_path": "",
        "fixers": "",
        "level": ""
    },
    "python": {
        "max_line_length": 79,
        "indent_size": 2,
        "ignore": [
            "E24"
        ]
    },
    "ruby": {
        "indent_size": 2,
        "indent_char": " "
    },
    "rust": {
        "rustfmt_path": ""
    },
    "sql": {
        "indent_size": 2,
        "keywords": "upper",
        "identifiers": "lower"
    },
    "vala": {
        "configPath": ""
    }
}

Home Options: Options from /media/slave/users/rails/.jsbeautifyrc

{
    "_default": {}
}

EditorConfig Options: Options from EditorConfig file

{
    "_default": {}
}

Project Options: Options from .jsbeautifyrc files starting from directory ... and going up to root

[
    {
        "_default": {}
    },
    {
        "_default": {}
    },
    {
        "_default": {}
    },
    {
        "_default": {}
    },
    {
        "_default": {}
    },
    {
        "_default": {}
    },
    {
        "_default": {}
    },
    {
        "_default": {}
    },
    {
        "_default": {}
    },
    {
        "_default": {}
    }
]

Final Options: Final combined options that are used

{
    "indent_size": 2,
    "indent_char": " ",
    "indent_with_tabs": false,
    "indent_inner_html": false,
    "brace_style": "collapse",
    "indent_scripts": "normal",
    "wrap_line_length": 250,
    "wrap_attributes": "auto",
    "wrap_attributes_indent_size": 2,
    "preserve_newlines": true,
    "max_preserve_newlines": 10,
    "unformatted": [
        "a",
        "sub",
        "sup",
        "b",
        "i",
        "u"
    ],
    "end_with_newline": false
}

Package Settings: The raw package settings options

{
    "_analyticsUserId": "3b3b7fcd-837d-442a-a44c-e19291c14aae",
    "analytics": true,
    "_loggerLevel": "warn",
    "beautifyEntireFileOnSave": true,
    "muteUnsupportedLanguageErrors": false,
    "muteAllErrors": false,
    "cs_configPath": "",
    "c_configPath": "",
    "cpp_configPath": "",
    "css_indent_size": 2,
    "css_indent_char": " ",
    "css_selector_separator_newline": false,
    "css_newline_between_rules": false,
    "css_preserve_newlines": false,
    "css_wrap_line_length": 0,
    "css_indent_comments": true,
    "css_force_indentation": false,
    "css_convert_quotes": "none",
    "css_align_assignments": false,
    "d_configPath": "",
    "fortran_emacs_path": "",
    "fortran_emacs_script_path": "",
    "html_indent_inner_html": false,
    "html_indent_size": 2,
    "html_indent_char": " ",
    "html_brace_style": "collapse",
    "html_indent_scripts": "normal",
    "html_wrap_line_length": 250,
    "html_wrap_attributes": "auto",
    "html_wrap_attributes_indent_size": 2,
    "html_preserve_newlines": true,
    "html_max_preserve_newlines": 10,
    "html_unformatted": [
        "a",
        "sub",
        "sup",
        "b",
        "i",
        "u"
    ],
    "html_end_with_newline": false,
    "java_configPath": "",
    "js_indent_size": 2,
    "js_indent_char": " ",
    "js_indent_level": 0,
    "js_indent_with_tabs": false,
    "js_preserve_newlines": true,
    "js_max_preserve_newlines": 10,
    "js_space_in_paren": false,
    "js_jslint_happy": false,
    "js_space_after_anon_function": false,
    "js_brace_style": "collapse",
    "js_break_chained_methods": false,
    "js_keep_array_indentation": false,
    "js_keep_function_indentation": false,
    "js_space_before_conditional": true,
    "js_eval_code": false,
    "js_unescape_strings": false,
    "js_wrap_line_length": 0,
    "js_end_with_newline": false,
    "objectivec_configPath": "",
    "pawn_configPath": "",
    "perl_perltidy_profile": "",
    "php_cs_fixer_path": "",
    "php_fixers": "",
    "php_level": "",
    "python_max_line_length": 79,
    "python_indent_size": 2,
    "python_ignore": [
        "E24"
    ],
    "ruby_indent_size": 2,
    "ruby_indent_char": " ",
    "rust_rustfmt_path": "",
    "sql_indent_size": 2,
    "sql_keywords": "upper",
    "sql_identifiers": "lower",
    "vala_configPath": "",
    "language_cs_disabled": false,
    "language_cs_default_beautifier": "Uncrustify",
    "language_cs_beautify_on_save": false,
    "language_c_disabled": false,
    "language_c_default_beautifier": "Uncrustify",
    "language_c_beautify_on_save": false,
    "language_coffeescript_disabled": false,
    "language_coffeescript_default_beautifier": "coffee-fmt",
    "language_coffeescript_beautify_on_save": false,
    "language_cpp_disabled": false,
    "language_cpp_default_beautifier": "Uncrustify",
    "language_cpp_beautify_on_save": false,
    "language_css_disabled": false,
    "language_css_default_beautifier": "JS Beautify",
    "language_css_beautify_on_save": false,
    "language_csv_disabled": false,
    "language_csv_default_beautifier": "Pretty Diff",
    "language_csv_beautify_on_save": false,
    "language_d_disabled": false,
    "language_d_default_beautifier": "Uncrustify",
    "language_d_beautify_on_save": false,
    "language_ejs_disabled": false,
    "language_ejs_default_beautifier": "Pretty Diff",
    "language_ejs_beautify_on_save": false,
    "language_erb_disabled": false,
    "language_erb_default_beautifier": "Pretty Diff",
    "language_erb_beautify_on_save": false,
    "language_go_disabled": false,
    "language_go_default_beautifier": "gofmt",
    "language_go_beautify_on_save": false,
    "language_fortran_disabled": false,
    "language_fortran_default_beautifier": "Fortran Beautifier",
    "language_fortran_beautify_on_save": false,
    "language_handlebars_disabled": false,
    "language_handlebars_default_beautifier": "JS Beautify",
    "language_handlebars_beautify_on_save": false,
    "language_html_disabled": false,
    "language_html_default_beautifier": "JS Beautify",
    "language_html_beautify_on_save": false,
    "language_java_disabled": false,
    "language_java_default_beautifier": "Uncrustify",
    "language_java_beautify_on_save": false,
    "language_js_disabled": false,
    "language_js_default_beautifier": "JS Beautify",
    "language_js_beautify_on_save": false,
    "language_json_disabled": false,
    "language_json_default_beautifier": "JS Beautify",
    "language_json_beautify_on_save": false,
    "language_jsx_disabled": false,
    "language_jsx_default_beautifier": "Pretty Diff",
    "language_jsx_beautify_on_save": false,
    "language_less_disabled": false,
    "language_less_default_beautifier": "Pretty Diff",
    "language_less_beautify_on_save": false,
    "language_markdown_disabled": false,
    "language_markdown_default_beautifier": "Tidy Markdown",
    "language_markdown_beautify_on_save": false,
    "language_marko_disabled": false,
    "language_marko_default_beautifier": "JS Beautify",
    "language_marko_beautify_on_save": false,
    "language_mustache_disabled": false,
    "language_mustache_default_beautifier": "JS Beautify",
    "language_mustache_beautify_on_save": false,
    "language_objectivec_disabled": false,
    "language_objectivec_default_beautifier": "Uncrustify",
    "language_objectivec_beautify_on_save": false,
    "language_pawn_disabled": false,
    "language_pawn_default_beautifier": "Uncrustify",
    "language_pawn_beautify_on_save": false,
    "language_perl_disabled": false,
    "language_perl_default_beautifier": "Perltidy",
    "language_perl_beautify_on_save": false,
    "language_php_disabled": false,
    "language_php_default_beautifier": "PHP-CS-Fixer",
    "language_php_beautify_on_save": false,
    "language_python_disabled": false,
    "language_python_default_beautifier": "autopep8",
    "language_python_beautify_on_save": false,
    "language_ruby_disabled": false,
    "language_ruby_default_beautifier": "Rubocop",
    "language_ruby_beautify_on_save": false,
    "language_rust_disabled": false,
    "language_rust_default_beautifier": "rustfmt",
    "language_rust_beautify_on_save": false,
    "language_sass_disabled": false,
    "language_sass_default_beautifier": "Pretty Diff",
    "language_sass_beautify_on_save": false,
    "language_scss_disabled": false,
    "language_scss_default_beautifier": "Pretty Diff",
    "language_scss_beautify_on_save": false,
    "language_spacebars_disabled": false,
    "language_spacebars_default_beautifier": "Pretty Diff",
    "language_spacebars_beautify_on_save": false,
    "language_sql_disabled": false,
    "language_sql_default_beautifier": "sqlformat",
    "language_sql_beautify_on_save": false,
    "language_swig_disabled": false,
    "language_swig_default_beautifier": "Pretty Diff",
    "language_swig_beautify_on_save": false,
    "language_tss_disabled": false,
    "language_tss_default_beautifier": "Pretty Diff",
    "language_tss_beautify_on_save": false,
    "language_twig_disabled": false,
    "language_twig_default_beautifier": "Pretty Diff",
    "language_twig_beautify_on_save": false,
    "language_typescript_disabled": false,
    "language_typescript_default_beautifier": "TypeScript Formatter",
    "language_typescript_beautify_on_save": false,
    "language_vala_disabled": false,
    "language_vala_default_beautifier": "Uncrustify",
    "language_vala_beautify_on_save": false,
    "language_visualforce_disabled": false,
    "language_visualforce_default_beautifier": "Pretty Diff",
    "language_visualforce_beautify_on_save": false,
    "language_xml_disabled": false,
    "language_xml_default_beautifier": "Pretty Diff",
    "language_xml_beautify_on_save": false
}

Results

Beautified File Contents:

<%= content_for :additional_javascript_libraries do %>
<%= javascript_include_tag "a/b" %>
<% end %>

<% @items.each do |item| %>
<li><%= h(@item) %></li>
<% end %>

Logs:

2015-06-27T20:29:12.327Z - info: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] beautify <%= content_for :additional_javascript_libraries do %>
<%= javascript_include_tag "a/b" %>
<% end %>

<% @items.each do |item| %>
<li><%= h(@item) %></li>
<% end %>
 [ { _default: { indent_size: 2, indent_char: ' ', indent_with_tabs: false } },
  { cs: { configPath: '' },
    c: { configPath: '' },
    cpp: { configPath: '' },
    css: 
     { indent_size: 2,
       indent_char: ' ',
       selector_separator_newline: false,
       newline_between_rules: false,
       preserve_newlines: false,
       wrap_line_length: 0,
       indent_comments: true,
       force_indentation: false,
       convert_quotes: 'none',
       align_assignments: false },
    d: { configPath: '' },
    fortran: { emacs_path: '', emacs_script_path: '' },
    html: 
     { indent_inner_html: false,
       indent_size: 2,
       indent_char: ' ',
       brace_style: 'collapse',
       indent_scripts: 'normal',
       wrap_line_length: 250,
       wrap_attributes: 'auto',
       wrap_attributes_indent_size: 2,
       preserve_newlines: true,
       max_preserve_newlines: 10,
       unformatted: [Object],
       end_with_newline: false },
    java: { configPath: '' },
    js: 
     { indent_size: 2,
       indent_char: ' ',
       indent_level: 0,
       indent_with_tabs: false,
       preserve_newlines: true,
       max_preserve_newlines: 10,
       space_in_paren: false,
       jslint_happy: false,
       space_after_anon_function: false,
       brace_style: 'collapse',
       break_chained_methods: false,
       keep_array_indentation: false,
       keep_function_indentation: false,
       space_before_conditional: true,
       eval_code: false,
       unescape_strings: false,
       wrap_line_length: 0,
       end_with_newline: false },
    objectivec: { configPath: '' },
    pawn: { configPath: '' },
    perl: { perltidy_profile: '' },
    php: { cs_fixer_path: '', fixers: '', level: '' },
    python: { max_line_length: 79, indent_size: 2, ignore: [Object] },
    ruby: { indent_size: 2, indent_char: ' ' },
    rust: { rustfmt_path: '' },
    sql: { indent_size: 2, keywords: 'upper', identifiers: 'lower' },
    vala: { configPath: '' } },
  { _default: {} },
  { _default: {} },
  { _default: {} },
  { _default: {} },
  { _default: {} },
  { _default: {} },
  { _default: {} },
  { _default: {} },
  { _default: {} },
  { _default: {} },
  { _default: {} },
  { _default: {} } ] HTML (Ruby - ERB) file.html.erb undefined
2015-06-27T20:29:12.327Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee]  indent_size=2, indent_char= , indent_with_tabs=false, configPath=, configPath=, configPath=, indent_size=2, indent_char= , selector_separator_newline=false, newline_between_rules=false, preserve_newlines=false, wrap_line_length=0, indent_comments=true, force_indentation=false, convert_quotes=none, align_assignments=false, configPath=, emacs_path=, emacs_script_path=, indent_inner_html=false, indent_size=2, indent_char= , brace_style=collapse, indent_scripts=normal, wrap_line_length=250, wrap_attributes=auto, wrap_attributes_indent_size=2, preserve_newlines=true, max_preserve_newlines=10, unformatted=[a, sub, sup, b, i, u], end_with_newline=false, configPath=, indent_size=2, indent_char= , indent_level=0, indent_with_tabs=false, preserve_newlines=true, max_preserve_newlines=10, space_in_paren=false, jslint_happy=false, space_after_anon_function=false, brace_style=collapse, break_chained_methods=false, keep_array_indentation=false, keep_function_indentation=false, space_before_conditional=true, eval_code=false, unescape_strings=false, wrap_line_length=0, end_with_newline=false, configPath=, configPath=, perltidy_profile=, cs_fixer_path=, fixers=, level=, max_line_length=79, indent_size=2, ignore=[E24], indent_size=2, indent_char= , rustfmt_path=, indent_size=2, keywords=upper, identifiers=lower, configPath=, , , , , , , , , , , , 
2015-06-27T20:29:12.328Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] [ { name: 'ERB',
    namespace: 'erb',
    fallback: [ 'html' ],
    grammars: [ 'HTML (Ruby - ERB)', 'HTML (Rails)' ],
    extensions: [ 'erb' ],
    defaultBeautifier: 'Pretty Diff',
    options: [],
    beautifiers: 
     [ 'HTML Beautifier',
       'Pretty Diff',
       'Pretty Diff',
       'Pretty Diff',
       'Pretty Diff',
       'Pretty Diff',
       'Pretty Diff',
       'Pretty Diff',
       'Pretty Diff',
       'Pretty Diff',
       'Pretty Diff',
       'Pretty Diff' ] } ] 'HTML (Ruby - ERB)' 'erb'
2015-06-27T20:29:12.328Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] Language ERB supported
2015-06-27T20:29:12.328Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] getOptions selections [ 'html', 'erb' ] indent_size=2, indent_char= , indent_with_tabs=false, configPath=, configPath=, configPath=, indent_size=2, indent_char= , selector_separator_newline=false, newline_between_rules=false, preserve_newlines=false, wrap_line_length=0, indent_comments=true, force_indentation=false, convert_quotes=none, align_assignments=false, configPath=, emacs_path=, emacs_script_path=, indent_inner_html=false, indent_size=2, indent_char= , brace_style=collapse, indent_scripts=normal, wrap_line_length=250, wrap_attributes=auto, wrap_attributes_indent_size=2, preserve_newlines=true, max_preserve_newlines=10, unformatted=[a, sub, sup, b, i, u], end_with_newline=false, configPath=, indent_size=2, indent_char= , indent_level=0, indent_with_tabs=false, preserve_newlines=true, max_preserve_newlines=10, space_in_paren=false, jslint_happy=false, space_after_anon_function=false, brace_style=collapse, break_chained_methods=false, keep_array_indentation=false, keep_function_indentation=false, space_before_conditional=true, eval_code=false, unescape_strings=false, wrap_line_length=0, end_with_newline=false, configPath=, configPath=, perltidy_profile=, cs_fixer_path=, fixers=, level=, max_line_length=79, indent_size=2, ignore=[E24], indent_size=2, indent_char= , rustfmt_path=, indent_size=2, keywords=upper, identifiers=lower, configPath=, , , , , , , , , , , , 
2015-06-27T20:29:12.329Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] true indent_size=2, indent_char= , indent_with_tabs=false
2015-06-27T20:29:12.329Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options html undefined
2015-06-27T20:29:12.329Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options html indent_size=2, indent_char= , indent_with_tabs=false
2015-06-27T20:29:12.329Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options erb undefined
2015-06-27T20:29:12.330Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options erb indent_size=2, indent_char= , indent_with_tabs=false
2015-06-27T20:29:12.330Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] true configPath=, configPath=, configPath=, indent_size=2, indent_char= , selector_separator_newline=false, newline_between_rules=false, preserve_newlines=false, wrap_line_length=0, indent_comments=true, force_indentation=false, convert_quotes=none, align_assignments=false, configPath=, emacs_path=, emacs_script_path=, indent_inner_html=false, indent_size=2, indent_char= , brace_style=collapse, indent_scripts=normal, wrap_line_length=250, wrap_attributes=auto, wrap_attributes_indent_size=2, preserve_newlines=true, max_preserve_newlines=10, unformatted=[a, sub, sup, b, i, u], end_with_newline=false, configPath=, indent_size=2, indent_char= , indent_level=0, indent_with_tabs=false, preserve_newlines=true, max_preserve_newlines=10, space_in_paren=false, jslint_happy=false, space_after_anon_function=false, brace_style=collapse, break_chained_methods=false, keep_array_indentation=false, keep_function_indentation=false, space_before_conditional=true, eval_code=false, unescape_strings=false, wrap_line_length=0, end_with_newline=false, configPath=, configPath=, perltidy_profile=, cs_fixer_path=, fixers=, level=, max_line_length=79, indent_size=2, ignore=[E24], indent_size=2, indent_char= , rustfmt_path=, indent_size=2, keywords=upper, identifiers=lower, configPath=
2015-06-27T20:29:12.330Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options html indent_inner_html=false, indent_size=2, indent_char= , brace_style=collapse, indent_scripts=normal, wrap_line_length=250, wrap_attributes=auto, wrap_attributes_indent_size=2, preserve_newlines=true, max_preserve_newlines=10, unformatted=[a, sub, sup, b, i, u], end_with_newline=false
2015-06-27T20:29:12.331Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options html indent_inner_html=false, indent_size=2, indent_char= , brace_style=collapse, indent_scripts=normal, wrap_line_length=250, wrap_attributes=auto, wrap_attributes_indent_size=2, preserve_newlines=true, max_preserve_newlines=10, unformatted=[a, sub, sup, b, i, u], end_with_newline=false
2015-06-27T20:29:12.331Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options erb undefined
2015-06-27T20:29:12.331Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options erb indent_inner_html=false, indent_size=2, indent_char= , brace_style=collapse, indent_scripts=normal, wrap_line_length=250, wrap_attributes=auto, wrap_attributes_indent_size=2, preserve_newlines=true, max_preserve_newlines=10, unformatted=[a, sub, sup, b, i, u], end_with_newline=false
2015-06-27T20:29:12.331Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] true 
2015-06-27T20:29:12.331Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options html undefined
2015-06-27T20:29:12.331Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options html
2015-06-27T20:29:12.331Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options erb undefined
2015-06-27T20:29:12.331Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options erb
2015-06-27T20:29:12.331Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] true 
2015-06-27T20:29:12.331Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options html undefined
2015-06-27T20:29:12.331Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options html
2015-06-27T20:29:12.331Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options erb undefined
2015-06-27T20:29:12.331Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options erb
2015-06-27T20:29:12.331Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] true 
2015-06-27T20:29:12.332Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options html undefined
2015-06-27T20:29:12.332Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options html
2015-06-27T20:29:12.332Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options erb undefined
2015-06-27T20:29:12.332Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options erb
2015-06-27T20:29:12.332Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] true 
2015-06-27T20:29:12.332Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options html undefined
2015-06-27T20:29:12.332Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options html
2015-06-27T20:29:12.332Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options erb undefined
2015-06-27T20:29:12.332Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options erb
2015-06-27T20:29:12.332Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] true 
2015-06-27T20:29:12.332Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options html undefined
2015-06-27T20:29:12.332Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options html
2015-06-27T20:29:12.332Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options erb undefined
2015-06-27T20:29:12.332Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options erb
2015-06-27T20:29:12.332Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] true 
2015-06-27T20:29:12.332Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options html undefined
2015-06-27T20:29:12.332Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options html
2015-06-27T20:29:12.332Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options erb undefined
2015-06-27T20:29:12.332Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options erb
2015-06-27T20:29:12.332Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] true 
2015-06-27T20:29:12.332Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options html undefined
2015-06-27T20:29:12.332Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options html
2015-06-27T20:29:12.332Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options erb undefined
2015-06-27T20:29:12.333Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options erb
2015-06-27T20:29:12.333Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] true 
2015-06-27T20:29:12.333Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options html undefined
2015-06-27T20:29:12.333Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options html
2015-06-27T20:29:12.333Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options erb undefined
2015-06-27T20:29:12.333Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options erb
2015-06-27T20:29:12.333Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] true 
2015-06-27T20:29:12.333Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options html undefined
2015-06-27T20:29:12.333Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options html
2015-06-27T20:29:12.333Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options erb undefined
2015-06-27T20:29:12.333Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options erb
2015-06-27T20:29:12.333Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] true 
2015-06-27T20:29:12.333Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options html undefined
2015-06-27T20:29:12.333Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options html
2015-06-27T20:29:12.333Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options erb undefined
2015-06-27T20:29:12.333Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options erb
2015-06-27T20:29:12.333Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] true 
2015-06-27T20:29:12.333Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options html undefined
2015-06-27T20:29:12.333Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options html
2015-06-27T20:29:12.333Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options erb undefined
2015-06-27T20:29:12.333Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options erb
2015-06-27T20:29:12.333Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] true 
2015-06-27T20:29:12.333Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options html undefined
2015-06-27T20:29:12.334Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options html
2015-06-27T20:29:12.334Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options erb undefined
2015-06-27T20:29:12.334Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options erb
2015-06-27T20:29:12.334Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] HTML (Ruby - ERB) name=ERB, namespace=erb, fallback=[html], grammars=[HTML (Ruby - ERB), HTML (Rails)], extensions=[erb], defaultBeautifier=Pretty Diff, options=[], beautifiers=[HTML Beautifier, Pretty Diff, Pretty Diff, Pretty Diff, Pretty Diff, Pretty Diff, Pretty Diff, Pretty Diff, Pretty Diff, Pretty Diff, Pretty Diff, Pretty Diff]
2015-06-27T20:29:12.334Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] options indent_size=2, indent_char= , indent_with_tabs=false, indent_inner_html=false, brace_style=collapse, indent_scripts=normal, wrap_line_length=250, wrap_attributes=auto, wrap_attributes_indent_size=2, preserve_newlines=true, max_preserve_newlines=10, unformatted=[a, sub, sup, b, i, u], end_with_newline=false
2015-06-27T20:29:12.334Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] beautifiers silly=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, debug=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, verbose=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, info=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, warn=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, error=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, onLogging=function (handler) {
        var subscription;
        subscription = emitter.on('logging', handler);
        return subscription;
      }, silly=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, debug=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, verbose=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, info=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, warn=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, error=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, onLogging=function (handler) {
        var subscription;
        subscription = emitter.on('logging', handler);
        return subscription;
      }, languages=[ERB], silly=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, debug=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, verbose=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, info=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, warn=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, error=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, onLogging=function (handler) {
        var subscription;
        subscription = emitter.on('logging', handler);
        return subscription;
      }, silly=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, debug=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, verbose=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, info=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, warn=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, error=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, onLogging=function (handler) {
        var subscription;
        subscription = emitter.on('logging', handler);
        return subscription;
      }, languages=[CSV, ERB, EJS, HTML, XML, Spacebars, JSX, JavaScript, CSS, SCSS, Sass, JSON, TSS, Twig, LESS, Swig, Visualforce]
2015-06-27T20:29:12.335Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] ERB file.html.erb { indent_size: 2,
  indent_char: ' ',
  indent_with_tabs: false,
  indent_inner_html: false,
  brace_style: 'collapse',
  indent_scripts: 'normal',
  wrap_line_length: 250,
  wrap_attributes: 'auto',
  wrap_attributes_indent_size: 2,
  preserve_newlines: true,
  max_preserve_newlines: 10,
  unformatted: [ 'a', 'sub', 'sup', 'b', 'i', 'u' ],
  end_with_newline: false } indent_size=2, indent_char= , indent_with_tabs=false, configPath=, configPath=, configPath=, indent_size=2, indent_char= , selector_separator_newline=false, newline_between_rules=false, preserve_newlines=false, wrap_line_length=0, indent_comments=true, force_indentation=false, convert_quotes=none, align_assignments=false, configPath=, emacs_path=, emacs_script_path=, indent_inner_html=false, indent_size=2, indent_char= , brace_style=collapse, indent_scripts=normal, wrap_line_length=250, wrap_attributes=auto, wrap_attributes_indent_size=2, preserve_newlines=true, max_preserve_newlines=10, unformatted=[a, sub, sup, b, i, u], end_with_newline=false, configPath=, indent_size=2, indent_char= , indent_level=0, indent_with_tabs=false, preserve_newlines=true, max_preserve_newlines=10, space_in_paren=false, jslint_happy=false, space_after_anon_function=false, brace_style=collapse, break_chained_methods=false, keep_array_indentation=false, keep_function_indentation=false, space_before_conditional=true, eval_code=false, unescape_strings=false, wrap_line_length=0, end_with_newline=false, configPath=, configPath=, perltidy_profile=, cs_fixer_path=, fixers=, level=, max_line_length=79, indent_size=2, ignore=[E24], indent_size=2, indent_char= , rustfmt_path=, indent_size=2, keywords=upper, identifiers=lower, configPath=, , , , , , , , , , , , 
2015-06-27T20:29:12.335Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/index.coffee] beautifier Pretty Diff silly=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, debug=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, verbose=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, info=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, warn=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, error=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, onLogging=function (handler) {
        var subscription;
        subscription = emitter.on('logging', handler);
        return subscription;
      }, silly=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, debug=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, verbose=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, info=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, warn=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, error=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, onLogging=function (handler) {
        var subscription;
        subscription = emitter.on('logging', handler);
        return subscription;
      }, languages=[ERB], silly=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, debug=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, verbose=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, info=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, warn=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, error=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, onLogging=function (handler) {
        var subscription;
        subscription = emitter.on('logging', handler);
        return subscription;
      }, silly=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, debug=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, verbose=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, info=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, warn=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, error=function (msg) {
      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])
      var args = [level].concat(Array.prototype.slice.call(arguments));
      target.log.apply(target, args);
    }, onLogging=function (handler) {
        var subscription;
        subscription = emitter.on('logging', handler);
        return subscription;
      }, languages=[CSV, ERB, EJS, HTML, XML, Spacebars, JSX, JavaScript, CSS, SCSS, Sass, JSON, TSS, Twig, LESS, Swig, Visualforce]
2015-06-27T20:29:12.337Z - verbose: [/media/slave/users/rails/.atom/packages/atom-beautify/src/beautifiers/beautifier.coffee] prettydiff inchar= , insize=2, objsort=false, preserve=all, cssinsertlines=undefined, comments=noindent, force=undefined, quoteConvert=undefined, vertical=none, wrap=250, space=undefined, source=<%= content_for :additional_javascript_libraries do %>
<%= javascript_include_tag "a/b" %>
<% end %>

<% @items.each do |item| %>
<li><%= h(@item) %></li>
<% end %>
, lang=html_ruby, mode=beautify
jmenges commented 9 years ago

Not Galvin, but i might be help. You are currently using pretty diff for beautification, which produces the same results for me. Switching the erb default beautifier to HTML Beautifier indents correctly for me.

Glavin001 commented 9 years ago

Thanks for helping out @jmenges. I also recommend trying out other beautifiers. Language Config - ERB - Default Beautifier option in the Atom Beautify package settings.

/cc @prettydiff

prettydiff commented 9 years ago

Currently, I am not looking at any sort of naming to determine indentation. I am only looking at syntax. 99% of the time this is fine, and ERB is an exception. For instance, in the first example:

<%= content_for :additional_javascript_libraries do %>
<%= javascript_include_tag "a/b" %>
<% end %>

What makes <%= content_for a start tag that imposes an extra step of indentation where <%= javascript_include_tag doesn't?

blelump commented 9 years ago

Thanks guys for your response.

@prettydiff , in this case content_for takes a block of code (do; end syntax) as an argument. The same rules apply to pure Ruby code and ERB templates are not an exception here.

edit: OK, finally got it. According to the readme, I've still tried to modify .jsbeautifyrc, whereas all these options apply straight to Atom config. Perhaps it's due to I've just started to use Atom... :-)

ps. I've seen other issues somewhat related this topic and some of them are related to how RVM (Ruby Version Manager) works, e.g https://github.com/Glavin001/atom-beautify/issues/232 . RVM is usually installed within user environment and its scope is limited to the user shell so it really depends on how one would run Atom.

krazedkrish commented 8 years ago

@blelump your config for .jsbeautifyrc seems is very good. can you share the latest config. you might have solved problem for content_for and do; end as well.

prettydiff commented 8 years ago

I am looking at adding indentation support for ERB now, but I need something to make it happen. Please list all tags or keywords that could cause an increase in indentation, such as: for, if, and do. Also will tags that cause indentation always be delimited as <%=? I noticed that ERB has a couple of different delimiters: https://docs.puppet.com/puppet/latest/reference/lang_template_erb.html#tags

Glavin001 commented 8 years ago

@prettydiff : Could Pretty Diff provide an option to change which tags are formatted or not? Similar to unformatted option: https://github.com/Glavin001/atom-beautify/blob/master/docs/options.md#unformatted Something to keep in mind, although I'm sure you likely consider that already. Thanks!

prettydiff commented 8 years ago

I could provide such an option, but as I understand the issue of this thread it is more about the tags supplying indentation.

I am also unclear on the unformatted option. Does this option prevent formatting of the tags internals or the tags internals plus everything before its end tag?

Glavin001 commented 8 years ago

Yeah, my comment was somewhat unrelated to this particular issue. More so in general, it reminded me to ask you about Pretty Diff supporting the unformatted option that JS-Beautify does. The more Pretty Diff support the better! :smiley:

I am also unclear on the unformatted option.

You are correct with:

this option prevent formatting of the tags internals

prettydiff commented 8 years ago

I have this option added in branch 2.0.4 and will publish soon.

prettydiff commented 7 years ago

It seems this option/feature was added to Pretty Diff last year. The latest version of Pretty Diff recently landed in Atom Beautify.