Astro Language Tools
This repository contains all the editor tooling required for the Astro language (.astro
files).
Notably, it contains an implementation of the Language Server Protocol (LSP) which as of now is used for the official VSCode Extension but could also be used to power a plugin for your favorite IDE in the future.
Packages
This repository is a monorepo managed through Turbo, which means that multiple packages are in this same repo (packages
folder), here's a list:
@astrojs/language-server
The Astro language server, powered by Volar.
astro-vscode
The official VS Code extension for Astro. This enables all of the editing features you depend on in VSCode for .astro
files
@astrojs/ts-plugin
TypeScript plugin to add support for .astro
imports in .ts
files with proper typing
Features provided
These packages together power editing functionality such as:
- Go to Definition
- Code hover hints
- Code completion
- Function signatures
- Syntax highlighting
- Code folding
- Emmet
For a full list of features, see the VS Code's extension README.
Contributing
Pull requests of any size and any skill level are welcome, no contribution is too small. Changes to the Astro Language Tools are subject to Astro Governance and should adhere to the Astro Style Guide
See CONTRIBUTING.md for instructions on how to setup your development environnement
Sponsors
Astro is generously supported by Netlify, Storyblok, and several other amazing organizations.