# HG changeset patch # User Dan Villiom Podlaski Christiansen # Date 2010-06-07 12:59:52 # Node ID cdf6d861b20758376f69a238c2ad8965fb004653 # Parent d65b7410611300592a7323a4d77653b2d56e2cfa ui: add ui.formatted configuration variable and accessor function. This new configuration variable is similar in nature `ui.interactive', but applying to output instead of input. This allows as to support non-interactive sessions where formatted should be enabled, such as when using the pager extension. The variable itself is left undocumented; it is not intended for use outside Mercurial and its extensions. diff --git a/mercurial/ui.py b/mercurial/ui.py --- a/mercurial/ui.py +++ b/mercurial/ui.py @@ -380,6 +380,21 @@ class ui(object): return i + def formatted(self): + if self.plain(): + return False + + i = self.configbool("ui", "formatted", None) + if i is None: + try: + return sys.stdout.isatty() + except AttributeError: + # some environments replace stdout without implementing isatty + # usually those are non-interactive + return False + + return i + def _readline(self, prompt=''): if sys.stdin.isatty(): try: