On Tue, Aug 25, 2009 at 1:59 AM, <[email protected]> wrote:
>
> Reviewers: MikeSamuel,
>
> Description:
> Currently, the js prettyprint renderer indents something like this:
>
>    {
>      ___.loadModule({
>                       'instantiate': function (___, IMPORTS___) {
>                         var $v = ___.readImport(IMPORTS___, '$v', {
>                               'getOuters': {
>                                 '()': { }
>                               }
>                             });
>                       }
>                     });
>    }
>
> The deep indentation is awkward in several ways, especially when
> it gets close to the 80-column limit and the prettyprinter ends
> up emitting 2-3 tokens per line in a skinny far-right column.
>
> This change makes the prettyprinter indent like this:
>
>    {
>      ___.loadModule({
>          'instantiate': function (___, IMPORTS___) {
>            var $v = ___.readImport(IMPORTS___, '$v', {
>                'getOuters': {
>                  '()': { }
>                }
>              });
>          }
>        });
>    }
>
> 1. Each open bracket adds 2 to indent.
> 2. Continued statements add 2 to indent.

Yay!

>
> This is an example of the difference, output from 'wc':
>   lines   words   chars
>    4376   16944  120763 jquery-1.3.2.js
>   15788   22446 1283779 jquery-1.3.2.out.js (old)
>    6336   20607  389524 jquery-1.3.2.out.js (new)
>
> Using the minifier will be smaller, of course.
> This change is about improving the debugging experience.
>
> Please review this at http://codereview.appspot.com/110079
>
> Affected files:
>  M     src/com/google/caja/render/Indent.java
>  M     src/com/google/caja/render/Indenter.java
>  M     tests/com/google/caja/demos/applet/caja-applet-cajita-golden.js
>  M     tests/com/google/caja/demos/applet/caja-applet-valija-golden.js
>  M     tests/com/google/caja/opensocial/example-rewritten.xml
>  M     tests/com/google/caja/parser/js/rendergolden2.txt
>  M     tests/com/google/caja/parser/quasiliteral/testModule.co.js
>  M     tests/com/google/caja/plugin/HtmlEmitterTest.java
>  M     tests/com/google/caja/render/JsPrettyPrinterTest.java
>  M     tests/com/google/caja/render/sbs-golden.js
>  M     tests/com/google/caja/render/ssp-golden.txt
>  M     tests/com/google/caja/service/CajolingServiceTest.java
>
>
>

Reply via email to