Skip to content

all: support LSP 3.17 spec#52

Draft
zchee wants to merge 19 commits intomainfrom
3.17
Draft

all: support LSP 3.17 spec#52
zchee wants to merge 19 commits intomainfrom
3.17

Conversation

@zchee
Copy link
Member

@zchee zchee commented Oct 30, 2024

No description provided.

zchee added 12 commits May 5, 2024 23:39
Signed-off-by: Koichi Shiraishi <zchee.io@gmail.com>
Signed-off-by: Koichi Shiraishi <zchee.io@gmail.com>
Signed-off-by: Koichi Shiraishi <zchee.io@gmail.com>
Signed-off-by: Koichi Shiraishi <zchee.io@gmail.com>
Signed-off-by: Koichi Shiraishi <zchee.io@gmail.com>
Signed-off-by: Koichi Shiraishi <zchee.io@gmail.com>
Signed-off-by: Koichi Shiraishi <zchee.io@gmail.com>
Signed-off-by: Koichi Shiraishi <zchee.io@gmail.com>
Signed-off-by: Koichi Shiraishi <zchee.io@gmail.com>
Signed-off-by: Koichi Shiraishi <zchee.io@gmail.com>
Signed-off-by: Koichi Shiraishi <zchee.io@gmail.com>
Signed-off-by: Koichi Shiraishi <zchee.io@gmail.com>
@zchee zchee added kind/feature New feature or request area/protocol area/server area/client kind/specification Language Server Protocol specification labels Oct 30, 2024
@zchee zchee self-assigned this Oct 30, 2024
@zchee zchee mentioned this pull request Oct 30, 2024
@csobrinho
Copy link

Hi, any progress on the 3.17 support? Happy to help, Thanks!!

Signed-off-by: Koichi Shiraishi <zchee.io@gmail.com>
Signed-off-by: Koichi Shiraishi <zchee.io@gmail.com>
Signed-off-by: Koichi Shiraishi <zchee.io@gmail.com>
Signed-off-by: Koichi Shiraishi <zchee.io@gmail.com>
Signed-off-by: Koichi Shiraishi <zchee.io@gmail.com>
Signed-off-by: Koichi Shiraishi <zchee.io@gmail.com>
Signed-off-by: Koichi Shiraishi <zchee.io@gmail.com>
@adlternative
Copy link

what's going on with this PR?

stefanvanburen added a commit to bufbuild/buf that referenced this pull request Jan 30, 2026
Also removes the diagnostic.Data from the new diagnostics, which AFAICS
is unused; we can save ourselves the json marshaling.

As a part of this, added a first pass at adding tests for diagnostics
- we don't currently have any. These are a bit different because we
haven't implemented [PullDiagnostics][1] (we can add this, but we'd need
a custom implementation, or wait until [go.lsp.dev upgrades to
3.17][2]). Instead, we intercept the notifications from the
server. Lastly, since we don't actually want the tests to wait around,
adds synctest and only runs the tests on Go 1.25 for now (1.26 should be
released next month and we'll be able to upgrade to 1.25 as our
minimum).

[1]: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_pullDiagnostics
[2]: go-language-server/protocol#52
stefanvanburen added a commit to bufbuild/buf that referenced this pull request Jan 30, 2026
Also removes the diagnostic.Data from the new diagnostics, which AFAICS
is unused; we can save ourselves the json marshaling.

As a part of this, added a first pass at adding tests for diagnostics
- we don't currently have any. These are a bit different because we
haven't implemented [PullDiagnostics][1] (we can add this, but we'd need
a custom implementation, or wait until [go.lsp.dev upgrades to
3.17][2]). Instead, we intercept the notifications from the
server. Lastly, since we don't actually want the tests to wait around,
adds synctest and only runs the tests on Go 1.25 for now (1.26 should be
released next month and we'll be able to upgrade to 1.25 as our
minimum).

This is in preparation to eventually landing relatedInformation (other
spans) in diagnostics, from bufbuild/protocompile#659.

[1]: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_pullDiagnostics
[2]: go-language-server/protocol#52
stefanvanburen added a commit to bufbuild/buf that referenced this pull request Jan 30, 2026
Also removes the diagnostic.Data from the new diagnostics, which AFAICS
is unused; we can save ourselves the json marshaling.

As a part of this, added a first pass at adding tests for diagnostics
- we don't currently have any. These are a bit different because we
haven't implemented [PullDiagnostics][1] (we can add this, but we'd need
a custom implementation, or wait until [go.lsp.dev upgrades to
3.17][2]). Instead, we intercept the notifications from the
server. Lastly, since we don't actually want the tests to wait around,
adds synctest and only runs the tests on Go 1.25 for now (1.26 should be
released next month and we'll be able to upgrade to 1.25 as our
minimum).

This is in preparation to eventually landing relatedInformation (other
spans) in diagnostics, from bufbuild/protocompile#659.

[1]: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_pullDiagnostics
[2]: go-language-server/protocol#52
stefanvanburen added a commit to bufbuild/buf that referenced this pull request Jan 30, 2026
Also removes the diagnostic.Data from the new diagnostics, which AFAICS
is unused; we can save ourselves the json marshaling.

As a part of this, added a first pass at adding tests for diagnostics;
we don't currently have any. These are a bit different because we
haven't implemented [PullDiagnostics][1] (we can add this, but we'd need
a custom implementation, or wait until [go.lsp.dev upgrades to
3.17][2]). Instead, we intercept the notifications from the
server. Lastly, since we don't actually want the tests to wait around,
adds synctest and only runs the tests on Go 1.25 for now (1.26 should be
released next month and we'll be able to upgrade to 1.25 as our
minimum).

This is in preparation to eventually landing relatedInformation (other
spans) in diagnostics, from bufbuild/protocompile#659.

Also pulls in the latest protocompile@main to bring in the new
deprecated tag.

[1]: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_pullDiagnostics
[2]: go-language-server/protocol#52
stefanvanburen added a commit to bufbuild/buf that referenced this pull request Feb 3, 2026
Also removes the diagnostic.Data from the new diagnostics, which AFAICS
is unused; we can save ourselves the json marshaling.

As a part of this, added a first pass at adding tests for diagnostics;
we don't currently have any. These are a bit different because we
haven't implemented [PullDiagnostics][1] (we can add this, but we'd need
a custom implementation, or wait until [go.lsp.dev upgrades to
3.17][2]). Instead, we intercept the notifications from the
server. Lastly, since we don't actually want the tests to wait around,
adds synctest and only runs the tests on Go 1.25 for now (1.26 should be
released next month and we'll be able to upgrade to 1.25 as our
minimum).

This is in preparation to eventually landing relatedInformation (other
spans) in diagnostics, from bufbuild/protocompile#659.

Also pulls in the latest protocompile@main to bring in the new
deprecated tag.

[1]: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_pullDiagnostics
[2]: go-language-server/protocol#52
@albertocavalcante
Copy link

albertocavalcante commented Feb 5, 2026

@zchee, I've seen your comments at #48, and I am wondering: do you have commit rights? Do you intend to merge this PR, or is it currently blocked?

Thanks!

edit: my bad, just realized you're the owner. If you need any help landing this, please let me know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/client area/protocol area/server kind/feature New feature or request kind/specification Language Server Protocol specification

Development

Successfully merging this pull request may close these issues.

4 participants