@amcasey: Preserve leading trivia when organizing imports
When organizing imports, we used to move the leading and trailing trivia
of each individual import with that import as it was repositioned or
deleted. This had the unfortunate effect of repositioning or deleting
the header comment of the file.
Our new approach is to leave the leading trivia of the first import
ahead of the resulting block of imports (i.e. it no longer follows the
first import as it is repositioned or deleted). Trailing trivia on the
first import and trivia on subsequent imports are treated as before.
There are times when the directory watcher for failed lookup locations isnt invoked and is not very determinitstic
So as a fallback, when we receive typeRoots watch event, handle failed lookup locations as well
* Track thisContainer for this-property-assignments in JS
Previously it would update on every block, not just those that could
bind `this`.
In addition, if the constructor symbol still can't be found, then no
binding happens. This is usually OK because people don't add new
properties in methods too often.
* Update additional baselines
* Add lib:dom to new test
* Address PR comments
* Correct new name for saveThisParentContainer
* Add test case and temporarily disable inference
(Inference of class members from this-assignments inside a
prototype-assigned function.)
* Update baselines
* In blocks and source files, bind functions first
* Add tests from other bugs
* Remove temporary failsafe
* Update tests to restore intent and clean up errors
* Restore intent even better
* Restore intent even better x2
* Add missed baselines
* Undo 'any' inference propagation
Removing this only changes one test slightly, and fixes JQuery types,
which rely on the old method of inference.
* Add jquery regression test and update baselines
* Restore any inference propagation to wildcard only
* Support services settings
* Code review
* More review
* Use different names for Options and GetCompletionsAtPositionOptions (todo: come up with better names)
* More renames
* More renaming
* Support quote style in importFixes
* Add `importModuleSpecifierPreference` option
* Support quote style for `throw new Error('Method not implemented.')` (#18169)
* options -> preferences