Closed alcarney closed 3 weeks ago
Added an initial draft of the migration guide, there are a few more changes we can make (e.g. removing deprecated methods) so I expect it will take a few more revisions to get right.
So this should be ready for a review now.
That said, the lint job has started failing and I'm not entirely sure why...
Run source $VENV
/home/runner/work/_temp/0f22c65c-8345-4c8d-8709-e3f4d68c7c6b.sh: /home/runner/work/pygls/pygls/.venv/bin/poe: /home/runner/work/pygls/pygls/.venv/bin/python: bad interpreter: No such file or directory
Error: Process completed with exit code 126.
I have a PR for the failing CI issue: https://github.com/openlawlibrary/pygls/pull/491
Do the new docs get automatically published on merge to main?
Yes, https://pygls.readthedocs.io/en/latest/ points to main
It might be good to have an update in our main README about how we're looking for beta testers for the breaking changes and a link to the migration docs?
I've added a note to the README, though there are a few more changes we should make before shouting too loudly about it :)
487 introduced some breaking changes, so this PR is taking the opportunity to make a few more that were going to be part of #418.
Similar to the
BaseLanguageClient
, this PR updates the code generation script to now also produce aBaseLanguageServer
with all the server side methods generated based on the type definitions provided bylsprotocol
Not only does this improve consistency and remove the need for the duplicated methods on the
LanguageServerProtocol
class (Closes #306), we also get all the server side methods we were missing!Aside from the obvious naming/argument changes, this also introduces the following changes (which we will need to document in a migration guide)
server.progress
now sends a$/progress
notification, rather than giving access to pygls'Progress
helper. The helper is now accessed viaserver.work_done_progress
server.protocol
rather thanserver.lsp
.Finally, the base
Server
class has been tidied up a littlesync_kind
)report_server_error
code has been pushed down into the basefeature
,thread
andcommand
registration code has been pushed down into the baseTODO
Code review checklist (for code reviewer to complete)
Automated linters
You can run the lints that are run on CI locally with: