0.9.0
Release Notes
-
New
--stdin-file-path <path>to read from stdin. Read more about this on the website (#471). -
Air's behavior relating to directly supplied files and the
exclude/default-excludeoptions has changed to be safer by default. Previously,air format cpp11.Rwould formatcpp11.R, even though it was part of the set ofdefault-excludes, because we assumed that a direct request from a user like this could override these rules. However, tools such as pre-commit or IDEs that format via stdin will blindly callair formaton any file that changes and have no knowledge of whether that file should be excluded or not. For this reason, we now exclude files that matchexcludeordefault-excludepatterns even if they are directly supplied on the command line.Similarly,
air format my.qmdno longer attempts to formatmy.qmd. This file is not excluded byexcludeordefault-exclude, but is also not included by our internal set ofdefault-includes, which currently only accept.Rand.rfiles. Rather than blindly trying to format this directly supplied file, Air now ignores it (#476). -
New
--forceflag to bypass all exclusion and inclusion rules and force a file or folder to be formatted. This flag applies recursively, meaning that all files within a forced folder will also be forcibly formatted, regardless of file type. This flag should rarely be needed, but serves as an escape hatch for cases likeair format r-code.txt --force, which is no longer automatically formatted by Air as of this release due to the change mentioned above (#478). -
New
air generate-shell-completion <SHELL>hidden command that emits a script to stdout that generates shell completions. Supports bash, zsh, fish, powershell, and elvish (#477, @salim-b).For zsh, run the following to add to your
.zshrc:echo 'eval "$(air generate-shell-completion zsh)"' >> ~/.zshrc
For powershell, run the following to add to your profile:
if (!(Test-Path -Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force } Add-Content -Path $PROFILE -Value '(& air generate-shell-completion powershell) | Out-String | Invoke-Expression'
Then restart your shell and type
air <tab>to see completions.
Install air 0.9.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/posit-dev/air/releases/download/0.9.0/air-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/posit-dev/air/releases/download/0.9.0/air-installer.ps1 | iex"Download air 0.9.0
| File | Platform | Checksum |
|---|---|---|
| air-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| air-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| air-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| air-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| air-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| air-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |