Printing file paths as file URLs is very handy since you can click on them and the file will open. This happens in Konsole at least.
Do other command line tools have an option like this? I don't think I've seen anything like it.
@BurntSushi: I don't know off the top of my head. You also encounter such such links while paging log output, for example.
To be clear, this isn't a question but a feature request. 馃檪
Similar feature requests
Added value
wget and curlecho -e "/path1\n/path2" | xargs -n1 -I{} echo file://{}
file:///path1
file:///path2
You may do the same for rg without modifying it.
I think I'm going to close this. I don't see a lot of other tools doing this, and it should be possible to write a wrapper script to do this for you if you really want it.
@BurntSushi:
Important interesting precedent: https://github.com/systemd/systemd/blob/903511951892008b991991962fef2e8ecc65bc6c/NEWS#L220-L232.
I think this should be reopened and properly considered. Its insanely useful. Certain terminal apps such as iterm2 does it by default. But it could work across ALL of them if rg outputted links with the file:// syntax.
@BurntSushi I am not quite sure how this is implemented, but I just learned that ls has a feature ls --hyperlink=auto (or always or never), which causes it to emit things with ANSI shell magic that makes them clickable links in my terminal. Here's an example:
alexgaynor@penguin ~/p/step-expirements> ls --hyperlink=always example.py
example.py
alexgaynor@penguin ~/p/step-expirements> ls --hyperlink=always example.py | xxd
00000000: 1b5d 383b 3b66 696c 653a 2f2f 7065 6e67 .]8;;file://peng
00000010: 7569 6e2f 686f 6d65 2f61 6c65 7867 6179 uin/home/alexgay
00000020: 6e6f 722f 7072 6f6a 6563 7473 2f73 7465 nor/projects/ste
00000030: 702d 6578 7069 7265 6d65 6e74 732f 6578 p-expirements/ex
00000040: 616d 706c 652e 7079 0765 7861 6d70 6c65 ample.py.example
00000050: 2e70 791b 5d38 3b3b 070a .py.]8;;..
If ls can have nice things, surely a program as awesome as rg can 馃槀
This is fairly comprehensive documentation on the hyperlink feature that @alex mentioned: https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda
Any chance this will be reopened? As mentioned above, there is widespread support for hyperlinks on modern terminal emulators and tools like ls have built-in support for this.
FYI: Here is a wrapper implementation that actually allows you to click on results and open them in your editor at the matched line. https://sw.kovidgoyal.net/kitty/kittens/hyperlinked_grep.html
Note that it works with the kitty terminal.
Most helpful comment
I think this should be reopened and properly considered. Its insanely useful. Certain terminal apps such as iterm2 does it by default. But it could work across ALL of them if rg outputted links with the
file://syntax.