GitHub - posit-dev/air: R formatter and language server
An R formatter and language server, written in Rust.
Installation
Air is usable both as a command line tool and as a language server inside your favorite code editors. If you'd like to use Air within a code editor, we recommend reading our editors guide. If you'd just like to use Air from the command line, you can install Air using our standalone installers.
On macOS and Linux:
curl -LsSf https://github.com/posit-dev/air/releases/latest/download/air-installer.sh | shOn Windows:
powershell -ExecutionPolicy Bypass -c "irm https://github.com/posit-dev/air/releases/latest/download/air-installer.ps1 | iex"
For a specific version:
curl -LsSf https://github.com/posit-dev/air/releases/download/0.10.0/air-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://github.com/posit-dev/air/releases/download/0.10.0/air-installer.ps1 | iex"
The installer scripts will automatically add Air to your PATH.
The very first time you install Air, for the PATH modifications to be applied you'll need to restart your terminal.
uv
If you use uv, you can install Air via the air-formatter package:
# Global install uv tool install air-formatter air format path/to/my/script.R # Invoke once without installing uvx --from air-formatter air format path/to/my/script.R
Homebrew
If you're on macOS and are familiar with Homebrew, you can install the air formula with:
Air's Homebrew formula is community-maintained.
Pixi
You can use Pixi to install Air from conda-forge:
# Add to a project pixi add air pixi run air format path/to/my/script.R # Install globally pixi global install air # Run one-off command pixi exec air format path/to/my/script.R
Air's conda-forge package is community-maintained.
mise
You can use mise to install Air from conda-forge:
# Add to a project mise use conda:air air format path/to/my/script.R # Install globally mise use --global conda:air # Run one-off command mise exec conda:air -- air format path/to/my/script.R
Air's conda-forge package is community-maintained.
Acknowledgements and inspiration
First and foremost, Air would not exist without the preexisting work and dedication poured into styler. Created by Lorenz Walthert and Kirill Müller, styler proved that the R community does care about how their code is formatted, and had been the primary implementation of the tidyverse style guide for many years.
Additionally, Air draws inspiration from many non-R sources including rust-analyzer, prettier, biome, and ruff. These are all excellent tools that provide either formatters, language servers, or both, all of which have influenced design decisions in Air, produced libraries on which we depend, or wrote code that we included in the project.
We are particularly thankful to biome, as Air is built on top of their language agnostic tooling for both building a rowan syntax tree and implementing a formatter. Biome is an open source project maintained by community members, please consider sponsoring them.