Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/fileset.py @ 14682:8785fd757077
fileset: add grep predicate
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Sat, 18 Jun 2011 16:53:49 -0500 |
parents | 0744db5eb51c |
children | 281102f37b24 |
comparison
equal
deleted
inserted
replaced
14681:0744db5eb51c | 14682:8785fd757077 |
---|---|
3 # Copyright 2010 Matt Mackall <mpm@selenic.com> | 3 # Copyright 2010 Matt Mackall <mpm@selenic.com> |
4 # | 4 # |
5 # This software may be used and distributed according to the terms of the | 5 # This software may be used and distributed according to the terms of the |
6 # GNU General Public License version 2 or any later version. | 6 # GNU General Public License version 2 or any later version. |
7 | 7 |
8 import parser, error, util, merge | 8 import parser, error, util, merge, re |
9 from i18n import _ | 9 from i18n import _ |
10 | 10 |
11 elements = { | 11 elements = { |
12 "(": (20, ("group", 1, ")"), ("func", 1, ")")), | 12 "(": (20, ("group", 1, ")"), ("func", 1, ")")), |
13 "-": (5, ("negate", 19), ("minus", 5)), | 13 "-": (5, ("negate", 19), ("minus", 5)), |
233 """ | 233 """ |
234 getargs(x, 0, 0, _("hgignore takes no arguments")) | 234 getargs(x, 0, 0, _("hgignore takes no arguments")) |
235 ignore = mctx.ctx._repo.dirstate._ignore | 235 ignore = mctx.ctx._repo.dirstate._ignore |
236 return [f for f in mctx.subset if ignore(f)] | 236 return [f for f in mctx.subset if ignore(f)] |
237 | 237 |
238 def grep(mctx, x): | |
239 """``grep(regex)`` | |
240 File contains the given regular expression. | |
241 """ | |
242 pat = getstring(x, _("grep requires a pattern")) | |
243 r = re.compile(pat) | |
244 return [f for f in mctx.subset if r.search(mctx.ctx[f].data())] | |
245 | |
238 symbols = { | 246 symbols = { |
239 'added': added, | 247 'added': added, |
240 'binary': binary, | 248 'binary': binary, |
241 'clean': clean, | 249 'clean': clean, |
242 'deleted': deleted, | 250 'deleted': deleted, |
243 'exec': exec_, | 251 'exec': exec_, |
252 'grep': grep, | |
244 'ignored': ignored, | 253 'ignored': ignored, |
245 'hgignore': hgignore, | 254 'hgignore': hgignore, |
246 'modified': modified, | 255 'modified': modified, |
247 'removed': removed, | 256 'removed': removed, |
248 'resolved': resolved, | 257 'resolved': resolved, |