Commit Graph

1633 Commits (d86f39cb83617465c2937eb18c8d5cb4ce49da40)

Author SHA1 Message Date
James Long bbe2524dab Merge pull request #134 from vjeux/generics
Support method generics on babylon parser
2017-01-12 13:50:10 -05:00
Christopher Chedeau 291440b730 Support method generics on babylon parser
This is working on the flow parser but not babylon

```js
echo 'class C<T> { submit<T>() { } }' | ./bin/prettier.js --stdin
class C<T> {
  submit<T>() {}
}
```
2017-01-12 07:48:26 -08:00
Christopher Chedeau afca3d7e7a Minimize string escapes
If there you are opting in for double quote but there's a string with a double quote in it, it's better to swap to a single quote to avoid having too many `\`. Note that if there are both single and double quotes in the string, we should use the default string instead.

Fixes #139
2017-01-12 07:44:16 -08:00
James Long d25881530f Merge pull request #126 from vjeux/jsx_quotes
Always use double quotes for JSX and properly escape
2017-01-12 10:30:42 -05:00
James Long 809aabc3bd Merge pull request #133 from vjeux/generic_babylon
Support type annotation for rest argument on babylon parser
2017-01-12 10:28:57 -05:00
James Long 1ccf6b0344 Merge pull request #90 from bakkot/property-names
Fix #79: omit unnecessary quotes in property names
2017-01-12 09:11:36 -05:00
Christopher Chedeau 35fb28bef2 Support type annotation for rest argument on babylon parser
This is working on the flow parser but not babylon

```js
echo 'function f(...flags: Array<boolean>) {}' | ./bin/prettier.js --stdin
function f(...flags: Array<boolean>) {}
```
2017-01-11 15:05:28 -08:00
Christopher Chedeau a6cdede9f6 Always use double quotes for JSX and properly escape
JSX quotes are unfortunately using html escaping. Also, we should disregard the single-quote option for JSX quotes as we always want double quotes.
2017-01-11 11:40:24 -08:00
Kevin Gibbons 18f54005f6 Do not unquote string properties 2017-01-11 09:31:34 -08:00
Benjamin Tan 24c3af8821 Remove trailing whitespace in broken arrow function expressions.
Closes #103.
2017-01-11 23:28:13 +08:00
James Long c2458e7dc9 Merge pull request #106 from demoneaux/fix-directives-newlines
Fix misprinting of directives.
2017-01-11 10:20:09 -05:00
James Long 944659194b Merge pull request #105 from demoneaux/fix-eof
Add newline to EOF.
2017-01-11 10:15:15 -05:00
Benjamin Tan 030a70fd38 Fix misprinting of directives.
Closes #29.
2017-01-11 22:47:22 +08:00
Benjamin Tan 03414d64cc Add newline to EOF.
Closes #55.
2017-01-11 22:39:32 +08:00
Benjamin Tan d56365dd54 Add semicolons to `export` declarations.
Closes #22.
2017-01-11 20:43:27 +08:00
Kevin Gibbons be8f65d23e Format property names consistently 2017-01-10 22:29:54 -08:00
James Long 10a8cd9122 Merge pull request #45 from danharper/fix38
Print Flow types with no name (fixes #38)
2017-01-10 23:51:42 -05:00
James Long 34dc37a816 Merge pull request #67 from jmorrell/flow-type-declarations
Make union types pretty again
2017-01-10 23:38:27 -05:00
Dan Harper 7c21dd037f Fix import & export bracket spacing (fixes #24) 2017-01-11 00:32:57 +00:00
James Long 3f949907a0 Merge pull request #72 from michaelficarra/GH-71
fixes #71: don't indent block statements which are children of case clauses
2017-01-10 18:56:50 -05:00
James Long d2d6def9be Revert "fixes #49: omit new parens when it has no arguments"
This reverts commit b5392f9468.
2017-01-10 18:53:03 -05:00
Michael Ficarra 0461b3e6cd fixes #71: don't indent block stmts which are children of case clauses 2017-01-10 15:26:12 -08:00
James Long e3b41dd6ca Merge pull request #57 from michaelficarra/GH-56
fixes #56: indent cases inside switch statements
2017-01-10 17:49:46 -05:00
Dan Harper 867b829965 Print Flow types with no name (fixes #38) 2017-01-10 22:49:25 +00:00
James Long 321bd6a9fa Allow block-less arrow function expression to break (fixes #61) 2017-01-10 16:46:33 -05:00
Jeremy Morrell 9213d5ad7f First attempt at making union types prettier 2017-01-10 18:31:29 -03:00
James Long 4825e56227 Allow multiple nested arrow functions to be expanded as last call arg (fixes #65) 2017-01-10 16:20:24 -05:00
James Long c904281027 Remove use of `fromString(...).join` in a few places (fixes #52) 2017-01-10 15:28:28 -05:00
Michael Ficarra fc521c4d03 fixes #56: indent cases inside switch statements 2017-01-10 12:03:36 -08:00
Michael Ficarra b5392f9468 fixes #49: omit new parens when it has no arguments 2017-01-10 11:14:39 -08:00
James Long 4abb8ce544 Support back to node v4 2017-01-10 12:18:22 -05:00
James Long a0edc2a520 Document more CLI flags in usage text 2017-01-09 23:22:58 -05:00
James Long a4643f1bae Add special case for comment at top of file; regenerate snapshots 2017-01-09 21:49:26 -05:00
James Long 74fc539e1a Fix usage with the Flow parser 2017-01-09 21:24:42 -05:00
James Long 27af6be07a Apply bracketSpacing option to array literals 2017-01-09 20:58:51 -05:00
James Long 5c53a2d59c Use babylon directly and convert recast's comment algorith to use our own API 2017-01-09 17:37:45 -05:00
James Long 7ad69b05ca Tweak JSX attributes and fix bug with function params 2017-01-09 14:28:23 -05:00
James Long f40f5f11d6 Add space before self-closing a JSXElement 2017-01-09 14:16:28 -05:00
James Long 892d070313 Only allow ArrowFunctionExpression types to break themselves in CallExpression's if they using a block 2017-01-09 14:01:14 -05:00
James Long 994432c193 Improve printing of comments 2017-01-09 13:47:02 -05:00
James Long 542c0ee7b9 Reprint pp.js and printer.js 2017-01-09 12:09:04 -05:00
James Long aed3c1af71 Handle curly brackets in SwitchCase types 2017-01-09 12:07:39 -05:00
James Long 6b582f808c Don't prioritize breaking on last arg if it's a CallExpression 2017-01-09 11:58:47 -05:00
James Long bcd44b4368 Keep blank lines from original source 2017-01-09 09:46:09 -05:00
James Long 8a5f3d1b10 Merge pull request #4 from jlongster/call-chain
Initial attempt at chaining call expressions
2017-01-08 14:44:58 -05:00
James Long c10681d148 Pull out special chain printing into utility function 2017-01-08 14:44:44 -05:00
James Long fe4484d2e3 Update call/member expression chaining heuristic to account for NewExpression's 2017-01-08 14:00:41 -05:00
James Long d5ab6ab921 Detect chained call expressions and format them specifically 2017-01-08 13:56:57 -05:00
Christopher Chedeau c5ff571c6d Fix missing option argument 2017-01-06 19:56:30 -08:00
James Long 9c72530589 Reduce duplicate code for printing intersection & union types 2017-01-05 15:11:40 -05:00
James Long 5c39dc02e6 Improve intersection and union type annotation 2017-01-05 14:43:05 -05:00
James Long 7b0ec6d935 Break ternary ops across newlines if needed 2017-01-05 12:32:56 -05:00
James Long b5ae965274 Reprint pp.js 2017-01-05 12:21:57 -05:00
James Long 0d4d21cc68 Print trailing commas everywhere if enabled 2017-01-05 12:19:30 -05:00
James Long fcd5436b38 Improve if/else printing and other clauses 2017-01-05 12:10:14 -05:00
James Long fc186c8df8 Add option for trailing commas in objects 2017-01-05 11:36:41 -05:00
James Long 9596695a12 Rename quotes config option to 2017-01-05 10:01:43 -05:00
James Long f1feb24dff Reprint printer.js 2017-01-04 22:27:25 -05:00
James Long 835befebf5 Always output comment newlines, fix edge case with function param output 2017-01-04 22:26:46 -05:00
James Long 67e2f6d482 Simplify how options are normalized (fixes default options) 2017-01-04 20:45:28 -05:00
James Long 599b4311bb Allow single quotes with --single-quotes option 2017-01-04 17:32:05 -05:00
James Long b550f1d088 Use , to separate type fields instead of ; 2017-01-04 17:26:44 -05:00
James Long 8326963f2d Add option to include spaces inside object/array literals, default to false 2017-01-04 17:23:07 -05:00
James Long 98fef67b4e Fix a bug with expanding function args by passing group opts properly 2017-01-04 17:08:28 -05:00
James Long 898009ba66 Consistently print function parameters the correct way 2017-01-04 16:52:49 -05:00
James Long 588c8ce7cd Add `conditionalGroup` to allow manually specifying multiple representations of a document; use it to support expanding last parameter of functions 2017-01-04 15:24:10 -05:00
James Long fa16988401 If function declaration is too long, break all args on separate lines; also fix small bug in output cleansing 2017-01-01 20:33:53 -05:00
James Long de4d7ac799 Reprint printer.js 2016-12-31 14:38:58 -05:00
James Long 5efa13a10c Never print blank lines with spaces 2016-12-31 14:38:33 -05:00
James Long a9d06355ee Fix spacing algorithm 2016-12-30 23:10:22 -05:00
James Long 7451255906 Bootstrapped! Format the printer with the printer itself 2016-12-30 23:03:22 -05:00
James Long c9e24eb477 Add spaces around certain statements, add --write option, and more 2016-12-30 23:01:07 -05:00
James Long 7ea2348b03 Various fixes with destructuring default, JSX, and more; all tests pass! 2016-12-30 17:00:11 -05:00
James Long 32d4200f60 Wrap class expressions in parens if needed 2016-12-30 14:25:52 -05:00
James Long 4dfaf9da98 Fix a few parens detection and more predicates 2016-12-30 14:10:52 -05:00
James Long ed57110ef5 Add type parameters on anon functions 2016-12-30 13:41:45 -05:00
James Long e972a7f0b6 Fix object and predicate annotations 2016-12-30 13:32:43 -05:00
James Long 6715abca76 Tweak variable declaration printing 2016-12-30 11:56:42 -05:00
James Long 73755a686d Fix type annotation for optional function type properties 2016-12-30 00:08:03 -05:00
James Long 11a01552a4 Lots of bug fixes (will do smaller commits from now on) 2016-12-30 00:01:44 -05:00
James Long 88dc2681f6 Make all tests pass the crash test and fix a few more bugs 2016-12-27 21:40:04 -05:00
James Long 599e5821c1 Optimize jest testing and implement more fixes 2016-12-27 13:28:04 -05:00
James Long 9b4535e9f8 Merge in forked recast printer that uses Wadler's algorithm 2016-12-23 13:38:10 -05:00