# R R support is available via multiple R Zed extensions: - [ocsmit/zed-r](https://github.com/ocsmit/zed-r) - Tree-sitter: [r-lib/tree-sitter-r](https://github.com/r-lib/tree-sitter-r) - Language-Server: [REditorSupport/languageserver](https://github.com/REditorSupport/languageserver) - [posit-dev/air](https://github.com/posit-dev/air/tree/main/editors/zed) - Language-Server: [posit-dev/air](https://github.com/posit-dev/air) ## Installation 1. [Download and Install R](https://cloud.r-project.org/). 2. Install the R packages `languageserver` and `lintr`: ```R install.packages("languageserver") install.packages("lintr") ``` 3. Install the [ocsmit/zed-r](https://github.com/ocsmit/zed-r) through Zed's extensions manager. For example on macOS: ```sh 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](https://github.com/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). ```r 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, ```r exclusions: list(".") ``` See [Using lintr](https://lintr.r-lib.org/articles/lintr.html) for a complete list of options, ### Formatting `REditorSupport/languageserver` bundles support for [r-lib/styler](https://github.com/r-lib/styler) as a formatter. See [Customizing Styler](https://cran.r-project.org/web/packages/styler/vignettes/customizing_styler.html) for more information on how to customize its behavior.