grep: make use of output labeling
authorBrodie Rao <brodie@bitheap.org>
Fri, 02 Apr 2010 15:22:03 -0500
changeset 10816 635d601e8f21
parent 10815 32b213b9b22c
child 10817 2096496b40ec
grep: make use of output labeling
mercurial/commands.py
--- a/mercurial/commands.py	Fri Apr 02 15:22:00 2010 -0500
+++ b/mercurial/commands.py	Fri Apr 02 15:22:03 2010 -0500
@@ -1353,6 +1353,7 @@
             iter = [('', l) for l in states]
         for change, l in iter:
             cols = [fn, str(rev)]
+            before, match, after = None, None, None
             if opts.get('line_number'):
                 cols.append(str(l.linenum))
             if opts.get('all'):
@@ -1367,8 +1368,15 @@
                     continue
                 filerevmatches[c] = 1
             else:
-                cols.append(l.line)
-            ui.write(sep.join(cols), eol)
+                before = l.line[:l.colstart]
+                match = l.line[l.colstart:l.colend]
+                after = l.line[l.colend:]
+            ui.write(sep.join(cols))
+            if before is not None:
+                ui.write(sep + before)
+                ui.write(match, label='grep.match')
+                ui.write(after)
+            ui.write(eol)
             found = True
         return found