withastro / language-tools

Language tools for Astro
MIT License
240 stars 45 forks source link
editor-plugin lsp-server typescript-plugin vscode

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:

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 environment

Sponsors

Astro is generously supported by Netlify, Storyblok, and several other amazing organizations.

❤️ Sponsor Astro! ❤️

sponsors