[mlir-vscode] Refactor server creation to be lazy
authorRiver Riddle <riddleriver@gmail.com>
Wed, 6 Apr 2022 06:14:06 +0000 (23:14 -0700)
committerRiver Riddle <riddleriver@gmail.com>
Mon, 11 Apr 2022 22:41:19 +0000 (15:41 -0700)
commit4a6f5d73a4d16e36baa9639642533b4eb700adf2
tree99e10105246a89554a283afaf115870a092424af
parent3c7e4674061f0ef38a53ab219ed0c01b1ea937fa
[mlir-vscode] Refactor server creation to be lazy

We currently proactively create language clients for every workspace folder,
and every language. This makes startup time more costly, and also emits errors
for missing language servers in contexts that the user currently isn't in. For example,
if a user opens a .mlir file we don't want to emit errors about .pdll files. We also don't
want to emit errors for missing servers in workspace folders that don't even utilize
MLIR.

This commit refactors client creation to lazy-load when a document that requires the
server is opened.

Differential Revision: https://reviews.llvm.org/D123184
mlir/utils/vscode/src/configWatcher.ts
mlir/utils/vscode/src/mlirContext.ts