py-pygls: updated to 1.1.0

1.1.0

Bug Fixes

Fix broken link and outdated comment
Correctly cast from UTF16 positions
Ensure server commands can be executed
Mypy lints
Error code of JsonRpcInternalError
Only show code action when there's no sum
Don't include trailing whitespace in code action title
'bool' object has no attribute 'resolve_provider'
Computation of formatting and diagnostic provider capabilities

CI

Migrate to Poetry and modernise
Linter for conventional commits
Autogenerate changelog with git-cliff
Automate CONTRIBUTORS.md
Retry Pyodide tests
Test against Python 3.12
Use matrix.python-version in cache key
Update json-extension pipeline
Pin poetry to 1.5.1
Do not install chromium/chromedriver
Enable coverage reporting
Run all lints even when some fail
Increase Pyodide CI retries to 6

Documentation

Use autodoc to document client methods
Update docstrings
Change specification for commit messages
Typo in vscode-playground README.md
Add api docs for servers, protocol and workspace
Align docstring formatting
Handle methods starting with $/
Update links and code snippets
Rename advanced usage to user guide
Instructions for using plain text files with vscode-playground

Features

Add document diagnostic capability
Add workspace symbol resolve
Add workspace diagnostic support
Adds inline value support
Adds type hierarchy request support
Add await syntax support for sending edit request to client
Allow servers to provide NotebookDocumentSyncOptions
Initial support for notebook document syncronisation
Add notebook support to example inlay_hints.py server
Accept PositionEncoding client capability
Support UTF32 ans UTF8 position encoding

Miscellaneous Tasks

Update autogenerated Pygls client
Introduce black formatting
Add .git-blame-ignore-revs file
Delete fountain-vscode-extension
Update README.md
Bump lsprotocol version
Fix deprecation warning, set chrome path
Disable body-max-line-length check
Add .readthedocs.yaml
Strict types in uris.py and workspace.py
Move workspace/doc/position into own files
Fix mypy types
Maintain Workspace backwards compat
Fix use of deprecated methods in tests/test_language_server.py

Refactor

Move example json-server to examples/servers
Rename json-vscode-extension/ -> vscode-playground
Simplify end-to-end test client fixture definition
Rename Client -> JsonRPCClient
Rename LanguageClient -> BaseLanguageClient
Rename <verb>_document to <verb>_text_document
Expose workspace via a property
Server Position class
Rename server Position to PositionCodec, instantiate it in Workspace
Reference types via types module
Make default argument mandatory, add type annotations

Testing

Test that the client provided token is used
Remove a useless sleep
Test cases of server initiated progress
Base Pyodide wheel deps off poetry.lock

Build

Bump semver in /examples/fountain-vscode-extension
Bump semver in /examples/json-vscode-extension
Bump word-wrap in /examples/json-vscode-extension
Lock min Python version to 3.7.9
Cache specific Python minor version
Bump lsprotocol to 2023.0.0b1
Release v1.1.0

Json-extension

Support cancellation in progress example

Progress

Support work done progress cancellation from client

Server

Add a type annotation to help completions in editor

Added

Add LanguageClient with LSP methods autogenerated from type annotations in lsprotocol
Add base JSON-RPC Client with support for running servers in a subprocess and communicating over stdio.
Support work done progress cancel
Add support for textDocument/inlayHint and inlayHint/resolve requests

Fixed

pygls no longer overrides the event loop for the current thread when given an explicit loop to use.
Fixed MethodTypeNotRegisteredError when registering a TEXT_DOCUMENT_DID_SAVE feature with options.
Fixed detection of LanguageServer type annotations when using string-based annotations.
This commit is contained in:
adam 2023-10-04 21:27:48 +00:00
parent 93c1adfb70
commit 70f651348b
3 changed files with 30 additions and 38 deletions

View file

@ -1,6 +1,6 @@
# $NetBSD: Makefile,v 1.10 2023/05/21 18:47:56 wiz Exp $
# $NetBSD: Makefile,v 1.11 2023/10/04 21:27:48 adam Exp $
DISTNAME= pygls-1.0.2
DISTNAME= pygls-1.1.0
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
CATEGORIES= lang python
MASTER_SITES= ${MASTER_SITE_PYPI:=p/pygls/}
@ -10,21 +10,13 @@ HOMEPAGE= https://github.com/openlawlibrary/pygls
COMMENT= Pythonic generic implementation of the Language Server Protocol
LICENSE= apache-2.0
TOOL_DEPENDS+= ${PYPKGPREFIX}-setuptools_scm>=3.4.3:../../devel/py-setuptools_scm
TOOL_DEPENDS+= ${PYPKGPREFIX}-toml-[0-9]*:../../textproc/py-toml
TOOL_DEPENDS+= ${PYPKGPREFIX}-wheel-[0-9]*:../../devel/py-wheel
DEPENDS+= ${PYPKGPREFIX}-lsprotocol-[0-9]*:../../lang/py-lsprotocol
DEPENDS+= ${PYPKGPREFIX}-typeguard>=2.10.0:../../devel/py-typeguard
TEST_DEPENDS+= ${PYPKGPREFIX}-mock>=3:../../devel/py-mock
TEST_DEPENDS+= ${PYPKGPREFIX}-test>=7.1.2:../../devel/py-test
TEST_DEPENDS+= ${PYPKGPREFIX}-test-asyncio>=0.18.3:../../devel/py-test-asyncio
TOOL_DEPENDS+= ${PYPKGPREFIX}-poetry-core-[0-9]*:../../devel/py-poetry-core
DEPENDS+= ${PYPKGPREFIX}-lsprotocol>=2023.0.0b1:../../lang/py-lsprotocol
DEPENDS+= ${PYPKGPREFIX}-typeguard>=3.0.0:../../devel/py-typeguard
USE_LANGUAGES= # none
PYTHON_VERSIONS_INCOMPATIBLE= 27
do-test:
cd ${WRKSRC} && ${SETENV} ${TEST_ENV} pytest-${PYVERSSUFFIX} tests
.include "../../lang/python/egg.mk"
.include "../../lang/python/wheel.mk"
.include "../../mk/bsd.pkg.mk"

