ui: add a "config_default" method
This allow code to access the expected value for a config. This is useful in the
context of dynamic default value, and short term it will be useful to write
dynamically "correct" code.
Differential Revision: https://phab.mercurial-scm.org/D9759
--- a/mercurial/ui.py Thu Jan 14 11:46:30 2021 +0100
+++ b/mercurial/ui.py Wed Jan 13 18:29:19 2021 +0100
@@ -673,6 +673,18 @@
)
return value
+ def config_default(self, section, name):
+ """return the default value for a config option
+
+ The default is returned "raw", for example if it is a callable, the
+ callable was not called.
+ """
+ item = self._knownconfig.get(section, {}).get(name)
+
+ if item is None:
+ raise KeyError((section, name))
+ return item.default
+
def configsuboptions(self, section, name, default=_unset, untrusted=False):
"""Get a config option and all sub-options.