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.2.tar.gz (72.1 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.2-py3-none-any.whl (76.9 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for zc_buildout_languageserver-0.17.2.tar.gz
Algorithm Hash digest
SHA256 f11662906dfb5e1531c96c889c32e4b71fa53a17c4e61ebf2fe79bdbd99709b3
MD5 fdd46043f53fbc943a2feb1ce083bbd1
BLAKE2b-256 031a716e2d7d6eeeb34c4fc420d40fa98fbc9598646a41c360afe88895672c3a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zc_buildout_languageserver-0.17.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7df0e18964aafe59543b8e7ffbaddeba0c09416aabb9c6f170495873835ea57b
MD5 f44aedb1526628861221307706c75e82
BLAKE2b-256 b6ccb018f465d2a7c76a170d13a43d2f54308301aa0b45b152e44a22a9858fba

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