Stream: t-compiler/wg-rls-2.0

Topic: LSP 3.15


Martin Asquino (Nov 05 2019 at 12:23, on Zulip):

Not directly related but given that rust-analyzer depends on the lsp-types crate I figured I'd share it here. I've opened a draft PR on lsp-types to add the missing types to support the new version of the specification: https://github.com/gluon-lang/lsp-types/pull/119

Still need to mark the newly deprecated fields as such, but I think it's pretty close to be done.

Martin Asquino (Nov 05 2019 at 12:57, on Zulip):

Oops! Good catch on the missing serde skips @Jeremy Kolb :smiley:

Jeremy Kolb (Nov 05 2019 at 13:07, on Zulip):

Yep! Left you some comments. Thanks for doing this.

Martin Asquino (Nov 05 2019 at 18:03, on Zulip):

Updated the PR with fixes for most of your comments. I do have a doubt though: I'm not sure what you meant by I don't see the new registration option stuff yet.. Maybe I missed something in the change log? I can't see anything about new registration types.

Also, I renamed WorkDoneProgressDone to WorkDoneProgressEnd. I considered creating a new type to maintain the legacy one, but as the library specifically states that the types behind the proposed flag do not guarantee semver compatibility I figured we would be ok with just renaming it. This may be obviously revisited by the project maintainer, but wanted to get your opinion on this anyway

Jeremy Kolb (Nov 05 2019 at 18:17, on Zulip):

Ah I meant the WorkDoneProgressOptions

Jeremy Kolb (Nov 05 2019 at 18:17, on Zulip):

yeah i wouldn't worry about maintaining backwards compatibility with proposed stufff

Martin Asquino (Nov 05 2019 at 18:19, on Zulip):

ooh, yeah, I completely missed that. Searched for @since 3.15.0 and that wasn't included :raised_hand: :pensive:

Jeremy Kolb (Nov 05 2019 at 18:22, on Zulip):

Yeah it's easy to miss changes in the spec that's for sure

Martin Asquino (Nov 05 2019 at 18:23, on Zulip):

oh, I found a bunch of proposed attributes that need dropping too. I'll try harder this time hehe

Jeremy Kolb (Nov 05 2019 at 18:25, on Zulip):

You may be able to follow the model used in https://github.com/gluon-lang/lsp-types/pull/110 for the WorkDoneProgressOptions stuff (I haven't looked too closely).

Martin Asquino (Nov 07 2019 at 17:58, on Zulip):

So I was looking at the WorkDoneProgressOptions thing now. There a bunch of types that now extend on those, what you are saying is that that should be represented as a pub work_done_progress_option: Option<WorkDoneProgressOption> attributed with #[serde(flatten)], right?

Jeremy Kolb (Nov 07 2019 at 18:11, on Zulip):

yeah I think that's the right approach

Last update: Nov 12 2019 at 15:35UTC