##// END OF EJS Templates
dispatch: don't show list of commands on bogus command...
dispatch: don't show list of commands on bogus command If a command is ambiguous, you get this: $ hg ve hg: command 've' is ambiguous: verify version [255] If you typo a command, you get this: $ hg comit hg: unknown command 'comit' (did you mean one of commit, incoming, mycommit?) [255] But if you completely mistype a command so it no longer looks like any existing commands, you get a full list of commands. That might be useful the first time you use Mercurial, but after that it's probably more annoying than help, especially if you have the pager enabled and have a short terminal. Let's instead give a short hint telling the user to run `hg help` for more help. Differential Revision: https://phab.mercurial-scm.org/D4024

File last commit:

r37828:856f381a stable
r38810:81fb4421 default
Show More
interfaceutil.py
40 lines | 1.1 KiB | text/x-python | PythonLexer
# interfaceutil.py - Utilities for declaring interfaces.
#
# Copyright 2018 Gregory Szorc <gregory.szorc@gmail.com>
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
# zope.interface imposes a run-time cost due to module import overhead and
# bookkeeping for declaring interfaces. So, we use stubs for various
# zope.interface primitives unless instructed otherwise.
from __future__ import absolute_import
from .. import (
encoding,
)
if encoding.environ.get('HGREALINTERFACES'):
from ..thirdparty.zope import (
interface as zi,
)
Attribute = zi.Attribute
Interface = zi.Interface
implementer = zi.implementer
else:
class Attribute(object):
def __init__(self, __name__, __doc__=''):
pass
class Interface(object):
def __init__(self, name, bases=(), attrs=None, __doc__=None,
__module__=None):
pass
def implementer(*ifaces):
def wrapper(cls):
return cls
return wrapper