* Add CompletionItemKind.Folder
Fixes#17435
Adds a new completion item kind for folder/directories. This is useful for path intellisense
For the icons, I copied the icons for folders into the suggestion icon set. Let me know if new ones are needed instead.
* Fix monaco.d.ts
Fixes#16888
**Bug**
The js/ts completion provide can currently only complete whole words (as defined by `TextDocument.getWordRangeAtPosition`). This causes completion of literal string types to fail if they are not a whole word.
**Fix**
Instead of relaying on the default range, compute a range by taking the longest match of the replacement text from the current position.
* Workaround for #16909Fixes#16909
Worksaround TS2.1+ returning strings in the occurrences response we use for highlighting occurrences in documents
The workaround is to look at the text surrounding the first occurrence to see if it is a string literal.
* Small cleanup
* Add gate for ts 2.1.x
* Added check to make sure we don't compare the same character
Issue #2092
**bug**
With typescript.useCodeSnippetsOnMethodSuggest enabled, we will automatically complete function calls inside some contexts where they should not be completed. For example, destructing assigment.
**fix**
Add a quickinfo check on the position before attempting to insert a function call. Create a blacklist of invalid contexts. Otherwise, assume that we want to complete the function call.
Fixes#16432
Introducing during null check refeactoring. Before the promise was set to null inside the promise. I added a rejection because the promise value should never be used before that point, but it seems that introduced a regression.
Fix is to use `p` inside of the promise instead.
- previously PHP wasn't working at all because we don't appear to properly support grammar injections. This issue was addressed by pointing to a specific repository key (#languages)
- ensure "fuzzy" syntax highlighting for PHP/HTML code so that script start tags are not required