Code view:

A painting is a person's account of this edit as text, recorded independently of the node mapping - a rendering often has several equally defensible answers where the mapping has one. Deletions and insertions carry no position on the opposite side in a painting, so that panel draws no caret for them.

Before

…lines 1–31 unchanged (31 lines)
32 }
33
34 private static final Map<String, Character> full;
35 private static final Map<Character, String> xhtmlByVal;
36 private static final Map<Character, String> baseByVal;
37 private static final Map<Character, String> fullByVal;
38 private static final Pattern unescapePattern = Pattern.compile("&(#(x|X)?([0-9a-fA-F]+)|[a-zA-Z]+);?");
39
40 static String escape(String string, Document.OutputSettings out) {
41 return escape(string, out.encoder(), out.escapeMode());
42 }
43
44 static String escape(String string, CharsetEncoder encoder, EscapeMode escapeMode) {
…lines 45–2275 unchanged (2231 lines)

After

…lines 1–31 unchanged (31 lines)
32 }
33
34 private static final Map<String, Character> full;
35 private static final Map<Character, String> xhtmlByVal;
36 private static final Map<Character, String> baseByVal;
37 private static final Map<Character, String> fullByVal;
38 private static final Pattern unescapePattern = Pattern.compile("&(#(x|X)?([0-9a-fA-F]+)|[a-zA-Z]+\\d*);?");
39
40 static String escape(String string, Document.OutputSettings out) {
41 return escape(string, out.encoder(), out.escapeMode());
42 }
43
44 static String escape(String string, CharsetEncoder encoder, EscapeMode escapeMode) {
…lines 45–2275 unchanged (2231 lines)

Before

program
package_declaration
package "package"
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "jsoup"
. "."
identifier "nodes"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "nio"
. "."
identifier "charset"
. "."
identifier "CharsetEncoder"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "HashMap"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "Map"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "regex"
. "."
identifier "Matcher"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "regex"
. "."
identifier "Pattern"
; ";"
block_comment "/**\n * HTML entities, and escape routines.\n * Source: <a hre"...
class_declaration
modifiers
public "public"
class "class"
identifier "Entities"
class_body
{ "{"
enum_declaration (+96 nodes collapsed)
field_declaration
modifiers
private "private"
static "static"
final "final"
generic_type
type_identifier "Map"
type_arguments
< "<"
type_identifier "String"
, ","
type_identifier "Character"
> ">"
variable_declarator
identifier "full"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
generic_type
type_identifier "Map"
type_arguments
< "<"
type_identifier "Character"
, ","
type_identifier "String"
> ">"
variable_declarator
identifier "xhtmlByVal"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
generic_type
type_identifier "Map"
type_arguments
< "<"
type_identifier "Character"
, ","
type_identifier "String"
> ">"
variable_declarator
identifier "baseByVal"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
generic_type
type_identifier "Map"
type_arguments
< "<"
type_identifier "Character"
, ","
type_identifier "String"
> ">"
variable_declarator
identifier "fullByVal"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
type_identifier "Pattern"
variable_declarator
identifier "unescapePattern"
= "="
method_invocation
identifier "Pattern"
. "."
identifier "compile"
argument_list
( "("
string_literal
" "\""
string_fragment "&(#(x|X)?([0-9a-fA-F]+)|[a-zA-Z]+);?"
" "\""
) ")"
; ";"
method_declaration (+46 nodes collapsed)
method_declaration (+224 nodes collapsed)
method_declaration (+333 nodes collapsed)
line_comment "// xhtml has restricted entities"
field_declaration (+68 nodes collapsed)
line_comment "// most common, base entities can be unescaped without trail"...
line_comment "// e.g. &amp"
field_declaration (+1078 nodes collapsed)
line_comment "// in most situations, will be better to use UTF8 and use th"...
line_comment "// are people really likely to remember \"&CounterClockwiseCo"...
field_declaration (+20338 nodes collapsed)
static_initializer (+335 nodes collapsed)
} "}"

After

program
package_declaration
package "package"
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "jsoup"
. "."
identifier "nodes"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "nio"
. "."
identifier "charset"
. "."
identifier "CharsetEncoder"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "HashMap"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "Map"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "regex"
. "."
identifier "Matcher"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "regex"
. "."
identifier "Pattern"
; ";"
block_comment "/**\n * HTML entities, and escape routines.\n * Source: <a hre"...
class_declaration
modifiers
public "public"
class "class"
identifier "Entities"
class_body
{ "{"
enum_declaration (+96 nodes collapsed)
field_declaration
modifiers
private "private"
static "static"
final "final"
generic_type
type_identifier "Map"
type_arguments
< "<"
type_identifier "String"
, ","
type_identifier "Character"
> ">"
variable_declarator
identifier "full"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
generic_type
type_identifier "Map"
type_arguments
< "<"
type_identifier "Character"
, ","
type_identifier "String"
> ">"
variable_declarator
identifier "xhtmlByVal"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
generic_type
type_identifier "Map"
type_arguments
< "<"
type_identifier "Character"
, ","
type_identifier "String"
> ">"
variable_declarator
identifier "baseByVal"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
generic_type
type_identifier "Map"
type_arguments
< "<"
type_identifier "Character"
, ","
type_identifier "String"
> ">"
variable_declarator
identifier "fullByVal"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
type_identifier "Pattern"
variable_declarator
identifier "unescapePattern"
= "="
method_invocation
identifier "Pattern"
. "."
identifier "compile"
argument_list
( "("
string_literal
" "\""
string_fragment "&(#(x|X)?([0-9a-fA-F]+)|[a-zA-Z]+"
escape_sequence "\\\\"
string_fragment "d*);?"
" "\""
) ")"
; ";"
method_declaration (+46 nodes collapsed)
method_declaration (+224 nodes collapsed)
method_declaration (+333 nodes collapsed)
line_comment "// xhtml has restricted entities"
field_declaration (+68 nodes collapsed)
line_comment "// most common, base entities can be unescaped without trail"...
line_comment "// e.g. &amp"
field_declaration (+1078 nodes collapsed)
line_comment "// in most situations, will be better to use UTF8 and use th"...
line_comment "// are people really likely to remember \"&CounterClockwiseCo"...
field_declaration (+20338 nodes collapsed)
static_initializer (+335 nodes collapsed)
} "}"