[vscode] Add type constructor syntax highlighting

This change makes 3 related improvements:
* The `layout-member-*`-like repository definitions are all simplified
  by extracting out a new repository definition group,
  `type-constructor-*`, which handles highlighting for type constructors
  separately. All locations that make use of type constructors save
  type aliases are modified to use this new definition instead of trying
  to match type constructor shapes manually.
* Type parameter matchers are simplified. This is possible because we
  will always have 1 or 2 elements in a type parameter list: a type
  constructor (or protocol, which for highlighting purposes can be
  considered equivalent), and optionally a numerical constant (if the
  parameterized type is an array, like `array<Foo, 5>`).
* Named payloads are highlighted as types. This is also made possible by
  the type constructor refactor described above, as all
  `method-argument` patterns are now just `type-constructor`.

Change-Id: Ia1c18427c349fa15252fb6d08cbef726fb8be098
Reviewed-on: https://fuchsia-review.googlesource.com/c/fidl-misc/+/661809
Reviewed-by: Mitchell Kember <mkember@google.com>
3 files changed
tree: 37ee2f2a2a17d661b1fb0fa1a6fe01030ba7b9e4
  1. fidl-lsp/
  2. fidldev/
  3. fidlviz/
  4. mu-fidl/
  5. vscode-language-fidl/
  6. .gitignore
  7. .vscodeignore
  8. AUTHORS
  9. CONTRIBUTING.md
  10. LICENSE
  11. PATENTS
  12. 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.