* Extract custom tests from tests/flow/
Approach:
1. Remove all .js files in tests/flow except .snap.js files.
2. Copy over all .js files from tests/ in the flow repo.
3. Go through the diff looking for deletions.
- It was easy to see which deletions were due to changes in the tests
due to updates in the flow repo.
- For the rest of the deletions, I used `git blame` to verify that
they had been added by us since the flow tests were copied over.
This makes tests/flow/ simply a copy of the tests from the flow repo,
making it easier to sync with the upstream flow tests in the future.
* Add a script for syncing the flow tests
* Sync the flow tests
* Add check method to Prettier. Make CLI use that method for list-different
* Catch in check and return false if it throws
* Remove catch/finally from Prettier list-different bin
* remove try catch in prettier bin for list-different
* Moved Vim info to its own editor folder, started drafting new README
* Finished first draft, ready for PR
* Testing Readme layout
* Removed vim folder
* update the README to add a pre-commit hook
* remove comments
* better wording
* better quoting
* consistent prettier binary
* move the tr and fix the quoting
* fix quotes one last time
When reading the Readme file I noticed that the first `foo` method has only 3 args but every other `foo` method has 4. Therefore, I am adding a 4th arg to the first `foo` method for consistency.
* docs: add related projects
I think it may help adoption of `prettier` if
people don't have to change their entire coding
style all at once. These projects enable that.
* docs: add prettier-with-tabs to related projects
The previous API was inconsistent. The new one is
```js
--parser flow
--parser babylon
{parser: 'flow'}
{parser: 'babylon'}
```
if we ever want to add new parsers in the future it'll allow that more easily.
I put a console.log in parser.js in both functions and tested that the test suite worked both with and without the change in run_spec. I also tested that both the previous and new command line options are working.
At some point in the future we'll likely want to get rid of the old api but might as well keep supporting it so we don't break anyone for now.