- YAML validation:
- Detects whether the entire file is valid yaml
- Validation:
- Detects errors such as:
- Node is not found
- Node has an invalid key node type
- Node has an invalid type
- Node is not a valid child node
- Detects warnings such as:
- Node is an additional property of parent
- Detects errors such as:
- Auto completion:
- Auto completes on all commands
- Scalar nodes autocomplete to schema's defaults if they exist
- Hover support:
- Hovering over a node shows description if available
- Document outlining:
- Shows a complete document outline of all nodes in the document
- Go to definition for Templates
- Referenced templates can be resolved to a local file (if it exists)
This repo consists of 2 separate projects/packages:
-
- azure-pipelines-language-service - language service implementation for azure-pipelines
-
- azure-pipelines-language-server - language server implementation that dependes on azure-pipelines-language-service
In order to tighten the dev loop you can utilize npm link
that will sync changes to service package without re-installing.
- First, install dependencies in the language service and start watching for changes:
cd language-service
npm install
npm run watch
- Next, link the language service to the language server and start watching for changes:
cd ../language-server
npm install
npm link ../language-service
npm run watch
- Now, any changes you make in the service will automatically be reflected in the server
There's an option to connect to the language server via stdio to help with intergrating the language server into different clients.
This project was forked from the YAML Language Server by Red Hat.