* Add initial support for TOML in configuration files
* Missed brace
* Fix snapshots
* refactor: move loadToml to utils
* Use @iarna/toml
* Add tests for loadToml
* Fix test for CI
* Remove jest-extended
* Create snapshot for load-toml
* Add feat to docs
* lint docs
* Use @iarna/toml/parse-string
* Change path string
* Don't default parser to babylon
* Different default values according to version
* Fix error logging
* Add tests specifically for parser inference
* Add another test case
* Add API test
* Fix plugin resolution when path does not start with ./
* Minor consistency fix: use "if (resolvedPluginSearchDir) {...}" in load-plugins
* Use more appropriate quotes in plugin-resolution.js
* Try both local paths and node modules when resolving plugins manually
* Test bespoke plugin loading by node module name
* Simplify getFileInfo() as suggested by @j-f1
https://github.com/prettier/prettier/pull/4341#discussion_r187112707
* Implement prettier.getFileInfo() method and --file-info CLI option
* Add empty line between functions in index.js
* Support --plugin-search-dirs / pluginSearchDirs() in --file-info / getFileInfo()
* Address review comments by @ikatyang
* Fix plugin API in globally installed Prettier and introduce optional --plugin-search-dir
* Use find-parent-dir instead of find-up and test autoloading (with mocked fn)
* Add two test cases where --plugin-search-dir is not .
* Do not mutate pluginSearchDirs argument in load-plugins.js
* Do not test automatic plugin resolution as mocking of "find-parent-dir" does not work due to rollup
* Document --plugin-search-dir / pluginSearchDirs and improve spacing
* Address @ikatyang's review comments
* Fix require path for third-party
* Undo alphabetic sorting of third-party scripts
* refactor(cli): defer default value applying
* Allow plugins to override default options
* Move "defaultOptions" to top level of plugin
* Simplify implementation
* Attach plugin name
* Add pluginOptions to cli help
* Update snapshots
* Code review (immutable style)
* Add test for help output
* Use snapshot test, fix Object.assign
* Refactor to immutable style
* Add test case for automatic plugin resolution
* Add tests for applying and overriding default opts
* Remove "since" option
* Only set defaults for CLI args when no pluginDefaults are present
* Revert workaround, rebase to #4045
* Add basic documentation for `options` and `defaultOptions`
* Split out location extraction into plugin config
* Reduce set of exported function, rebase to current master
* Pass custom locStart/locEnd fn's directly to affected methods
* (wip) always use locStart/locEnd from plugin
* Convert graphql implementation
* Convert HTML implementation
* (wip) convert JS implementation
* Remove unused variables
* Continue conversion of JS implementation
* Replace "util.locStart" with direct call to "options.locStart"
* Remove util closure
* Add unit test for structure of shared util
* Fix linting error, simplify locStart/End implementations
* refactor(cli-constant): use supportOptions
* refactor(options): use supportOptions
* refactor(cli-util): use supportOptions
* fix: do not infer parser in multiparser
* chore: remove unnecessary package
* chore: trigger another travis build
* test: add kebab-case test to ensure no regression
* test: update snapshots
* Allow Plugins to preprocess text
* Actually pull up text
* Always expect the preprocessor to set the text
* Add tests for preprocessing
* Remove unused variable
* Automatically load plugins from package.json
* Fix build by adding json extension
* Fixup misuse of options argument
* Rewire graceful-fs to fs
* Document graceful-fs issue
* Alias graceful-fs to fs in Rollup