[fidl][lsp] Add workspace.configuration capability
This CL adds handling for the "workspace/didChangeRequest" notification
and also adds the "worksspace/configuration" request on initialization.
These configuration settings, defined in the vscode extension, include:
* path to fidl_project.json
* root build directory
* fidlc (this will be distributed with the extension as a prebuilt
from the SDK)
* fidl-format (same as fidlc)
* fidl-lint
When the settings for fidl_project.json and the root build directory
are left unset, the fidl_project.json is assumed to be in
$FUCHSIA_DIR/out/default. When fidlc and fidl-format are unset, the
language server uses the binaries distributed with the extension, and
when fidl-lint is unset, the language server assumes it is located at
$FUCHSIA_DIR/out/default/host_x64/fidl-lint.
Test: go test -p 1 ./...
Change-Id: Ic262dd458dc270271cfd233f9f8c345e48ec02b9
Reviewed-on: https://fuchsia-review.googlesource.com/c/fidl-misc/+/396777
Reviewed-by: Benjamin Prosnitz <bprosnitz@google.com>
Reviewed-by: Pascal Perez <pascallouis@google.com>
6 files changed