[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
tree: 9ce7079888d274fbeb62208405ed9d12a85a1fd3
  1. fidl-lsp/
  2. fidldev/
  3. vscode-language-fidl/
  4. .gitignore
  5. .vscodeignore
  6. AUTHORS
  7. CONTRIBUTING.md
  8. LICENSE
  9. PATENTS
  10. README.md
README.md

Fuchsia Open Source Template Repository

This repository is a template that we will use when creating new open source repositories for Fuchsia.