Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Python Language Server | 2,545 | 135 | 51 | 5 months ago | 77 | December 11, 2020 | 187 | mit | Python | |
An implementation of the Language Server Protocol for Python | ||||||||||
Verible | 1,007 | 3 days ago | 431 | other | C++ | |||||
Verible is a suite of SystemVerilog developer tools, including a parser, style-linter, formatter and language server | ||||||||||
Languageserver | 508 | 1 | a month ago | 13 | May 24, 2022 | 94 | other | R | ||
An implementation of the Language Server Protocol for R | ||||||||||
Vimscript Language Server | 382 | 6 months ago | 4 | apache-2.0 | Rust | |||||
Lua Lsp | 272 | 6 months ago | 17 | mit | Lua | |||||
A Lua language server | ||||||||||
Acme Lsp | 149 | 2 | 2 months ago | 17 | December 01, 2021 | 13 | mit | Go | ||
Language Server Protocol tools for the acme text editor | ||||||||||
Liquify | 29 | a month ago | TypeScript | |||||||
💧 WIP ~ Liquid Language Support | ||||||||||
Dockerfile Language Service | 16 | 10 | 1 | 5 days ago | 24 | May 04, 2022 | 15 | mit | TypeScript | |
Dockerfile language service for providing an API to create feature-rich Dockerfile editors in JavaScript. |
A Python 2.7 and 3.5+ implementation of the Language Server Protocol.
The base language server requires Jedi to provide Completions, Definitions, Hover, References, Signature Help, and Symbols:
pip install python-language-server
If the respective dependencies are found, the following optional providers will be enabled:
Optional providers can be installed using the extras syntax. To install YAPF formatting for example:
pip install 'python-language-server[yapf]'
All optional providers can be installed using:
pip install 'python-language-server[all]'
If you get an error similar to 'install_requires' must be a string or list of strings
then please upgrade setuptools before trying again.
pip install -U setuptools
Installing these plugins will add extra functionality to the language server:
Please see the above repositories for examples on how to write plugins for the Python Language Server. Please file an issue if you require assistance writing a plugin.
Configuration is loaded from zero or more configuration sources. Currently implemented are:
The default configuration source is pycodestyle. Change the pyls.configurationSources setting to ['flake8'] in order to respect flake8 configuration instead.
Overall configuration is computed first from user configuration (in home directory), overridden by configuration passed in by the language client, and then overriden by configuration discovered in the workspace.
To enable pydocstyle for linting docstrings add the following setting in your LSP configuration:
`
"pyls.plugins.pydocstyle.enabled": true
`
See vscode-client/package.json for the full set of supported configuration options.
Auto Completion:
Code Linting with pycodestyle and pyflakes:
Signature Help:
Go to definition:
Hover:
Find References:
Document Symbols:
Document Formatting:
To run the test suite:
pip install .[test] && pytest
The Python language server can be developed against a local instance of Visual Studio Code.
Install VSCode
# Setup a virtual env
virtualenv env
. env/bin/activate
# Install pyls
pip install .
# Install the vscode-client extension
cd vscode-client
yarn install
# Run VSCode which is configured to use pyls
# See the bottom of vscode-client/src/extension.ts for info
yarn run vscode -- $PWD/../
Then to debug, click View -> Output and in the dropdown will be pyls. To refresh VSCode, press Cmd + r
This project is made available under the MIT License.