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.14.0.tar.gz (71.3 kB view details)

Uploaded Source

Built Distribution

zc_buildout_languageserver-0.14.0-py3-none-any.whl (76.1 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for zc_buildout_languageserver-0.14.0.tar.gz
Algorithm Hash digest
SHA256 f752a5c694df91f43a6d70e849ada4aa8aa7786dc4aeb93b72e65682c2edf047
MD5 d5b18ad222a1304d56c6e65295a9749e
BLAKE2b-256 ee63eef3702480bd9ffa54a36dcd6f212193e66138579a74be28088320e3b5bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zc_buildout_languageserver-0.14.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5360a2f62f5e836deaec8b5eb39133214cff9fe87cc722c2b705ea5571cf2256
MD5 17a66233cab4dde799ef2067f78ba73f
BLAKE2b-256 2a8f0484c617c48cff87d35f521aba68bff1223ddc4811b57d753a086383670f

See more details on using hashes here.

Supported by

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