Mercurial > hg
changeset 29855:fac24eab65a4
grep: factor out function that prints matched line with labels
Prepares for formatter support.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Thu, 18 Aug 2016 14:09:49 +0900 |
parents | b842b1adfea2 |
children | 37d838e8eb0b |
files | mercurial/commands.py |
diffstat | 1 files changed, 9 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/commands.py Thu Aug 18 14:03:25 2016 +0900 +++ b/mercurial/commands.py Thu Aug 18 14:09:49 2016 +0900 @@ -4356,14 +4356,6 @@ yield m.span() p = m.end() - def __iter__(self): - p = 0 - for s, e in self.findpos(): - yield self.line[p:s], '' - yield self.line[s:e], 'grep.match' - p = e - yield self.line[p:], '' - matches = {} copies = {} def grepbody(fn, rev, body): @@ -4424,14 +4416,21 @@ if not opts.get('text') and binary(): ui.write(_(" Binary file matches")) else: - for s, label in l: - ui.write(s, label=label) + displaymatches(l) ui.write(eol) found = True if opts.get('files_with_matches'): break return found + def displaymatches(l): + p = 0 + for s, e in l.findpos(): + ui.write(l.line[p:s]) + ui.write(l.line[s:e], label='grep.match') + p = e + ui.write(l.line[p:]) + skip = {} revfiles = {} matchfn = scmutil.match(repo[None], pats, opts)