A Python 3.6+ implementation of the Language Server Protocol.
Language Server Features: Auto Completion, Code Linting,
Signature Help, Go to definition, Hover, Find References,
Document Symbols, Document Formatting, Code folding, and
Multiple workspaces
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above. NOTE: This is a Python port. Instead of py311-python-lsp-server listed in the above command, you can pick from the names under the Packages section.
textproc/py-python-lsp-server: Fix circular dep
Both, textproc/py-python-lsp-server and textproc/py-python-lsp-black,
depend on each other. Remove black dep in lsp-server.
MFH: 2024Q4
textproc/py-python-lsp-server: Change black plugin
Repository rupert/pyls-black is archived.
Use python-lsp/python-lsp-black instead [1].
While here, pet portclippy.
https://github.com/rupert/pyls-black/blob/master/README.md
MFH: 2024Q1
textproc/py-python-lsp-server: Update to 1.12.0
Major release with the following new features and changes:
- Add support for window/logMessage.
- Add version support to workspace/publishDiagnostics.
- Add extendSelect option to flake8 plugin.
- Allow Jedi's extra_paths to be placed in front of sys.path.
- Bump flake8 to 7.1
Changelog:
https://github.com/python-lsp/python-lsp-server/blob/develop/CHANGELOG.md#version-1120-20240825
Reported by: portscout, Repology
textproc/py-python-lsp-server: Update to 1.11.0
- Remove the rope_rename plugin. People that were using it need to
install the pylsp-rope third-party plugin instead
- Add support for Pylint 3.1
Reported by: portscout, Repology
devel/py-setuptools-scm: update to 8.0.4
Directory and PORTNAME changed to match normalised name in release
tarball; consumers updated to match.
Although setuptools itself is specified as a run dependency in the
Python package metadata, it is currently left out here to prevent
environment pollution until at least PR 270510 is committed.
Additionally, this version of setuptools-scm requires setuptools>=61,
which means this version is only meant for USE_PYTHON=pep517 ports
as all USE_PYTHON=distutils ports will switch to devel/py-setuptools58
also after PR 270510. science/py-emmet-core is switched to
devel/py-setuptools_scm7 accordingly, as it specifies setuptools-scm<8.
devel/py-{flit-scm,hatch-vcs} have ${PY_SETUPTOOLS} added to
RUN_DEPENDS to compensate.
Further details: https://wiki.freebsd.org/Python/setuptools
Reported by: yuri
Co-authored by: matthew
Exp-run by: antoine (earlier iteration)
Approved by: yuri (science/py-emmet-core, previous iteration)
PR: 272134
Differential Revision: https://reviews.freebsd.org/D39288
textproc/py-python-lsp-server: Update to 1.8.0
Major release with the following new features and changes:
- Add support for notebooks and make go-to-definition work for them.
- Add support for Pyflakes 3.1, Pycodestyle 2.11 and Jedi 0.19.
- Drop support for Python 3.7.
Changelog:
https://github.com/python-lsp/python-lsp-server/blob/develop/CHANGELOG.md#version-180-20230908
Reported by: portscout, Repology
all: remove explicit versions in USES=python for "3.x+"
The logic in USES=python will automatically convert this to 3.8+ by
itself.
Adjust two ports that only had Python 3.7 mentioned but build fine
on Python 3.8 too.
finance/quickfix: mark BROKEN with PYTHON
libtool: compile: c++ -DHAVE_CONFIG_H -I. -I../.. -I -I. -I.. -I../.. -I../C++
-DLIBICONV_PLUG -DPYTHON_MAJOR_VERSION=3 -Wno-unused-variable
-Wno-maybe-uninitialized -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong
-fno-strict-aliasing -DLIBICONV_PLUG -Wall -ansi
-Wno-unused-command-line-argument -Wpointer-arith -Wwrite-strings
-Wno-overloaded-virtual -Wno-deprecated-declarations -Wno-deprecated -std=c++0x
-MT _quickfix_la-QuickfixPython.lo -MD -MP -MF
.deps/_quickfix_la-QuickfixPython.Tpo -c QuickfixPython.cpp -fPIC -DPIC -o
.libs/_quickfix_la-QuickfixPython.o
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean
'-Wno-uninitialized'? [-Wunknown-warning-option]
QuickfixPython.cpp:175:11: fatal error: 'Python.h' file not found
^~~~~~~~~~
1 warning and 1 error generated.
Reviewed by: portmgr, vishwin, yuri
Differential Revision: <https://reviews.freebsd.org/D40568>
textproc/py-python-lsp-server: Loose version of dependency
Allow older version of dependency yapf to make devel/spyder work:
pkg_resources.ContextualVersionConflict: (yapf 0.32.0
(/usr/local/lib/python3.9/site-packages), Requirement.parse('yapf>=0.33.0; extra
== "all"'), {'python-lsp-server'})
MFH: 2023Q2
textproc/py-python-lsp-server: Update to 1.7.1
Releases v1.7.0 and v1.7.1 with the following new features and changes:
- Add a new plugin to provide autoimport functionality (disabled by default)
- Add progress reporting
- Make jedi_definition plugin follow definitions to pyi files
- Add support for flake8 version 6
- Add support for Yapf ignore patterns
- Add mccabe setting to flake8 plugin
- Fixes an error with the Pydocstyle 6.2.0+
- Includes missing Pylint "information" category
- Improves Jedi file completions for directories
The port changes from distutils to pep517 and again removes some version
limitations of dependencies.
Changelog: https://github.com/python-lsp/python-lsp-server/releases/tag/v1.7.0https://github.com/python-lsp/python-lsp-server/releases/tag/v1.7.1
textproc/py-python-lsp-server: Relax restrictions
Lower restrictions for version numbers of dependents. Hopefully without
restrictions, even during operation.
PR: 268161
Reported by: p5B2EA84B3@t-online.de
textproc/py-python-lsp-server: Update to 1.6.0
Major release with the following new features and changes:
- Migrate to MarkupContent and convert docstrings to Markdown by default
- Add support for flake8 version 5
- Add function objects to Jedi completions
- Don't include class / functions objects by default in Jedi completions
Changelog: https://github.com/python-lsp/python-lsp-server/releases/tag/v1.6.0
Reported by: portscout, Repology
textproc/py-python-lsp-server: Remove more limits
In a follow up, more version limits for dependencies are removed
to unbreak the port at runtime.
PR: 267058
MFH: 2022Q4
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
textproc/py-python-lsp-server: Update to 1.5.0
Major release with new features and changes:
- Add DiagnosticTag tags for Pylint, Pycodestyle, and Flake8 plugins
- Add support to connect to the server through websockets
- Allow multiple per-file-ignores for the same pattern in Flake8 plugin
- Parse YAPF diffs into TextEdits
- Add support for LSP formatting options parameter
Changelog:
https://github.com/python-lsp/python-lsp-server/compare/v1.4.1...v1.5.0
The port adds some more test dependencies and the new port
textproc/py-whatthepatch.
Use USES=pytest instead of target test. First time, that most tests do work now
:)
Reported by: portscout, Repology
textproc/py-python-lsp-server: Fix to use flake8 v4 again
According to 'make test' flake8 >= v4.0.0 can be used without errors.
Reported by: pkg-fallout
textproc/py-python-lsp-server: Update to 1.2.2
- Improves the way skip symbols are imported from other libraries
- Add constrain on Pylint < v2.10 until figured out how to support it
Changelog: https://github.com/python-lsp/python-lsp-server/releases/tag/v1.2.2
Reported by: Repology