bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#46859: 28.0.50; [PATCH]: Add option to truncate long lines in xref.e


From: Gregory Heytings
Subject: bug#46859: 28.0.50; [PATCH]: Add option to truncate long lines in xref.el
Date: Wed, 03 Mar 2021 20:34:46 +0000


OK, so we get the byte offset, but not the length of the match (which we'll also need later, for purposes such as highlighting and replacement). And what happens if there are several matches on the same line? We need columns for all of them.

I don't know exactly what you want to do, I initially chimed in this conversation to react to Juri's "GNU grep has no option to truncate output", to mention that GNU grep does have an option to do this; perhaps it doesn't do exactly what you want.

By an option I meant a command line switch of GNU grep, not something that looks like a hack.


It's not a hack at all, it's a command line switch: -o. The amount of context, which defaults to zero, is given in the regexp instead of as an argument to the command line switch.

This -o option has been present since GNU grep 2.5, twenty years ago.

You can use it together with other options:

grep -o PATTERN FILE prints the matches
grep -no PATTERN FILE prints the matches and their line number
grep -bo PATTERN FILE prints the matches and their offset
grep -bo '.\{0,BEFORE\}PATTERN.\{0,AFTER\}' FILE prints the matches with a 
given BEFORE and AFTER context

and so forth.

And the -o option is supported by ripgrep, ag and ack, with almost the same syntax.

It's perhaps not what you want, but at least to me it seems more powerful than ripgrep's -M option.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]