D3665: graph: improve graph output by using Unicode characters

johnstiles (John Stiles) phabricator at mercurial-scm.org
Mon May 28 19:25:13 EDT 2018


johnstiles updated this revision to Diff 8919.
johnstiles added a comment.


  Addressed warnings found by test-check-code.t.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D3665?vs=8918&id=8919

REVISION DETAIL
  https://phab.mercurial-scm.org/D3665

AFFECTED FILES
  hgext/beautifygraph.py

CHANGE DETAILS

diff --git a/hgext/beautifygraph.py b/hgext/beautifygraph.py
--- a/hgext/beautifygraph.py
+++ b/hgext/beautifygraph.py
@@ -2,7 +2,7 @@
 # beautifygraph.py - improve graph output by using Unicode characters
 
 '''This extension beautifies log -G output by using Unicode characters.
-  
+
    A terminal with UTF-8 support and a monospace Unicode font are required.
 '''
 
@@ -20,40 +20,42 @@
 testedwith = 'ships-with-hg-core'
 
 def extsetup(ui):
-  def convertedges(line):
-    def prettyedge(before, edge, after):
-      if edge == '~':  return '\xE2\x95\xA7' # U+2567 ╧
-      if edge == 'X':  return '\xE2\x95\xB3' # U+2573 ╳
-      if edge == '/':  return '\xE2\x95\xB1' # U+2571 ╱
-      if edge == '-':  return '\xE2\x94\x80' # U+2500 ─
-      if edge == '|':  return '\xE2\x94\x82' # U+2502 │
-      if edge == ':':  return '\xE2\x94\x86' # U+2506 ┆
-      if edge == '\\': return '\xE2\x95\xB2' # U+2572 ╲
-      if edge == '+':
-        if before == ' ' and not after  == ' ': return '\xE2\x94\x9C' # U+251C ├
-        if after  == ' ' and not before == ' ': return '\xE2\x94\xA4' # U+2524 ┤
-        return '\xE2\x94\xBC' # U+253C ┼
-      return edge
+    def convertedges(line):
+        def prettyedge(before, edge, after):
+            if edge == '~':  return '\xE2\x95\xA7' # U+2567 ╧
+            if edge == 'X':  return '\xE2\x95\xB3' # U+2573 ╳
+            if edge == '/':  return '\xE2\x95\xB1' # U+2571 ╱
+            if edge == '-':  return '\xE2\x94\x80' # U+2500 ─
+            if edge == '|':  return '\xE2\x94\x82' # U+2502 │
+            if edge == ':':  return '\xE2\x94\x86' # U+2506 ┆
+            if edge == '\\': return '\xE2\x95\xB2' # U+2572 ╲
+            if edge == '+':
+                if before == ' ' and not after  == ' ':
+                    return '\xE2\x94\x9C' # U+251C ├
+                if after  == ' ' and not before == ' ':
+                    return '\xE2\x94\xA4' # U+2524 ┤
+            return '\xE2\x94\xBC' # U+253C ┼
+        return edge
     line = ' %s ' % line
-    pretty = [];
+    pretty = []
     for idx in xrange(len(line) - 2):
-      pretty.append(prettyedge(line[idx], line[idx+1], line[idx+2]))
+        pretty.append(prettyedge(line[idx], line[idx + 1], line[idx + 2]))
     return ''.join(pretty)
-  
-  def getprettygraphnode(orig, *args, **kwargs):
-    node = orig(*args, **kwargs)
-    if node == 'o': return '\xE2\x97\xAF' # U+25EF ◯
-    if node == '@': return '\xE2\x8C\xBE' # U+233E ⌾
-    if node == '*': return '\xE2\x88\x97' # U+2217 ∗
-    if node == 'x': return '\xE2\x97\x8C' # U+25CC ◌
-    if node == '_': return '\xE2\x95\xA4' # U+2564 ╤
-    return node
 
-  def outputprettygraph(orig, ui, graph, *args, **kwargs):
-    if not ui.plain('graph') and encoding.encoding == "UTF-8":
-      (edges, text) = zip(*graph)
-      graph = zip([convertedges(e) for e in edges], text)
-    return orig(ui, graph, *args, **kwargs)
+    def getprettygraphnode(orig, *args, **kwargs):
+        node = orig(*args, **kwargs)
+        if node == 'o': return '\xE2\x97\xAF' # U+25EF ◯
+        if node == '@': return '\xE2\x8C\xBE' # U+233E ⌾
+        if node == '*': return '\xE2\x88\x97' # U+2217 ∗
+        if node == 'x': return '\xE2\x97\x8C' # U+25CC ◌
+        if node == '_': return '\xE2\x95\xA4' # U+2564 ╤
+        return node
 
-  extensions.wrapfunction(graphmod, 'outputgraph', outputprettygraph)
-  extensions.wrapfunction(templatekw, 'getgraphnode', getprettygraphnode)
+    def outputprettygraph(orig, ui, graph, *args, **kwargs):
+        if not ui.plain('graph') and encoding.encoding == "UTF-8":
+            (edges, text) = zip(*graph)
+            graph = zip([convertedges(e) for e in edges], text)
+        return orig(ui, graph, *args, **kwargs)
+
+    extensions.wrapfunction(graphmod, 'outputgraph', outputprettygraph)
+    extensions.wrapfunction(templatekw, 'getgraphnode', getprettygraphnode)



To: johnstiles, #hg-reviewers
Cc: yuja, mercurial-devel


More information about the Mercurial-devel mailing list