Metadata-Version: 2.1
Name: zc.buildout.languageserver
Version: 0.4.0
Summary: A language server for zc.buildout
Home-page: UNKNOWN
License: UNKNOWN
Description: A [Language Server](https://microsoft.github.io/language-server-protocol/) for [zc.buildout](http://www.buildout.org/).
        
        This language server is implemented using [pygls](https://github.com/openlawlibrary/pygls).
        
        # Installation
        
        ## Standalone
        
        Needs a python >= 3.6.
        
        ```bash
        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
        
        - `${` 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".
        
        ## 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.
        
        ## 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.
        # Changelog
        
        All notable changes to this project will be documented in this file.
        
        The format is based on [Keep a Changelog][keepachangelog],
        and this project adheres to [Semantic Versioning][semver].
        
        ## [Unreleased]
        
        ## [0.4.0] - 2020-10-08
        
        ### Fixed:
        
        - don't skip lines containing jinja expressions. This was causing some missing options when jinja was used in option
        - diagnostic: tolerate unknown part when extends jinja
        
        ## [0.3.0] - 2020-02-23
        
        ### Added:
        
        - support http URLs in `${buildout:extends}`
        
        ## [0.2.1] - 2020-04-25
        
        ### Fixed
        
        - references: consider listing a section in `${buildout:parts}` as a reference.
        - completions: use `textEdit` to 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-12
        
        ### Added:
        
        - support running with buildout < 2.9.3
        - initial support of `instance.cfg` defined using `slapos.recipe.template:jinja2`
        
        ### Fixed
        
        - fixed 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 names
        - diagnostic: Fix false positives on `${buildout:parts}` with extended sections
        - diagnostic: Fix false positives on `${buildout:parts}` when dynamically adding parts with jinja.
        
        ## [0.1.1] - 2020-01-30
        
        ### Added
        
        - 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}`.
        
        ## 0.1.0 - 2020-01-04
        
        - Initial Version
        
        [keepachangelog]: https://keepachangelog.com/en/1.0.0/
        [semver]: https://semver.org/spec/v2.0.0.html
        [0.1.1]: https://github.com/perrinjerome/vscode-zc-buildout/compare/v0.1.0...v0.1.1
        [0.2.0]: https://github.com/perrinjerome/vscode-zc-buildout/compare/v0.1.1...v0.2.0
        [0.2.1]: https://github.com/perrinjerome/vscode-zc-buildout/compare/v0.2.0...v0.2.1
        [0.3.0]: https://github.com/perrinjerome/vscode-zc-buildout/compare/v0.2.1...v0.3.0
        [0.4.0]: https://github.com/perrinjerome/vscode-zc-buildout/compare/v0.2.1...v0.4.0
        [unreleased]: https://github.com/perrinjerome/vscode-zc-buildout/compare/v0.4.0...master
        
Keywords: zc.buildout languageserver
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development
Classifier: Framework :: Buildout
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.6.*
Description-Content-Type: text/markdown
Provides-Extra: test
