/language-tools

Language tools for Astro

Primary LanguageTypeScriptMIT LicenseMIT

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:

The Astro language server, powered by Volar.

The official VS Code extension for Astro. This enables all of the editing features you depend on in VSCode for .astro files

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 environment

Sponsors

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

❤️ Sponsor Astro! ❤️

sponsors