Skip to main content

A language server for zc.buildout

Project description

A Language Server for zc.buildout.

This language server is implemented using pygls.

Installation

Standalone

Needs a python >= 3.8.

python -m pip install zc.buildout.languageserver

Then configure your editor to run buildoutls ( or python3 -m buildoutls ).

From vscode extension

On activation, the extension automatically installs the extension on the python configured in the extension preferences.

The automatic installation does not seem to work with theia and the python egg has to be installed beforehand.

Features

Completions

  • ${ or [ complete sections.
  • ${section: complete section's options. If section uses a known recipe, dynamic options from the recipe are also completed.
  • ${buildout:extends} completes filenames.
  • ${buildout:parts} and <= option completes parts.

Diagnostics

  • non existant section and options in ${section:option} references.
  • required options not defined for a a few "known recipes".
  • python package listed in [versions] with known vulnerabilities

Symbols

  • Sections and options are shown are displayed in outline as symbols.

Links

  • ${buildout:extends} are links.

Go to definitions

  • from ${section:options} we can go to the location where option is defined in section, or to section header if it's not defined.
  • from <= section we can go to section.
  • from ${buildout:extends} we can go to the extended profile.

Hover

  • Hover on an option show the option value.
  • Hover on a recipe shows the recipe documentation

Find references

  • Find references of the current symbol. A bit simple, it only look for references and does not check if profiles really extends each other. It does not look in templates either.

Code actions

  • update a python package from [versions] to its latest version on pypi
  • compute the md5sum of an url

Semantic tokens

  • python code in options is highlighted.

Template support

  • "current" buildout profile is guessed, then completions and diagnostics should work on any files.

Jinja2 support

  • Jinja syntax is syntax highlighted and jinja syntax markers are ignored when parsing buildout.

SlapOS support

  • SlapOS instance buildout (ie. buildout generated by buildout) is understood, ${ and $${ are treated separatly for completions and diagnostics.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zc_buildout_languageserver-0.17.0.tar.gz (71.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zc_buildout_languageserver-0.17.0-py3-none-any.whl (76.5 kB view details)

Uploaded Python 3

File details

Details for the file zc_buildout_languageserver-0.17.0.tar.gz.

File metadata

File hashes

Hashes for zc_buildout_languageserver-0.17.0.tar.gz
Algorithm Hash digest
SHA256 25fff6288da34d056d99e54939e841e36f7cf4003c9affb2e56dc102f99e639a
MD5 3c7e94f609464f7607ce7bc4e5ac3aae
BLAKE2b-256 d36fe164e22d28a00fa44b5199412d5a67731447e9847e73d275adff870f4392

See more details on using hashes here.

File details

Details for the file zc_buildout_languageserver-0.17.0-py3-none-any.whl.

File metadata

File hashes

Hashes for zc_buildout_languageserver-0.17.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5b7ba31be868a9e626ff896d865425c2d4118b2765a01fcbc3fe8d7773c3d73e
MD5 d06437c0952b7dc8db52f698312cb914
BLAKE2b-256 27ab0b5103c21ff794c0af7f4c927160a473aa08e69f35104f14a9bf0da131db

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page