diff mercurial/ui.py @ 1071:8f0ac653f85e

Add support for extension modules This adds support for an [extensions] section to hgrc. This has the form of: [extensions] mod=[path] If a path is specified, the python module found at that path is load. Otherwise, __import__ is used to find the module. Each module must implement a dict called cmdtable where the command line options for that module live. Each module must also implement a reposetup function: cmdtable = {} def reposetup(ui, repo): pass Index: hg/mercurial/ui.py ===================================================================
author mason@suse.com
date Fri, 26 Aug 2005 14:05:52 -0700
parents 6d5a62a549fa
children ee4f60abad93
line wrap: on
line diff
--- a/mercurial/ui.py
+++ b/mercurial/ui.py
@@ -22,6 +22,10 @@ class ui:
         self.debugflag = self.configbool("ui", "debug")
         self.interactive = self.configbool("ui", "interactive", True)
 
+        self.updateopts(verbose, debug, quiet, interactive)
+
+    def updateopts(self, verbose=False, debug=False, quiet=False,
+                 interactive=True):
         self.quiet = (self.quiet or quiet) and not verbose and not debug
         self.verbose = (self.verbose or verbose) or debug
         self.debugflag = (self.debugflag or debug)
@@ -63,6 +67,9 @@ class ui:
                 yield section, name, value.replace('\n', '\\n')
                 seen[section, name] = 1
 
+    def extensions(self):
+        return self.configitems("extensions")
+
     def username(self):
         return (os.environ.get("HGUSER") or
                 self.config("ui", "username") or