> Side note. It would be interesting to have a slightly different > form of --and called --near. You would use it like this: > > git grep -C -e AND --near -e OR > > to find lines that has AND on it, and within the context > distance there is a line that has OR on it. The lines that are > hit with such a query are still the ones that have AND on them > (in other words, a line that has OR is used to further filter > out the results so it will be prefixed with '-', not ':', unless > that line happens to also have AND on it). Nice idea even though I don't now about practical importance but it sounds quite handy. A few questions about this (some or all of those features may make it quite complex): 1. Should the context of near be the same as -[ABC] or perhaps --near=N / --near=N:M (default could be the same as specified by -[ABC]). 2. Should it be possible to specify another boolean expression after --near? e.g. --near ( -e foo --or ( -e bar --and -e baz )) to match if the context contains foo or 'bar and baz'. 3. Is --near just another subexpression? e.g. search for foo with either A or B in the context: -e foo --and ( --near A --or --near B ) This does not make sense without 1 and 2. With some or all of those features quite mighty and complex expressions can be build: -e A --and --near=3:-1 ( -e B --and --near=0:0 ( -e foo --and -e bar ) ) This could mean: find lines containing A and have B in any of the 3 lines before A (without the line containing A). Additionally foo and bar have to be found on the same line before A. I'm really not asking for this, just telling about some ideas that come to my mind for --near. > With your syntax perhaps this is spelled as "--near -C -e AND -e > OR". Huh? What do you mean by "my syntax"? The only thing different is the option to change the default operator to 'and'. With the new extended expressions it would be really nice if git-grep could also be used outside a git repository :) - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html