The [Language Server Protocol](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/) enables developers to provide code editing features to all code editors in a single codebase with no code editor-specific code.
## Installation
The Shopify Liquid Language Server is a [Shopify CLI](/docs/storefronts/themes/tools/cli/cli-2/commands) theme command.
## Usage basics
The Language Server is started by running the following CLI command:
## Features
The Language Server offers the following features:
- [Documentation on hover](/docs/storefronts/themes/tools/shopify-liquid-vscode#documentation-on-hover)
- [Code completion and documentation](/docs/storefronts/themes/tools/shopify-liquid-vscode#liquid-code-completion-and-documentation)
- [Code formatting](/docs/storefronts/themes/tools/shopify-liquid-vscode#code-formatting)
- [Theme checks](/docs/storefronts/themes/tools/shopify-liquid-vscode#theme-checks)
- [Code navigation](/docs/storefronts/themes/tools/shopify-liquid-vscode#code-navigation)
To learn more about the features, refer to the [Shopify Liquid VS Code extension user guide](/docs/storefronts/themes/tools/cli/language-server).
## Editor integration
Every editor has its own way of integrating with Language Servers, but the principle is always the same: telling the editor how to start the Language Server.
[View some example implementations in the Theme Tools repo](https://github.com/Shopify/theme-tools/wiki).
## Contributing to the Language Server
The Shopify Liquid Language Server is open source and part of our suite of theme developer tools.
Learn how to contribute to the [`theme-tools` repository](https://github.com/Shopify/theme-tools/blob/main/docs/contributing.md)