Show More
@@ -224,6 +224,13 b' except ImportError:' | |||||
224 | _terminfo_params = False |
|
224 | _terminfo_params = False | |
225 |
|
225 | |||
226 | _styles = {'grep.match': 'red bold', |
|
226 | _styles = {'grep.match': 'red bold', | |
|
227 | 'grep.linenumber': 'green', | |||
|
228 | 'grep.rev': 'green', | |||
|
229 | 'grep.change': 'green', | |||
|
230 | 'grep.sep': 'cyan', | |||
|
231 | 'grep.filename': 'magenta', | |||
|
232 | 'grep.user': 'magenta', | |||
|
233 | 'grep.date': 'magenta', | |||
227 | 'bookmarks.current': 'green', |
|
234 | 'bookmarks.current': 'green', | |
228 | 'branches.active': 'none', |
|
235 | 'branches.active': 'none', | |
229 | 'branches.closed': 'black bold', |
|
236 | 'branches.closed': 'black bold', |
@@ -2994,16 +2994,17 b' def grep(ui, repo, pattern, *pats, **opt' | |||||
2994 | else: |
|
2994 | else: | |
2995 | iter = [('', l) for l in states] |
|
2995 | iter = [('', l) for l in states] | |
2996 | for change, l in iter: |
|
2996 | for change, l in iter: | |
2997 | cols = [fn, str(rev)] |
|
2997 | cols = [(fn, 'grep.filename'), (str(rev), 'grep.rev')] | |
2998 | before, match, after = None, None, None |
|
2998 | before, match, after = None, None, None | |
|
2999 | ||||
2999 | if opts.get('line_number'): |
|
3000 | if opts.get('line_number'): | |
3000 | cols.append(str(l.linenum)) |
|
3001 | cols.append((str(l.linenum), 'grep.linenumber')) | |
3001 | if opts.get('all'): |
|
3002 | if opts.get('all'): | |
3002 | cols.append(change) |
|
3003 | cols.append((change, 'grep.change')) | |
3003 | if opts.get('user'): |
|
3004 | if opts.get('user'): | |
3004 | cols.append(ui.shortuser(ctx.user())) |
|
3005 | cols.append((ui.shortuser(ctx.user()), 'grep.user')) | |
3005 | if opts.get('date'): |
|
3006 | if opts.get('date'): | |
3006 | cols.append(datefunc(ctx.date())) |
|
3007 | cols.append((datefunc(ctx.date()), 'grep.date')) | |
3007 | if opts.get('files_with_matches'): |
|
3008 | if opts.get('files_with_matches'): | |
3008 | c = (fn, rev) |
|
3009 | c = (fn, rev) | |
3009 | if c in filerevmatches: |
|
3010 | if c in filerevmatches: | |
@@ -3013,12 +3014,16 b' def grep(ui, repo, pattern, *pats, **opt' | |||||
3013 | before = l.line[:l.colstart] |
|
3014 | before = l.line[:l.colstart] | |
3014 | match = l.line[l.colstart:l.colend] |
|
3015 | match = l.line[l.colstart:l.colend] | |
3015 | after = l.line[l.colend:] |
|
3016 | after = l.line[l.colend:] | |
3016 | ui.write(sep.join(cols)) |
|
3017 | for col, label in cols[:-1]: | |
|
3018 | ui.write(col, label=label) | |||
|
3019 | ui.write(sep, label='grep.sep') | |||
|
3020 | ui.write(cols[-1][0], label=cols[-1][1]) | |||
3017 | if before is not None: |
|
3021 | if before is not None: | |
|
3022 | ui.write(sep, label='grep.sep') | |||
3018 | if not opts.get('text') and binary(): |
|
3023 | if not opts.get('text') and binary(): | |
3019 |
ui.write( |
|
3024 | ui.write(" Binary file matches") | |
3020 | else: |
|
3025 | else: | |
3021 |
ui.write( |
|
3026 | ui.write(before) | |
3022 | ui.write(match, label='grep.match') |
|
3027 | ui.write(match, label='grep.match') | |
3023 | ui.write(after) |
|
3028 | ui.write(after) | |
3024 | ui.write(eol) |
|
3029 | ui.write(eol) |
@@ -32,9 +32,9 b' simple with color' | |||||
32 |
|
32 | |||
33 | $ hg --config extensions.color= grep --config color.mode=ansi \ |
|
33 | $ hg --config extensions.color= grep --config color.mode=ansi \ | |
34 | > --color=always port port |
|
34 | > --color=always port port | |
35 | port:4:ex\x1b[0;31;1mport\x1b[0m (esc) |
|
35 | \x1b[0;35mport\x1b[0m\x1b[0;36m:\x1b[0m\x1b[0;32m4\x1b[0m\x1b[0;36m:\x1b[0mex\x1b[0;31;1mport\x1b[0m (esc) | |
36 | port:4:va\x1b[0;31;1mport\x1b[0might (esc) |
|
36 | \x1b[0;35mport\x1b[0m\x1b[0;36m:\x1b[0m\x1b[0;32m4\x1b[0m\x1b[0;36m:\x1b[0mva\x1b[0;31;1mport\x1b[0might (esc) | |
37 | port:4:im\x1b[0;31;1mport\x1b[0m/export (esc) |
|
37 | \x1b[0;35mport\x1b[0m\x1b[0;36m:\x1b[0m\x1b[0;32m4\x1b[0m\x1b[0;36m:\x1b[0mim\x1b[0;31;1mport\x1b[0m/export (esc) | |
38 |
|
38 | |||
39 | all |
|
39 | all | |
40 |
|
40 |
General Comments 0
You need to be logged in to leave comments.
Login now