View file

@ -1,41 +1,41 @@
@comment $NetBSD: PLIST,v 1.5 2023/05/05 09:38:48 wiz Exp $
${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
${PYSITELIB}/${EGG_INFODIR}/not-zip-safe
${PYSITELIB}/${EGG_INFODIR}/requires.txt
${PYSITELIB}/${EGG_INFODIR}/top_level.txt
@comment $NetBSD: PLIST,v 1.6 2023/10/04 21:27:48 adam Exp $
${PYSITELIB}/${WHEEL_INFODIR}/INSTALLER
${PYSITELIB}/${WHEEL_INFODIR}/LICENSE.txt
${PYSITELIB}/${WHEEL_INFODIR}/METADATA
${PYSITELIB}/${WHEEL_INFODIR}/RECORD
${PYSITELIB}/${WHEEL_INFODIR}/REQUESTED
${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
${PYSITELIB}/${WHEEL_INFODIR}/direct_url.json
${PYSITELIB}/pygls/__init__.py
${PYSITELIB}/pygls/__init__.pyc
${PYSITELIB}/pygls/__init__.pyo
${PYSITELIB}/pygls/capabilities.py
${PYSITELIB}/pygls/capabilities.pyc
${PYSITELIB}/pygls/capabilities.pyo
${PYSITELIB}/pygls/client.py
${PYSITELIB}/pygls/client.pyc
${PYSITELIB}/pygls/constants.py
${PYSITELIB}/pygls/constants.pyc
${PYSITELIB}/pygls/constants.pyo
${PYSITELIB}/pygls/exceptions.py
${PYSITELIB}/pygls/exceptions.pyc
${PYSITELIB}/pygls/exceptions.pyo
${PYSITELIB}/pygls/feature_manager.py
${PYSITELIB}/pygls/feature_manager.pyc
${PYSITELIB}/pygls/feature_manager.pyo
${PYSITELIB}/pygls/lsp/__init__.py
${PYSITELIB}/pygls/lsp/__init__.pyc
${PYSITELIB}/pygls/lsp/__init__.pyo
${PYSITELIB}/pygls/lsp/client.py
${PYSITELIB}/pygls/lsp/client.pyc
${PYSITELIB}/pygls/progress.py
${PYSITELIB}/pygls/progress.pyc
${PYSITELIB}/pygls/progress.pyo
${PYSITELIB}/pygls/protocol.py
${PYSITELIB}/pygls/protocol.pyc
${PYSITELIB}/pygls/protocol.pyo
${PYSITELIB}/pygls/py.typed
${PYSITELIB}/pygls/server.py
${PYSITELIB}/pygls/server.pyc
${PYSITELIB}/pygls/server.pyo
${PYSITELIB}/pygls/uris.py
${PYSITELIB}/pygls/uris.pyc
${PYSITELIB}/pygls/uris.pyo
${PYSITELIB}/pygls/workspace.py
${PYSITELIB}/pygls/workspace.pyc
${PYSITELIB}/pygls/workspace.pyo
${PYSITELIB}/pygls/workspace/__init__.py
${PYSITELIB}/pygls/workspace/__init__.pyc
${PYSITELIB}/pygls/workspace/position_codec.py
${PYSITELIB}/pygls/workspace/position_codec.pyc
${PYSITELIB}/pygls/workspace/text_document.py
${PYSITELIB}/pygls/workspace/text_document.pyc
${PYSITELIB}/pygls/workspace/workspace.py
${PYSITELIB}/pygls/workspace/workspace.pyc

View file

@ -1,5 +1,5 @@
$NetBSD: distinfo,v 1.11 2023/05/21 18:47:56 wiz Exp $
$NetBSD: distinfo,v 1.12 2023/10/04 21:27:48 adam Exp $
BLAKE2s (pygls-1.0.2.tar.gz) = 9c135b5e594fb61f9e474e15ae8a2672d191354f00aaf9be895c2d4e018d5689
SHA512 (pygls-1.0.2.tar.gz) = 68b6e643d95456aa10d33bb2ae77c714e9edd26af0aa3e8e913d746b61d88f37e642af32774b4f21befa76078a7574fc5bd149454ce29da5201b60dc0efd8af3
Size (pygls-1.0.2.tar.gz) = 674931 bytes
BLAKE2s (pygls-1.1.0.tar.gz) = b7a633fba301f499a3fc996d3a74a8064be39784ab44d2bd90521b976c68c281
SHA512 (pygls-1.1.0.tar.gz) = f20a9f35eb6165ae372adb2f9d291932a283dfef75d2117f8c3399d78a2fe6a1fdf47c75f6bce884003f2ba60c0e921fc7d6138710f11247fd9b2200b0b2d71a
Size (pygls-1.1.0.tar.gz) = 45589 bytes