Improve R documentation (#33594)

Release Notes:

- N/A
This commit is contained in:
Peter Tripp 2025-06-29 12:21:10 -04:00 committed by GitHub
parent 047d515abf
commit a602b4b305
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,9 +1,14 @@
# R
R support is available through the [R extension](https://github.com/ocsmit/zed-r).
R support is available via multiple R Zed extensions:
- Tree-sitter: [r-lib/tree-sitter-r](https://github.com/r-lib/tree-sitter-r)
- Language-Server: [REditorSupport/languageserver](https://github.com/REditorSupport/languageserver)
- [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
@ -15,7 +20,7 @@ install.packages("languageserver")
install.packages("lintr")
```
3. Install the [R Zed extension](https://github.com/ocsmit/zed-r) through Zed's extensions manager.
3. Install the [ocsmit/zed-r](https://github.com/ocsmit/zed-r) through Zed's extensions manager.
For example on macOS:
@ -28,7 +33,65 @@ Rscript -e 'packageVersion("languageserver")'
Rscript -e 'packageVersion("lintr")'
```
## Ark Installation
## 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.
### REditorSupport/languageserver Configuration
You can configure the [R languageserver settings](https://github.com/REditorSupport/languageserver#settings) via Zed Project Settings `.zed/settings.json` or Zed User Settings `~/.config/zed/settings.json`:
For example to disable Lintr linting and suppress code snippet suggestions (both enabled by default):
```json
{
"lsp": {
"r_language_server": {
"settings": {
"r": {
"lsp": {
"diagnostics": false,
"snippet_support": false
}
}
}
}
}
}
```
<!--
TBD: R REPL Docs
## REPL
### Ark Installation
To use the Zed REPL with R you need to install [Ark](https://github.com/posit-dev/ark), an R Kernel for Jupyter applications.
You can down the latest version from the [Ark GitHub Releases](https://github.com/posit-dev/ark/releases) and then extract the `ark` binary to a directory in your `PATH`.
@ -56,6 +119,4 @@ unzip ark-latest-linux.zip ark
sudo mv /tmp/ark /usr/local/bin/
```
<!--
TBD: R REPL Docs
-->