Replaces many loops of the form:
```js
for (let i = 0; i < elements.length; ++i) {
const i = elements[i];
...
}
```
with:
```js
for (const element of elements) {
...
}
```
Mix of a horrible regex based find/replace and manual touch ups
* Allow Emmet "Go to matching pair" to work inside script tags
* Refactor template script detection and node extraction.
* Futher refactoring of Emmet template identification logic.
* Emmet: select entire script tag when unable to idnetify an inner element
* Remove redundant nullity check
* When wrapping using Emmet, don't consider lines with no characters selected.
* Adding unit tests
* Adding support for multicursors in wrapIndividualLinesWithAbbreviation
* Moving check in multicursor wrapIndividualLines
* Make sure when expanding several abbreviations with different snippets that the edits are applied in reverse order.
* Revert "Fix for Emmet's wrap with abbreviation inserting extra spaces (#43345)"
This reverts commit 7420a04c64.
* Adding ability for emmet to wrap with abbreviation in real time.
Currently it's only working for single cursor.
* Fixes to wrap in real time:
- Removed flickering when typing abbreviation
- Removed tabstops
- Fixed bug when wrapping multiline text
* Fixes to a few issues.
- Added checks for not reverting previews more times than needed, that was causing extra text to be deleted.
- Fixed issue when wrapping nodes with multiple level of indentation.
- Removed all the undo commands. Now all the logic of going back to the original state is handled by revertPreview.
* Ammend for previous revert
* Reapplying reverted commit, fixing the bug for this branch's version
Refactoring some of the code, now a single object contains the current and original ranges, as well as the original content to wrap
* Adding multicursor support
* Renaming, refactoring and other stuff
* More refactorings
* More renaming and refactoring
* Replacing placeholders when previewing, simplifying the extracting of preceeding whitespace, added a check for validity of expandedtext on each selection.
* More refactoring
* Adding a comment.
* Readding test removed by mistake.
* Refactoring
* Carefully reverting changes in yarn.lock
* carefully but right
* Fixing trailing spaces in expansion
* Emmet - Fixing extra spaces when wrapping with abbreviation
* Avoid fetching tag if there's no need to ezpand again
* Replacing several 'indexof's with regexp
* Making regexp for tagname stricter. Removing unnecessary check.
* Removing extra call to expand.
* tiny changes
* tinitiny changes
* Start moving emmet to strict mode
First part of moving the emmet extension to strict mode TypeScript. This change focuses on adding annotations when things can be undefined and removing jsdoc type comments
* Fix a few more errors
* Fix compile errors
* Tiny updates