From c53d55a483f0f81f0dcdc67f762bbf2c71e96773 Mon Sep 17 00:00:00 2001 From: Jane Lewis Date: Mon, 17 Jun 2024 20:41:24 -0700 Subject: [PATCH] `ruff server`: Add tracing setup guide to Helix documentation (#11883) A follow-up to [this suggestion](https://github.com/astral-sh/ruff/pull/11747#discussion_r1634297757) on the tracing PR. --- crates/ruff_server/docs/setup/HELIX.md | 40 +++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/crates/ruff_server/docs/setup/HELIX.md b/crates/ruff_server/docs/setup/HELIX.md index 91d464f412513..5af68932d7f42 100644 --- a/crates/ruff_server/docs/setup/HELIX.md +++ b/crates/ruff_server/docs/setup/HELIX.md @@ -52,10 +52,48 @@ You can pass settings into `ruff server` using `[language-server.ruff.config.set ```toml [language-server.ruff.config.settings] -line-length = 80 +lineLength = 80 [language-server.ruff.config.settings.lint] select = ["E4", "E7"] preview = false [language-server.ruff.config.settings.format] preview = true ``` + +By default, Ruff does not log anything to Helix. To enable logging, set the `RUFF_TRACE` environment variable +to either `messages` or `verbose`. + +```toml +[language-server.ruff] +command = "ruff" +args = ["server", "--preview"] +environment = { "RUFF_TRACE" = "messages" } +``` + +> \[!NOTE\] +> `RUFF_TRACE=verbose` does not enable Helix's verbose mode by itself. You'll need to run Helix with `-v` for verbose logging. + +To change the log level for Ruff (which is `info` by default), use the `logLevel` setting: + +```toml +[language-server.ruff] +command = "ruff" +args = ["server", "--preview"] +environment = { "RUFF_TRACE" = "messages" } + +[language-server.ruff.config.settings] +logLevel = "debug" +``` + +You can also divert Ruff's logs to a separate file with the `logFile` setting: + +```toml +[language-server.ruff] +command = "ruff" +args = ["server", "--preview"] +environment = { "RUFF_TRACE" = "messages" } + +[language-server.ruff.config.settings] +logLevel = "debug" +logFile = "/Users/developer/.cache/helix/ruff.log" +```