Mercurial > hg
comparison hgext/keyword.py @ 14300:1b8e421d8e42
keyword: use cmdutil.command decorator
author | Martin Geisler <mg@aragost.com> |
---|---|
date | Thu, 12 May 2011 14:31:07 +0200 |
parents | 135e244776f0 |
children | a90131b85fd8 |
comparison
equal
deleted
inserted
replaced
14299:f3ba4125d9e9 | 14300:1b8e421d8e42 |
---|---|
87 from mercurial.hgweb import webcommands | 87 from mercurial.hgweb import webcommands |
88 from mercurial.i18n import _ | 88 from mercurial.i18n import _ |
89 import os, re, shutil, tempfile | 89 import os, re, shutil, tempfile |
90 | 90 |
91 commands.optionalrepo += ' kwdemo' | 91 commands.optionalrepo += ' kwdemo' |
92 | |
93 cmdtable = {} | |
94 command = cmdutil.command(cmdtable) | |
92 | 95 |
93 # hg commands that do not act on keywords | 96 # hg commands that do not act on keywords |
94 nokwcommands = ('add addremove annotate bundle export grep incoming init log' | 97 nokwcommands = ('add addremove annotate bundle export grep incoming init log' |
95 ' outgoing push tip verify convert email glog') | 98 ' outgoing push tip verify convert email glog') |
96 | 99 |
343 raise util.Abort(_('outstanding uncommitted changes')) | 346 raise util.Abort(_('outstanding uncommitted changes')) |
344 kwt.overwrite(wctx, clean, True, expand) | 347 kwt.overwrite(wctx, clean, True, expand) |
345 finally: | 348 finally: |
346 wlock.release() | 349 wlock.release() |
347 | 350 |
351 @command('kwdemo', | |
352 [('d', 'default', None, _('show default keyword template maps')), | |
353 ('f', 'rcfile', '', | |
354 _('read maps from rcfile'), _('FILE'))], | |
355 _('hg kwdemo [-d] [-f RCFILE] [TEMPLATEMAP]...')) | |
348 def demo(ui, repo, *args, **opts): | 356 def demo(ui, repo, *args, **opts): |
349 '''print [keywordmaps] configuration and an expansion example | 357 '''print [keywordmaps] configuration and an expansion example |
350 | 358 |
351 Show current, custom, or default keyword template maps and their | 359 Show current, custom, or default keyword template maps and their |
352 expansions. | 360 expansions. |
426 repo.commit(text=msg) | 434 repo.commit(text=msg) |
427 ui.status(_('\n\tkeywords expanded\n')) | 435 ui.status(_('\n\tkeywords expanded\n')) |
428 ui.write(repo.wread(fn)) | 436 ui.write(repo.wread(fn)) |
429 shutil.rmtree(tmpdir, ignore_errors=True) | 437 shutil.rmtree(tmpdir, ignore_errors=True) |
430 | 438 |
439 @command('kwexpand', commands.walkopts, _('hg kwexpand [OPTION]... [FILE]...')) | |
431 def expand(ui, repo, *pats, **opts): | 440 def expand(ui, repo, *pats, **opts): |
432 '''expand keywords in the working directory | 441 '''expand keywords in the working directory |
433 | 442 |
434 Run after (re)enabling keyword expansion. | 443 Run after (re)enabling keyword expansion. |
435 | 444 |
436 kwexpand refuses to run if given files contain local changes. | 445 kwexpand refuses to run if given files contain local changes. |
437 ''' | 446 ''' |
438 # 3rd argument sets expansion to True | 447 # 3rd argument sets expansion to True |
439 _kwfwrite(ui, repo, True, *pats, **opts) | 448 _kwfwrite(ui, repo, True, *pats, **opts) |
440 | 449 |
450 @command('kwfiles', | |
451 [('A', 'all', None, _('show keyword status flags of all files')), | |
452 ('i', 'ignore', None, _('show files excluded from expansion')), | |
453 ('u', 'unknown', None, _('only show unknown (not tracked) files')), | |
454 ] + commands.walkopts, | |
455 _('hg kwfiles [OPTION]... [FILE]...')) | |
441 def files(ui, repo, *pats, **opts): | 456 def files(ui, repo, *pats, **opts): |
442 '''show files configured for keyword expansion | 457 '''show files configured for keyword expansion |
443 | 458 |
444 List which files in the working directory are matched by the | 459 List which files in the working directory are matched by the |
445 [keyword] configuration patterns. | 460 [keyword] configuration patterns. |
482 for char, filenames, kwstate in kwstates: | 497 for char, filenames, kwstate in kwstates: |
483 fmt = (opts.get('all') or ui.verbose) and '%s %%s\n' % char or '%s\n' | 498 fmt = (opts.get('all') or ui.verbose) and '%s %%s\n' % char or '%s\n' |
484 for f in filenames: | 499 for f in filenames: |
485 ui.write(fmt % repo.pathto(f, cwd), label='kwfiles.' + kwstate) | 500 ui.write(fmt % repo.pathto(f, cwd), label='kwfiles.' + kwstate) |
486 | 501 |
502 @command('kwshrink', commands.walkopts, _('hg kwshrink [OPTION]... [FILE]...')) | |
487 def shrink(ui, repo, *pats, **opts): | 503 def shrink(ui, repo, *pats, **opts): |
488 '''revert expanded keywords in the working directory | 504 '''revert expanded keywords in the working directory |
489 | 505 |
490 Must be run before changing/disabling active keywords. | 506 Must be run before changing/disabling active keywords. |
491 | 507 |
671 extensions.wrapfunction(record, 'dorecord', kw_dorecord) | 687 extensions.wrapfunction(record, 'dorecord', kw_dorecord) |
672 except KeyError: | 688 except KeyError: |
673 pass | 689 pass |
674 | 690 |
675 repo.__class__ = kwrepo | 691 repo.__class__ = kwrepo |
676 | |
677 cmdtable = { | |
678 'kwdemo': | |
679 (demo, | |
680 [('d', 'default', None, _('show default keyword template maps')), | |
681 ('f', 'rcfile', '', | |
682 _('read maps from rcfile'), _('FILE'))], | |
683 _('hg kwdemo [-d] [-f RCFILE] [TEMPLATEMAP]...')), | |
684 'kwexpand': (expand, commands.walkopts, | |
685 _('hg kwexpand [OPTION]... [FILE]...')), | |
686 'kwfiles': | |
687 (files, | |
688 [('A', 'all', None, _('show keyword status flags of all files')), | |
689 ('i', 'ignore', None, _('show files excluded from expansion')), | |
690 ('u', 'unknown', None, _('only show unknown (not tracked) files')), | |
691 ] + commands.walkopts, | |
692 _('hg kwfiles [OPTION]... [FILE]...')), | |
693 'kwshrink': (shrink, commands.walkopts, | |
694 _('hg kwshrink [OPTION]... [FILE]...')), | |
695 } |