Implement documentSymbol for sIDE
commit3dcd2c0ed026c163c2a88677844f32f76f16a84e
authorTed Spence <tspence@fb.com>
Mon, 9 Sep 2019 19:01:30 +0000 (9 12:01 -0700)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Mon, 9 Sep 2019 19:16:30 +0000 (9 12:16 -0700)
treef56ad0b68a287148a995336016f72c2b2bb4a9f1
parentfec873185ce960f407dadb46405c2fe117a276c2
Implement documentSymbol for sIDE

Summary:
This diff enables the Document Symbol LSP message in serverless IDE.

Document Symbol is used to locate symbols known in a local file.  It enables quickly searching for names of interest in a kind of "outline" format.

From scuba stats, this message has a lot of lag associated with it, which means we can potentially reduce LSP lag by switching this message to sIDE.

This diff does not change the behavior of the Document Symbol LSP message - it simply takes the existing hh_server behavior and splits it out into sIDE.

Reviewed By: 2BitSalute

Differential Revision: D16837019

fbshipit-source-id: 9c8837d35857866c582eac58b607f57ab767a6ff
hphp/hack/src/client/clientLsp.ml
hphp/hack/src/client/ide_service/clientIdeDaemon.ml
hphp/hack/src/client/ide_service/clientIdeMessage.ml
hphp/hack/src/client/ide_service/dune
hphp/hack/src/server/fileOutline.ml
hphp/hack/src/utils/lsp/lsp.ml
hphp/hack/test/integration/test_lsp.py