PrettyFormatter: Fix expand tab when syntax coloring is on.

prettify lost support for expanding tabs in r143 [1]. As a consequence,
tab width preference is no longer honored.

Gerrit now handles expanding tabs by itself in all cases, even if syntax
coloring is active.

[1] http://code.google.com/p/google-code-prettify/source/detail?r=143

Bug: issue 1872
Change-Id: I283a3620b1d130d3f66e56d3f202a5122d7a73b8
This commit is contained in:
Arnaud Fabre 2013-06-29 23:41:01 +02:00 committed by Shawn Pearce
parent 4faa7314a4
commit a7417cf75d
2 changed files with 3 additions and 5 deletions

View File

@ -62,13 +62,12 @@ public class ClientSideFormatter extends PrettyFormatter {
@Override @Override
protected String prettify(String html, String type) { protected String prettify(String html, String type) {
return go(prettify.getContext(), html, type, diffPrefs.getTabSize()); return go(prettify.getContext(), html, type);
} }
private static native String go(JavaScriptObject ctx, String srcText, private static native String go(JavaScriptObject ctx, String srcText,
String srcType, int tabSize) String srcType)
/*-{ /*-{
ctx.PR_TAB_WIDTH = tabSize;
return ctx.prettyPrintOne(srcText, srcType); return ctx.prettyPrintOne(srcText, srcType);
}-*/; }-*/;
} }

View File

@ -128,6 +128,7 @@ public abstract class PrettyFormatter implements SparseHtmlFile {
String html = toHTML(src); String html = toHTML(src);
html = expandTabs(html);
if (diffPrefs.isSyntaxHighlighting() && getFileType() != null if (diffPrefs.isSyntaxHighlighting() && getFileType() != null
&& src.isWholeFile()) { && src.isWholeFile()) {
// The prettify parsers don't like ' as an entity for the // The prettify parsers don't like ' as an entity for the
@ -148,8 +149,6 @@ public abstract class PrettyFormatter implements SparseHtmlFile {
html = html.replaceAll("(\r)?\n", " $1\n"); html = html.replaceAll("(\r)?\n", " $1\n");
html = prettify(html, getFileType()); html = prettify(html, getFileType());
html = html.replaceAll(" (\r)?\n", "$1\n"); html = html.replaceAll(" (\r)?\n", "$1\n");
} else {
html = expandTabs(html);
} }
int pos = 0; int pos = 0;