public class HtmlFormatter extends HtmlVisitor
The right margin and indent increment can be specified as properties.
danson:
Modified for Beauty plugin for jEdit, added ability to handle jsps. Removed
the PrintWriter from the MarginWriter as PrintWriter munges line separators
in its own weird way. For jEdit, I want the same line separator that has
been specified for the current buffer, which is not necessarily the system
line separator. Formatted content is now written to a StringBuffer and can
be retrieved with the toString
method.
Did some minor modification to the handling of PRE, SCRIPT, and STYLE blocks. Formatting once would be fine, formatting the same file a second time would cause extra blank lines to be added just before the closing tag. This also required some minor modification to the .jj file too.
HtmlVisitor
,
HtmlCollector
,
HtmlScrubber
Modifier and Type | Field and Description |
---|---|
protected sidekick.html.parser.html.TagBlockRenderer |
blockRenderer |
protected int |
indentSize |
protected boolean |
inPreBlock |
protected java.lang.String |
lineSeparator |
protected sidekick.html.parser.html.MarginWriter |
out |
protected HtmlDocument.HtmlElement |
previousElement |
protected int |
rightMargin |
protected static java.util.Set<java.lang.String> |
tagsIndentBlock |
protected static java.util.Set<java.lang.String> |
tagsNewlineBefore |
protected static java.util.Set<java.lang.String> |
tagsPreformatted |
protected static java.util.Set<java.lang.String> |
tagsTryMatch |
Constructor and Description |
---|
HtmlFormatter() |
Modifier and Type | Method and Description |
---|---|
void |
finish() |
void |
setIndent(int indent) |
void |
setLineSeparator(java.lang.String ls) |
void |
setRightMargin(int margin) |
void |
start() |
java.lang.String |
toString() |
void |
visit(HtmlDocument.Comment c) |
void |
visit(HtmlDocument.EndTag t) |
void |
visit(HtmlDocument.Newline n) |
void |
visit(HtmlDocument.Tag t) |
void |
visit(HtmlDocument.TagBlock block) |
void |
visit(HtmlDocument.Text t) |
visit, visit, visit, visit
protected sidekick.html.parser.html.MarginWriter out
protected int rightMargin
protected int indentSize
protected java.lang.String lineSeparator
protected static java.util.Set<java.lang.String> tagsIndentBlock
protected static java.util.Set<java.lang.String> tagsNewlineBefore
protected static java.util.Set<java.lang.String> tagsPreformatted
protected static java.util.Set<java.lang.String> tagsTryMatch
protected sidekick.html.parser.html.TagBlockRenderer blockRenderer
protected HtmlDocument.HtmlElement previousElement
protected boolean inPreBlock
public HtmlFormatter() throws java.lang.Exception
java.lang.Exception
public java.lang.String toString()
toString
in class java.lang.Object
public void setRightMargin(int margin)
public void setIndent(int indent)
public void setLineSeparator(java.lang.String ls)
public void visit(HtmlDocument.TagBlock block)
visit
in class HtmlVisitor
public void visit(HtmlDocument.Tag t)
visit
in class HtmlVisitor
public void visit(HtmlDocument.EndTag t)
visit
in class HtmlVisitor
public void visit(HtmlDocument.Comment c)
visit
in class HtmlVisitor
public void visit(HtmlDocument.Text t)
visit
in class HtmlVisitor
public void visit(HtmlDocument.Newline n)
visit
in class HtmlVisitor
public void start()
start
in class HtmlVisitor
public void finish()
finish
in class HtmlVisitor