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.



Needs a python >= 3.6.

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.



  • ${ 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.


  • non existant section and options in ${section:option} references.
  • required options not defined for a a few "known recipes".


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


  • ${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.


  • Hover on an option show the option value.

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.

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.


All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.




  • definitions: paths from ${buildout:extends} can also be opened with jump to definition.
  • completions: fix insertText with -.
  • diagnostics: detect missing non existant sections listed in ${buildout:parts}.
  • diagnostics: detect sections without recipe listed in ${buildout:parts}.


  • Initial Version

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.1.1.tar.gz (25.9 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page