Package: zc.buildout.languageserver
ALanguage Serverforzc.buildout.This language server is implemented usingpygls.InstallationStandaloneNeeds a python >= 3.8.python-mpipinstallzc.buildout.languageserverThen configure your editor to runbuildoutls( orpython3 -m buildoutls).From vscode extensionOn 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.FeaturesCompletions${complete sections.${section:completesection's options. Ifsectionuses a known recipe, dynamic options from the recipe are also completed.${buildout:extends}completes filenames.${buildout:parts}and<=option completes parts.Diagnosticsnon 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 vulnerabilitiesSymbolsSections and options are shown are displayed in outline as symbols.Links${buildout:extends}are links.Go to definitionsfrom${section:options}we can go to the location whereoptionis defined insection, or tosectionheader if it's not defined.from<= sectionwe can go tosection.from${buildout:extends}we can go to the extended profile.HoverHover on an option show the option value.Find referencesFind references of the current symbol. A bit simple, it only look for references and does not check if profiles reallyextendseach other. It does not look in templates either.Code actionsupdate a python package from[versions]to its latest version on pypicompute themd5sumof an urlTemplate support"current" buildout profile is guessed, then completions and diagnostics should work on any files.Jinja2 supportJinja syntax is syntax highlighted and jinja syntax markers are ignored when parsing buildout.SlapOS supportSlapOS instance buildout (ie. buildout generated by buildout) is understood,${and$${are treated separatly for completions and diagnostics.ChangelogAll notable changes to this project will be documented in this file.The format is based onKeep a Changelog,
and this project adheres toSemantic Versioning.Unreleased0.12.0- 2023-10-08support python 3.12version up dependenciesFixedhover: fix crash when opening instance.cfg.in without opening a folder (by updating pygls)0.11.0- 2023-10-04Addedcode actions: support cancellation of md5sum commandFixedhover: fix crash when opening instance.cfg.in outside of workspace folder0.10.1- 2023-09-20Fixedrevert: code actions: support cancellation of md5sum command, this needs an unreleased pygls0.10.0- 2023-09-20Addedcode actions: support cancellation of md5sum commandreferences: support cancellation0.9.3- 2023-09-19Fixedserver: Fix crash when hover .cfg.in in gitlens viewsclient,server: update dependencies0.9.2- 2023-02-24Fixedserver: fixed definition ofpython_requires0.9.1- 2023-02-24Addedclient: version up dependencies0.9.0- 2023-01-01Addedupdate to pygls 1.00.8.3- 2022-11-06Fixedclient: revert to older vscode and vscode-languageclient dependenciesAddedserver: support more slapos recipes0.8.2- 2022-10-29Fixed:client: install with requirements.txt to install a fixed versionAdded:client: version up dependenciesserver: support python 3.110.8.1- 2022-07-03Fixed:code_actions: fix visit project on pypi when invoked from option keyaiohttp: don't set global timeout0.8.0- 2022-07-02Added:switch fromrequeststoaiohttp. Doing http requests asynchronously and in the case of pypi diagnostics, concurrently.diagnostic: lower severity of option redefined to same value to information leveldiagnostic: add hint level diagnostic for every redefined valuecli: new--log-pyglsflag to include pygls logs. By default they are not included.diagnostic: report unknown pypi projects or versionsFixed:pypi: fix a crash when unknown project is listed inversionsdiagnostic: don't emit false positives for profiles generated with jinjafix crash with empty${buildout:extends}0.7.1- 2022-05-08Added:recipe: support defining deprecated optionsrecipe: supportslapos.recipe.templateversion 0.5Fixed:recipe: fix some markdown syntax in recipe docs0.7.0- 2022-04-03Added:code actions: report progress when updating md5sumexpose commands to start & stop profiling.Fixed:significantly improve performance by implementing .copy() method and using an intermediate cache.fix crash when completing option made only of spacefix crash when completing after ${}0.6.2- 2022-01-06Fixed:fix a packaging mistake with the vscode extension0.6.1- 2022-01-04Fixed:fix problems with automatic publishing of packages0.6.0- 2022-01-04Added:diagnostic: report versions with known vulnerabilitiescode action: update a python package listed inversionsto latest versioncode action: view a python package page on pypicode action: compute md5sum of an urlRemovedsupport for python 3.6, minimal supported version is now 3.7Fixed:completions: don't offer completions in commentsfix performance issues by cancelling pending tasksactually the fix was wrong0.5.0- 2021-03-28Added:diagnostic: warn when options are redefining the current valuecompletions: complete existing options of current sectionsdiagnostic: support recipes with arbitrary options (like slapos.recipe.build)diagnostic: report error when existing non existant profilesFixed:stop emitting false positives diagnostics with multi line jinjastop emitting false positives diagnostics for missing sections/options when extending dynamic profilefixed "add line comment" action0.4.0- 2020-10-08Fixed:don't skip lines containing jinja expressions. This was causing some missing options when jinja was used in optiondiagnostic: tolerate unknown part when extends jinja0.3.0- 2020-02-23Added:support http URLs in${buildout:extends}0.2.1- 2020-04-25Fixedreferences: consider listing a section in${buildout:parts}as a reference.completions: usetextEditto properly overwrite exiting text.all: debounce protocol functions to accept cancellations.all: fix errors when opening profiles outside of workspace.0.2.0- 2020-02-12Added:support running with buildout < 2.9.3initial support ofinstance.cfgdefined usingslapos.recipe.template:jinja2Fixedfixed broken v0.1.1 release, it could not be installed from pypi.diagnostics: prevent "missing required options" false positive on sections used only as macros.diagnostic: Correctly analyze sections with.or-in their namesdiagnostic: Fix false positives on${buildout:parts}with extended sectionsdiagnostic: Fix false positives on${buildout:parts}when dynamically adding parts with jinja.0.1.1- 2020-01-30Addeddefinitions: 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}.0.1.0 - 2020-01-04Initial Version