This is a fairly minor change that will save tons of time as we develop
this service. The DbConnection and associated Db* abstract classes
ask for synchronous versions of the code and allow the addition of async
code. The SqlClient implementation already implements Db* abstract
classes, so we can piggy back off that for our dependency injection layer.
Tests and existing code has been updated to handle the change, as well
For whatever reason, Visual Studio throws a fit if a referenced project has a name
and the folder name (which is used to reference the project) is different than that name.
To solve this issue, I've renamed all the projects and folders to match their project
names as stated in the project.json.
* Removing unused OutputType and OutputWrittenEventArgs classes
* Adding class comment blocks
* Tweaking a couple comment blocks as per @kcunanne comments
For some strange reason, the using statements don't seem to want to work
for the Message type. The full name has been used instead, but it's an
ugly workaround for the time being.
The overall architecture of the service host is completed here. However,
this doesn't build because the EditorSession dependencies haven't been
worked out just yet.
LanguageServer ->
LanguageService - for any functionality that deals with parsing SQL
ServerService - for any functionality that is required to manage the
service layer
WorkspaceService - for any functionality that deals with managing the
state of the workspace, session, or text document
Namespace changes have not been applied yet, so this doesn't build yet.
The contracts for the basic protocol have been moved into their own
/Protocol/Contracts folder. No code changes have been made to change the
namespaces or class names