# HG changeset patch # User Dan Villiom Podlaski Christiansen # Date 1275915592 -7200 # 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 -r d65b74106113 -r cdf6d861b207 mercurial/ui.py --- a/mercurial/ui.py Thu Jun 10 17:10:05 2010 +0200 +++ b/mercurial/ui.py Mon Jun 07 14:59:52 2010 +0200 @@ -380,6 +380,21 @@ 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: