# redhat-developer/yaml-language-server

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/redhat-developer-yaml-language-server).**

1,486 stars · 338 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/redhat-developer/yaml-language-server
- awesome-repositories: https://awesome-repositories.com/repository/redhat-developer-yaml-language-server.md

## Topics

`language-server` `yaml` `yaml-support`

## Description

The YAML Language Server is a backend service that provides intelligent editing support for YAML files by implementing the Language Server Protocol. It functions as a validation and analysis engine, enabling code editors to offer real-time diagnostics, structural feedback, and automated assistance for configuration-heavy development workflows.

The project distinguishes itself through its schema-driven approach to data integrity, utilizing a JSON Schema validation engine to verify document structure against formal definitions. It supports complex configuration management by allowing developers to associate files with specific schemas via glob patterns, and it extends its parsing capabilities to handle custom YAML tags, ensuring that non-standard data types are correctly recognized and validated.

Beyond core validation, the server provides a suite of productivity tools including intelligent code completion, contextual documentation via hover tooltips, and automated document formatting. It also generates hierarchical symbols for document outlining, facilitating navigation within large or complex configuration files. The service processes documents incrementally to provide immediate feedback during the editing process.

## Tags

### Development Tools & Productivity

- [Language Server Protocol Implementations](https://awesome-repositories.com/f/development-tools-productivity/language-server-protocol-implementations.md) — Communicates with code editors using a standardized JSON-RPC interface to provide real-time diagnostics and intelligent code assistance.
- [Development Tools & Productivity](https://awesome-repositories.com/f/development-tools-productivity.md) — Enhances the code editing experience by providing contextual documentation, document navigation, and automated formatting for configuration-heavy development workflows.
- [Code Intelligence Snippets](https://awesome-repositories.com/f/development-tools-productivity/ai-coding-assistants/intelligent-development-assistants/code-intelligence-snippets.md) — Provides intelligent autocompletion for keys and values based on associated data schemas, including default values for scalar nodes. ([source](https://github.com/redhat-developer/yaml-language-server#readme))
- [Document Structure Navigators](https://awesome-repositories.com/f/development-tools-productivity/documentation-navigation/document-structure-navigators.md) — Generates hierarchical symbols for data nodes to enable quick navigation and outline views within an editor for complex configuration files. ([source](https://github.com/redhat-developer/yaml-language-server/blob/main/README.md))
- [Glob-Based File Location](https://awesome-repositories.com/f/development-tools-productivity/file-pattern-matching/name-pattern-filters/glob-based-file-location.md) — Matches configuration files to specific validation rules by evaluating file paths against defined pattern rules at runtime.
- [IDE Language Plugins](https://awesome-repositories.com/f/development-tools-productivity/ide-language-plugins.md) — Provides a protocol-based service that enables advanced editing features like document outlining and symbol navigation for structured data formats.
- [Integrated Development Environment Plugins](https://awesome-repositories.com/f/development-tools-productivity/integrated-development-environment-plugins.md) — Integrates with code editors as a backend service to provide real-time feedback, documentation, and navigation for configuration files.

### DevOps & Infrastructure

- [General YAML Syntax Validators](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/cicd-pipeline-management/ci-cd-workflows/ci-formatting-checks/general-yaml-syntax-validators.md) — Checks files for structural errors and adherence to schema definitions to provide real-time feedback and prevent configuration issues during editing. ([source](https://github.com/redhat-developer/yaml-language-server/blob/main/tsconfig.esm.json))
- [Infrastructure Configuration Validations](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-configuration-validations.md) — Supports writing and maintaining complex configuration files by providing real-time validation, intelligent autocompletion, and schema-based guidance for developers.

### Software Engineering & Architecture

- [Data Schema Validation](https://awesome-repositories.com/f/software-engineering-architecture/data-schema-validation.md) — Ensures that structured data files adhere to predefined schemas and business rules to maintain data integrity across software projects.
- [JSON Schema Validation](https://awesome-repositories.com/f/software-engineering-architecture/json-schema-validation.md) — Evaluates document structure against formal data definitions to identify type mismatches and missing required properties during editing.
- [Abstract Syntax Tree Parsing](https://awesome-repositories.com/f/software-engineering-architecture/abstract-syntax-tree-parsing.md) — Converts raw YAML text into a hierarchical node structure to enable efficient document navigation and precise location of syntax errors.
- [YAML Tag Customization](https://awesome-repositories.com/f/software-engineering-architecture/application-lifecycle-management/configuration-management/configuration-formats-and-schemas/yaml-configuration-files/yaml-serializers/yaml-tag-customization.md) — Allows the parser to recognize and validate non-standard data types by registering specialized handlers for application-specific YAML tags.

### Data & Databases

- [YAML Format Modifiers](https://awesome-repositories.com/f/data-databases/data-serialization-formats/data-formats/output-format-rendering/yaml-format-modifiers.md) — Standardizes document layout by applying consistent indentation, spacing, and wrapping rules to improve readability and maintainability of configuration files. ([source](https://github.com/redhat-developer/yaml-language-server#readme))
- [Kubernetes Manifest Editors](https://awesome-repositories.com/f/data-databases/inline-data-editing/kubernetes-manifest-editors.md) — Enables creating and editing Kubernetes resource files with automated schema validation to ensure compliance with cluster requirements and prevent deployment errors.

### User Interface & Experience

- [Informative Tooltips](https://awesome-repositories.com/f/user-interface-experience/styled-properties/popup-styling/contextual-popups/informative-tooltips.md) — Shows schema descriptions, anchor details, and source information in hover tooltips to help users understand the underlying structure of complex data files. ([source](https://github.com/redhat-developer/yaml-language-server/blob/main/README.md))

### Web Development

- [Incremental Parse Feedback](https://awesome-repositories.com/f/web-development/streaming-rendering/incremental-content-streaming/token-level-incremental-processing/incremental-parse-feedback.md) — Processes only modified sections of a file to provide immediate feedback without re-parsing the entire document on every keystroke.
