/kedge-language-server

Language Server for Yaml Files

Primary LanguageTypeScriptMIT LicenseMIT

Build Status version Coverage Status

YAML Language Server

Features

  1. YAML validation:
    • Detects whether the entire file is valid yaml
  2. 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
  3. Auto completion:
    • Auto completes on all commands
    • Scalar nodes autocomplete to schema's defaults if they exist
  4. Hover support:
    • Hovering over a node shows description if available

Language Server Settings

yaml.schemas: The entrance point for new schema.

yaml.schemas: {
    "url": "globPattern",
    "kubernetes": "globPattern"
}

kubernetes is an optional field. It does not require a url as the language server will provide that. You just need the key word kubernetes and a glob pattern.

Clients

This repository only contains the server implementation. Here are some known clients consuming this server:

Developer Support

Getting started

  1. Install prerequisites:
  2. Fork and clone this repository
  3. Install the dependencies
    cd yaml-language-server
    $ npm install
  4. Build the language server
    $ npm run compile
  5. The new built server is now location in out/server/src/server.js.
    node (Yaml Language Server Location)/out/server/src/server.js [--stdio]

Connecting to the language server via stdio

We have included the option to connect to the language server via stdio to help with intergrating the language server into different clients.