Add document highlight to serverless IDE
Summary:
Add the ability for serverless IDE to respond to document highlight requests.
This diff enables serverless IDE to respond to `document/highlight` LSP requests, which ... aren't tremendously useful. They take the form of a very faint grey highlight that occurs when you single click on a variable or class name. You can get much more rapid results by double-clicking, which identifies all matching strings in the file and doesn't require a language server.
The grey highlights are so subtle as to be almost unnoticeable.
Currently, the performance of anything that calls `ServerIdeContext.update` is not great. This diff exposes that problem since it has to recheck the file in order to find references properly. From conversation with Waleed Khan we will tackle that performance issue separately.
Given the low experiential value of document highlight, we reserve the option to disable it if that results in a better experience.
Reviewed By: arxanas
Differential Revision:
D16382381
fbshipit-source-id:
98d487e2c4b1e57eb9b7c77d0a3e659d95db4680