R | Zed Code Editor Documentation
Description: Learn how to use and customize Zed, the fast, collaborative code editor. Official docs on features, configuration, AI tools, and workflows.

# R

R support is available via multiple R Zed extensions:

- ocsmit/zed-r

  - Tree-sitter: r-lib/tree-sitter-r
  - Language-Server: REditorSupport/languageserver

- posit-dev/air

  - Language-Server: posit-dev/air

## Installation

1. Download and Install R.
2. Install the R packages `languageserver` and `lintr`:

    install.packages("languageserver")
    install.packages("lintr")

3. Install the ocsmit/zed-r through Zed's extensions manager.

For example on macOS:

    brew install --cask r
    Rscript --version
    Rscript -e 'options(repos = "https://cran.rstudio.com/"); install.packages("languageserver")'
    Rscript -e 'options(repos = "https://cran.rstudio.com/"); install.packages("lintr")'
    Rscript -e 'packageVersion("languageserver")'
    Rscript -e 'packageVersion("lintr")'

## Configuration

### Linting

`REditorSupport/languageserver` bundles support for r-lib/lintr as a linter. This can be configured via the use of a `.lintr` inside your project (or in your home directory for global defaults).

    linters: linters_with_defaults(
        line_length_linter(120),
        commented_code_linter = NULL
      )
    exclusions: list(
        "inst/doc/creating_linters.R" = 1,
        "inst/example/bad.R",
        "tests/testthat/exclusions-test"
      )

Or exclude it from linting anything,

    exclusions: list(".")

See Using lintr for a complete list of options,

### Formatting

`REditorSupport/languageserver` bundles support for r-lib/styler as a formatter. See Customizing Styler for more information on how to customize its behavior.