[PATCH] hgweb: render tabs to 8 spaces (rebased)
Rocco Rutte
pdmef at gmx.net
Thu May 14 09:03:03 CDT 2009
Hi,
* Rocco Rutte wrote:
[...]
Attached is another rebased to latest crew (plus documentation).
Rocco
comparing with /Data/hg/mercurial/crew
searching for changes
changeset: 8381:de336f17b54a
tag: tip
user: Rocco Rutte <pdmef at gmx.net>
date: Thu May 14 16:00:21 2009 +0200
summary: hgweb: render tabs to 8 spaces
diff --git a/mercurial/help.py b/mercurial/help.py
--- a/mercurial/help.py
+++ b/mercurial/help.py
@@ -334,6 +334,7 @@ PYTHONPATH::
'user at example.com'.
- escape: Any text. Replaces the special XML/XHTML characters "&",
"<" and ">" with XML entities.
+ - expandtab: Any text. Replaces hard tab with 8 spaces.
- fill68: Any text. Wraps the text to fit in 68 columns.
- fill76: Any text. Wraps the text to fit in 76 columns.
- firstline: Any text. Returns the first line of text.
diff --git a/mercurial/templatefilters.py b/mercurial/templatefilters.py
--- a/mercurial/templatefilters.py
+++ b/mercurial/templatefilters.py
@@ -174,6 +174,9 @@ def stripdir(text):
def nonempty(str):
return str or "(none)"
+def expandtab(str):
+ return str.replace('\t',' ' * 8)
+
filters = {
"addbreaks": nl2br,
"basename": os.path.basename,
@@ -183,6 +186,7 @@ filters = {
"domain": domain,
"email": util.email,
"escape": lambda x: cgi.escape(x, True),
+ "expandtab": expandtab,
"fill68": lambda x: fill(x, width=68),
"fill76": lambda x: fill(x, width=76),
"firstline": firstline,
diff --git a/templates/coal/map b/templates/coal/map
--- a/templates/coal/map
+++ b/templates/coal/map
@@ -52,7 +52,7 @@ filerevision = ../paper/filerevision.tmp
fileannotate = ../paper/fileannotate.tmpl
filediff = ../paper/filediff.tmpl
filelog = ../paper/filelog.tmpl
-fileline = '<div class="parity{parity} source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</div>'
+fileline = '<div class="parity{parity} source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|expandtab|escape}</div>'
filelogentry = ../paper/filelogentry.tmpl
annotateline = '
@@ -61,14 +61,14 @@ annotateline = '
<a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#{targetline}"
title="{node|short}: {desc|escape|firstline}">{author|user}@{rev}</a>
</td>
- <td class="source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</td>
+ <td class="source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|expandtab|escape}</td>
</tr>'
diffblock = '<div class="source bottomline parity{parity}"><pre>{lines}</pre></div>'
-difflineplus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="plusline">{line|escape}</span>'
-difflineminus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="minusline">{line|escape}</span>'
-difflineat = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="atline">{line|escape}</span>'
-diffline = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}'
+difflineplus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="plusline">{line|expandtab|escape}</span>'
+difflineminus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="minusline">{line|expandtab|escape}</span>'
+difflineat = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="atline">{line|expandtab|escape}</span>'
+diffline = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|expandtab|escape}'
changelogparent = '
<tr>
diff --git a/templates/gitweb/map b/templates/gitweb/map
--- a/templates/gitweb/map
+++ b/templates/gitweb/map
@@ -70,7 +70,7 @@ filerevision = filerevision.tmpl
fileannotate = fileannotate.tmpl
filediff = filediff.tmpl
filelog = filelog.tmpl
-fileline = '<div style="font-family:monospace" class="parity#parity#"><pre><a class="linenr" href="##lineid#" id="#lineid#">#linenumber#</a> #line|escape#</pre></div>'
+fileline = '<div style="font-family:monospace" class="parity#parity#"><pre><a class="linenr" href="##lineid#" id="#lineid#">#linenumber#</a> #line|expandtab|escape#</pre></div>'
annotateline = '
<tr style="font-family:monospace" class="parity#parity#">
<td class="linenr" style="text-align: right;">
@@ -78,12 +78,12 @@ annotateline = '
title="{node|short}: {desc|escape|firstline}">#author|user#@#rev#</a>
</td>
<td><pre><a class="linenr" href="##lineid#" id="#lineid#">#linenumber#</a></pre></td>
- <td><pre>#line|escape#</pre></td>
+ <td><pre>#line|expandtab|escape#</pre></td>
</tr>'
-difflineplus = '<span style="color:#008800;"><a class="linenr" href="##lineid#" id="#lineid#">#linenumber#</a> #line|escape#</span>'
-difflineminus = '<span style="color:#cc0000;"><a class="linenr" href="##lineid#" id="#lineid#">#linenumber#</a> #line|escape#</span>'
-difflineat = '<span style="color:#990099;"><a class="linenr" href="##lineid#" id="#lineid#">#linenumber#</a> #line|escape#</span>'
-diffline = '<span><a class="linenr" href="##lineid#" id="#lineid#">#linenumber#</a> #line|escape#</span>'
+difflineplus = '<span style="color:#008800;"><a class="linenr" href="##lineid#" id="#lineid#">#linenumber#</a> #line|expandtab|escape#</span>'
+difflineminus = '<span style="color:#cc0000;"><a class="linenr" href="##lineid#" id="#lineid#">#linenumber#</a> #line|expandtab|escape#</span>'
+difflineat = '<span style="color:#990099;"><a class="linenr" href="##lineid#" id="#lineid#">#linenumber#</a> #line|expandtab|escape#</span>'
+diffline = '<span><a class="linenr" href="##lineid#" id="#lineid#">#linenumber#</a> #line|expandtab|escape#</span>'
changelogparent = '
<tr>
<th class="parent">parent #rev#:</th>
diff --git a/templates/monoblue/map b/templates/monoblue/map
--- a/templates/monoblue/map
+++ b/templates/monoblue/map
@@ -61,7 +61,7 @@ filerevision = filerevision.tmpl
fileannotate = fileannotate.tmpl
filediff = filediff.tmpl
filelog = filelog.tmpl
-fileline = '<div style="font-family:monospace" class="parity#parity#"><pre><a class="linenr" href="##lineid#" id="#lineid#">#linenumber#</a> #line|escape#</pre></div>'
+fileline = '<div style="font-family:monospace" class="parity#parity#"><pre><a class="linenr" href="##lineid#" id="#lineid#">#linenumber#</a> #line|expandtab|escape#</pre></div>'
annotateline = '
<tr class="parity{parity}">
<td class="linenr">
@@ -71,12 +71,12 @@ annotateline = '
<td class="lineno">
<a href="#{lineid}" id="{lineid}">{linenumber}</a>
</td>
- <td class="source">{line|escape}</td>
+ <td class="source">{line|expandtab|escape}</td>
</tr>'
-difflineplus = '<span style="color:#008800;"><a class="linenr" href="##lineid#" id="#lineid#">#linenumber#</a> #line|escape#</span>'
-difflineminus = '<span style="color:#cc0000;"><a class="linenr" href="##lineid#" id="#lineid#">#linenumber#</a> #line|escape#</span>'
-difflineat = '<span style="color:#990099;"><a class="linenr" href="##lineid#" id="#lineid#">#linenumber#</a> #line|escape#</span>'
-diffline = '<span><a class="linenr" href="##lineid#" id="#lineid#">#linenumber#</a> #line|escape#</span>'
+difflineplus = '<span style="color:#008800;"><a class="linenr" href="##lineid#" id="#lineid#">#linenumber#</a> #line|expandtab|escape#</span>'
+difflineminus = '<span style="color:#cc0000;"><a class="linenr" href="##lineid#" id="#lineid#">#linenumber#</a> #line|expandtab|escape#</span>'
+difflineat = '<span style="color:#990099;"><a class="linenr" href="##lineid#" id="#lineid#">#linenumber#</a> #line|expandtab|escape#</span>'
+diffline = '<span><a class="linenr" href="##lineid#" id="#lineid#">#linenumber#</a> #line|expandtab|escape#</span>'
changelogparent = '
<tr>
<th class="parent">parent #rev#:</th>
diff --git a/templates/paper/map b/templates/paper/map
--- a/templates/paper/map
+++ b/templates/paper/map
@@ -52,7 +52,7 @@ filerevision = filerevision.tmpl
fileannotate = fileannotate.tmpl
filediff = filediff.tmpl
filelog = filelog.tmpl
-fileline = '<div class="parity{parity} source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</div>'
+fileline = '<div class="parity{parity} source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|expandtab|escape}</div>'
filelogentry = filelogentry.tmpl
annotateline = '
@@ -61,14 +61,14 @@ annotateline = '
<a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#{targetline}"
title="{node|short}: {desc|escape|firstline}">{author|user}@{rev}</a>
</td>
- <td class="source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</td>
+ <td class="source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|expandtab|escape}</td>
</tr>'
diffblock = '<div class="source bottomline parity{parity}"><pre>{lines}</pre></div>'
-difflineplus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="plusline">{line|escape}</span>'
-difflineminus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="minusline">{line|escape}</span>'
-difflineat = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="atline">{line|escape}</span>'
-diffline = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}'
+difflineplus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="plusline">{line|expandtab|escape}</span>'
+difflineminus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="minusline">{line|expandtab|escape}</span>'
+difflineat = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="atline">{line|expandtab|escape}</span>'
+diffline = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|expandtab|escape}'
changelogparent = '
<tr>
diff --git a/templates/spartan/map b/templates/spartan/map
--- a/templates/spartan/map
+++ b/templates/spartan/map
@@ -42,7 +42,7 @@ filerevision = filerevision.tmpl
fileannotate = fileannotate.tmpl
filediff = filediff.tmpl
filelog = filelog.tmpl
-fileline = '<div class="parity#parity#"><a class="lineno" href="##lineid#" id="#lineid#">#linenumber#</a>#line|escape#</div>'
+fileline = '<div class="parity#parity#"><a class="lineno" href="##lineid#" id="#lineid#">#linenumber#</a>#line|expandtab|escape#</div>'
filelogentry = filelogentry.tmpl
annotateline = '
<tr class="parity#parity#">
@@ -53,12 +53,12 @@ annotateline = '
<td>
<a class="lineno" href="##lineid#" id="#lineid#">#linenumber#</a>
</td>
- <td><pre>#line|escape#</pre></td>
+ <td><pre>#line|expandtab|escape#</pre></td>
</tr>'
-difflineplus = '<span class="plusline"><a class="lineno" href="##lineid#" id="#lineid#">#linenumber#</a>#line|escape#</span>'
-difflineminus = '<span class="minusline"><a class="lineno" href="##lineid#" id="#lineid#">#linenumber#</a>#line|escape#</span>'
-difflineat = '<span class="atline"><a class="lineno" href="##lineid#" id="#lineid#">#linenumber#</a>#line|escape#</span>'
-diffline = '<a class="lineno" href="##lineid#" id="#lineid#">#linenumber#</a>#line|escape#'
+difflineplus = '<span class="plusline"><a class="lineno" href="##lineid#" id="#lineid#">#linenumber#</a>#line|expandtab|escape#</span>'
+difflineminus = '<span class="minusline"><a class="lineno" href="##lineid#" id="#lineid#">#linenumber#</a>#line|expandtab|escape#</span>'
+difflineat = '<span class="atline"><a class="lineno" href="##lineid#" id="#lineid#">#linenumber#</a>#line|expandtab|escape#</span>'
+diffline = '<a class="lineno" href="##lineid#" id="#lineid#">#linenumber#</a>#line|expandtab|escape#'
changelogparent = '
<tr>
<th class="parent">parent #rev#:</th>
More information about the Mercurial-devel
mailing list