-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
#315 Refactor base protocol #123
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, looks good to me! 👍
Thanks for the great work! Looks good, local build and tests work fine! |
3b04909
to
9c02d77
Compare
Thanks for the review Philip, I have made some additional changes to the protocol. Could you please re-review? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, looks good to me! 👍
plugins/org.eclipse.glsp.server/src/org/eclipse/glsp/server/actions/Action.java
Outdated
Show resolved
Hide resolved
plugins/org.eclipse.glsp.server/src/org/eclipse/glsp/server/actions/ActionMessage.java
Outdated
Show resolved
Hide resolved
d0f0752
to
5605160
Compare
Refactor the base communication protocol to support initializing and disposing a client session for a given language. The method parameters are encapsulated in dedicated parameter objects to provide a stable API. Refactor the existing `initialize` method to return void instead of a boolean and use a generic args map for custom arguments instead of a dedicated object. In addition, the protocol version that is implemented by the client is now passed as part of the `InitializeParameters` Other fixes/improvements: - Fixed code template for new files. Used ${year} variable for the copyright header instead of hard coded 2020 string. - Refactor `ActionRegistry` to use Class<Action> instead of dedicated action instances. - Fixed bug in "Disposable". Previously the 'disposed' flag was not set correctly - Refactor `ClientOptions` util class and extract a generic `MapUtil` class. - Merge `GLSPServer` and `GLSPJsonRpcServer` interfaces. There is no need of a dediacted subinterface because the GLSPServer interface is already tailored for JSON-RPC and not generically reuseable. - Improve documentation for protocol components and related classes. Part of eclipse-glsp/glsp/issues/315
5605160
to
19d6697
Compare
Refactor the base communication protocol to support initializing and disposing a client session for a given language. The method parameters are encapsulated in dedicated parameter objects to provide a stable API. Refactor the existing
initialize
method to return void instead of a boolean and use a generic args map for custom arguments instead of a dedicated object. In addition, the protocol version that is implemented by the client is now passed as part of theInitializeParameters
Other fixes/improvements:
ActionRegistry
to use Class instead of dedicated action instances.ClientOptions
util class and extract a genericMapUtil
class.Part of eclipse-glsp/glsp/issues/315