This refactors the client construction and startup so it can be shared between workspaces and files. It also becomes its own class that extends the LanguageClient so we can attach other items, such as the Test Controller in #33, that are disposed with the client.
Additional Context
PR Checklist*
[x] I have tested the changes locally.
[x] I have formatted the changes with Prettier and/or cargo fmt on default settings.
Description
Problem*
Resolves
Summary*
This refactors the client construction and startup so it can be shared between workspaces and files. It also becomes its own class that extends the LanguageClient so we can attach other items, such as the Test Controller in #33, that are disposed with the client.
Additional Context
PR Checklist*
cargo fmt
on default settings.