any 3:2 multi-map group: any pairing of the 3 with the 2 is valid, one is shown
all 3:1 all-to-all group: each of the 3 corresponds to the 1
inserted
deleted
updated
moved
click a highlight to reveal its counterpart
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
1namespace NzbDrone.Core.Authentication
2{
3 public enum AuthenticationType
4 {
5 None = 0,
6 Basic = 1,
7 Forms = 2,
8 External = 3
9 }
10}
11
After
1using System;
2
3namespace NzbDrone.Core.Authentication
4{
5 public enum AuthenticationType
6 {
7 None = 0,
8[Obsolete("Use Forms authentication instead")]
9 Basic = 1,
10 Forms = 2,
11 External = 3
12 }
13}
14
Before
1namespace NzbDrone.Core.Authentication
2{
3 public enum AuthenticationType
4 {
5 None = 0,
6 Basic = 1,
7 Forms = 2,
8 External = 3
9 }
10}
11
After
1using System;
2
3namespace NzbDrone.Core.Authentication
4{
5 public enum AuthenticationType
6 {
7 None = 0,
8[Obsolete("Use Forms authentication instead")]
9 Basic = 1,
10 Forms = 2,
11 External = 3
12 }
13}
14
Before
1namespace NzbDrone.Core.Authentication
2{
3 public enum AuthenticationType
4 {
5 None = 0,
6 Basic = 1,
7 Forms = 2,
8 External = 3
9 }
10}
11
After
1using System;
2
3namespace NzbDrone.Core.Authentication
4{
5 public enum AuthenticationType
6 {
7 None = 0,
8[Obsolete("Use Forms authentication instead")]
9 Basic = 1,
10 Forms = 2,
11 External = 3
12 }
13}
14
Before
compilation_unitnamespace_declaration
namespace "namespace"
qualified_namequalified_name
identifier "NzbDrone"
. "."
identifier "Core"
. "."
identifier "Authentication"
declaration_list
{ "{"
enum_declarationmodifier
public "public"
enum "enum"
identifier "AuthenticationType"
enum_member_declaration_list
{ "{"
enum_member_declaration
identifier "None"
= "="
integer_literal "0"
, ","
enum_member_declaration
identifier "Basic"
= "="
integer_literal "1"
, ","
enum_member_declaration
identifier "Forms"
= "="
integer_literal "2"
, ","
enum_member_declaration
identifier "External"
= "="
integer_literal "3"
} "}"
} "}"
After
compilation_unitusing_directive
using "using"
identifier "System"
; ";"
namespace_declaration
namespace "namespace"
qualified_namequalified_name
identifier "NzbDrone"
. "."
identifier "Core"
. "."
identifier "Authentication"
declaration_list
{ "{"
enum_declarationmodifier
public "public"
enum "enum"
identifier "AuthenticationType"
enum_member_declaration_list
{ "{"
enum_member_declaration
identifier "None"
= "="
integer_literal "0"
, ","
enum_member_declarationattribute_list
[ "["
attribute
identifier "Obsolete"
attribute_argument_list
( "("
attribute_argumentstring_literal
" "\""
string_literal_content "Use Forms authentication instead"
" "\""
) ")"
] "]"
identifier "Basic"
= "="
integer_literal "1"
, ","
enum_member_declaration
identifier "Forms"
= "="
integer_literal "2"
, ","
enum_member_declaration
identifier "External"
= "="
integer_literal "3"
} "}"
} "}"
Keybindings
j / k
next / previous visible node (tree panels)
h / l
collapse / expand the focused node
g / G
jump to first / last visible node
Tab
switch focus between Before/After panels
/
search: jump to next node whose text contains a given string
a
jump the other panel to this node's mapped counterpart
i
hide identical matches, showing only inserted/deleted/updated nodes and their ancestors
v
cycle the view: split / code only / tree only
p
cycle what the code view renders: the node mapping, then each human painting
r
mark this fixture as reviewed, or forget the mark (kept in this browser only)