-
Notifications
You must be signed in to change notification settings - Fork 148
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
Implemented changes to LSP versions 3.6 and 3.7 #179
Conversation
@@ -26,6 +30,18 @@ | |||
*/ | |||
private String name; |
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.
In the spec it is not marked as optional. Is it bug there?
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.
The LSP documentation says "The name of the workspace folder. Defaults to the uri's basename." I think it's a bug in the specification: either the property should be optional, or the second part of the property documentation should be removed.
@@ -1618,7 +1869,7 @@ class MarkupContent { | |||
* The type of the Markup. | |||
*/ | |||
@NonNull | |||
String MarkupKind; | |||
String kind; |
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.
It is named as kind
in the spec
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.
That's why I corrected it here :-)
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.
@spoenemann please see my comments, i was not able to spot anything else, although it is hard to check whether everything is covered
Do you think it will make sense to have a change log with breaking changes or developers will notice it anyway it? cc @svenefftinge
Just out of curiosity if you could start over, what comes for a |
@akosyakov I'll prepare a change log for the release. @jvalkeal I don't understand what you mean. Could you explain further? |
Signed-off-by: Miro Spönemann <[email protected]>
15ae640
to
120d45d
Compare
@spoenemann I just asked that if you'd have originally used custom |
While you are updating LS versions, it may be worth updating the Readme, it currently says: Supported LSP Versions
|
Up to now we have only implemented the data types from the specification, and have not added any additional types. Even then we wouldn't get around breaking the API. The root of the problem is that the LSP is designed for TypeScript, which has a completely different type system than Java. Some kinds of API changes that are 100% compatible in TypeScript break the corresponding Java representations. |
https://github.com/eclipse/lsp4j/blob/master/CHANGELOG.md I'll document where the API has been broken now. |
Fixes #167, #178, and #118.
Unfortunately, this change massively breaks API. I don't know how else we could realize the change in LSP from
TextDocumentPositionParams
to
CompletionParams
In TypeScript this change is API compatible, in Java it's not :-(