diff mercurial/templater.py @ 19125:6ba6e345961e

templater: show the style list when I try to use a wrong one When someone try to use a wrong style, a list with sugestions will appear. In the test-log.t file it's a test that prove this thing.
author Iulian Stana <julian.stana@gmail.com>
date Thu, 02 May 2013 20:23:14 -0500
parents 1e433b5457fd
children d982edcfe7f0
line wrap: on
line diff
--- a/mercurial/templater.py	Sat Apr 27 23:49:34 2013 -0700
+++ b/mercurial/templater.py	Thu May 02 20:23:14 2013 -0500
@@ -394,6 +394,16 @@
 
 engines = {'default': engine}
 
+def stylelist():
+    path = templatepath()[0]
+    dirlist =  os.listdir(path)
+    stylelist = []
+    for file in dirlist:
+        split = file.split(".")
+        if split[0] == "map-cmdline":
+            stylelist.append(split[1])
+    return ", ".join(stylelist)
+
 class templater(object):
 
     def __init__(self, mapfile, filters={}, defaults={}, cache={},
@@ -415,7 +425,8 @@
         if not mapfile:
             return
         if not os.path.exists(mapfile):
-            raise util.Abort(_('style not found: %s') % mapfile)
+            raise util.Abort(_("style '%s' not found") % mapfile,
+                             hint=_("available styles: %s") % stylelist())
 
         conf = config.config()
         conf.read(mapfile)