From 8b766a2522f419ac33552b2f82ec2ad79646c601 Mon Sep 17 00:00:00 2001 From: Andrew Gallant Date: Wed, 11 Oct 2023 19:54:24 -0400 Subject: [PATCH] ripgrep: disable hyperlinks by default As a result of discussion in #2611, it seems prudent to disable hyperlinks by default. Ideally they would be enabled, but it looks like some environments may barf on them. Since this is the first release with hyperlink support, it makes sense to me at least to make users opt into them. This does not preclude enabling them by default in future releases. --- crates/core/app.rs | 10 ++++++---- crates/core/args.rs | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/crates/core/app.rs b/crates/core/app.rs index f78ed8dd..3e0247f4 100644 --- a/crates/core/app.rs +++ b/crates/core/app.rs @@ -1565,10 +1565,12 @@ empty string. A format string may be empty. An empty format string is equivalent to the 'none' alias. In this case, hyperlinks will be disabled. -At present, the default format when ripgrep detects a tty on stdout all systems -is 'default'. This is an alias that expands to file://{host}{path} on Unix and -file://{path} on Windows. When stdout is not a tty, then the default format -behaves as if it were 'none'. That is, hyperlinks are disabled. +At present, ripgrep does not enable hyperlinks by default. Users must opt into +them. If you aren't sure what format to use, try 'default'. + +When ripgrep detects a tty on stdout then hyperlinks are automatically +disabled, regardless of the value of this flag. Users can pass '--color always' +to forcefully emit hyperlinks. Note that hyperlinks are only written when a path is also in the output and colors are enabled. To write hyperlinks without colors, you'll need to diff --git a/crates/core/args.rs b/crates/core/args.rs index 05d015aa..6125f5e8 100644 --- a/crates/core/args.rs +++ b/crates/core/args.rs @@ -1136,7 +1136,7 @@ impl ArgMatches { .wsl_prefix(wsl_prefix()); let fmt: HyperlinkFormat = match self.value_of_lossy("hyperlink-format") { - None => "default".parse().unwrap(), + None => "none".parse().unwrap(), Some(format) => match format.parse() { Ok(format) => format, Err(err) => {