This mapping has 5 all-to-all groups: every node on one side corresponds to every node on the other, and none is deleted or inserted. Each member carries an all N:M badge; selecting one highlights all of its counterparts, in the tree and in the code view alike.

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–213 unchanged (213 lines)
214
215 public override DownloadClientInfo GetStatus()
216 {
217 var config = _proxy.GetConfig(Settings);
218 var label = _proxy.GetLabelOptions(Settings);
219 OsPath destDir;
220
221 if (label != null && label.ApplyMoveCompleted && label.MoveCompleted)
222 {
223 // if label exists and a label completed path exists and is enabled use it instead of global
224 destDir = new OsPath(label.MoveCompletedPath);
225 }
226 else if (config.GetValueOrDefault("move_completed", false).ToString() == "True")
227 {
228 destDir = new OsPath(config.GetValueOrDefault("move_completed_path") as string);
229 }
230 else
231 {
232 destDir = new OsPath(config.GetValueOrDefault("download_location") as string);
233 }
234
235 var status = new DownloadClientInfo
236 {
237 IsLocalhost = Settings.Host == "127.0.0.1" || Settings.Host == "localhost"
238 };
239
240 if (!destDir.IsEmpty)
241 {
242 status.OutputRootFolders = new List<OsPath> { _remotePathMappingService.RemapRemoteToLocal(Settings.Host, destDir) };
243 }
…lines 244–375 unchanged (132 lines)

After

…lines 1–214 unchanged (214 lines)
215 public override DownloadClientInfo GetStatus()
216 {
217 var config = _proxy.GetConfig(Settings);
218 var label = _proxy.GetLabelOptions(Settings);
219
220 OsPath destDir;
221
222 if (Settings.CompletedDirectory.IsNotNullOrWhiteSpace())
223 {
224 destDir = new OsPath(Settings.CompletedDirectory);
225 }
226 else if (Settings.DownloadDirectory.IsNotNullOrWhiteSpace())
227 {
228 destDir = new OsPath(Settings.DownloadDirectory);
229 }
230 else if (label is { ApplyMoveCompleted: true, MoveCompleted: true })
231 {
232 // if label exists and a label completed path exists and is enabled use it instead of global
233 destDir = new OsPath(label.MoveCompletedPath);
234 }
235 else if (config.GetValueOrDefault("move_completed", false).ToString() == "True")
236 {
237 destDir = new OsPath(config.GetValueOrDefault("move_completed_path") as string);
238 }
239 else
240 {
241 destDir = new OsPath(config.GetValueOrDefault("download_location") as string);
242 }
243
244 var status = new DownloadClientInfo
245 {
246 IsLocalhost = Settings.Host is "127.0.0.1" or "localhost"
247 };
248
249 if (!destDir.IsEmpty)
250 {
251 status.OutputRootFolders = new List<OsPath> { _remotePathMappingService.RemapRemoteToLocal(Settings.Host, destDir) };
252 }
…lines 253–384 unchanged (132 lines)

Before

compilation_unit
using_directive
using "using"
identifier "System"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "System"
. "."
identifier "Collections"
. "."
identifier "Generic"
; ";"
using_directive
using "using"
qualified_name
identifier "System"
. "."
identifier "Linq"
; ";"
using_directive
using "using"
qualified_name
identifier "System"
. "."
identifier "Net"
; ";"
using_directive
using "using"
qualified_name
identifier "FluentValidation"
. "."
identifier "Results"
; ";"
using_directive
using "using"
identifier "NLog"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "NzbDrone"
. "."
identifier "Common"
. "."
identifier "Disk"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "NzbDrone"
. "."
identifier "Common"
. "."
identifier "Extensions"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "NzbDrone"
. "."
identifier "Common"
. "."
identifier "Http"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "NzbDrone"
. "."
identifier "Core"
. "."
identifier "Blocklisting"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "NzbDrone"
. "."
identifier "Core"
. "."
identifier "Configuration"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "NzbDrone"
. "."
identifier "Core"
. "."
identifier "Localization"
; ";"
using_directive
using "using"
qualified_name
qualified_name
qualified_name
identifier "NzbDrone"
. "."
identifier "Core"
. "."
identifier "MediaFiles"
. "."
identifier "TorrentInfo"
; ";"
using_directive
using "using"
qualified_name
qualified_name
qualified_name
identifier "NzbDrone"
. "."
identifier "Core"
. "."
identifier "Parser"
. "."
identifier "Model"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "NzbDrone"
. "."
identifier "Core"
. "."
identifier "RemotePathMappings"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "NzbDrone"
. "."
identifier "Core"
. "."
identifier "Validation"
; ";"
namespace_declaration
namespace "namespace"
qualified_name
qualified_name
qualified_name
qualified_name
identifier "NzbDrone"
. "."
identifier "Core"
. "."
identifier "Download"
. "."
identifier "Clients"
. "."
identifier "Deluge"
declaration_list
{ "{"
class_declaration
modifier
public "public"
class "class"
identifier "Deluge"
base_list
: ":"
generic_name
identifier "TorrentClientBase"
type_argument_list
< "<"
identifier "DelugeSettings"
> ">"
declaration_list
{ "{"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
identifier "IDelugeProxy"
variable_declarator
identifier "_proxy"
; ";"
constructor_declaration (+80 nodes collapsed)
method_declaration (+123 nodes collapsed)
method_declaration (+230 nodes collapsed)
method_declaration (+241 nodes collapsed)
property_declaration
modifier
public "public"
modifier
override "override"
predefined_type "string"
identifier "Name"
arrow_expression_clause
=> "=>"
string_literal
" "\""
string_literal_content "Deluge"
" "\""
; ";"
method_declaration (+696 nodes collapsed)
method_declaration (+48 nodes collapsed)
method_declaration
modifier
public "public"
modifier
override "override"
identifier "DownloadClientInfo"
identifier "GetStatus"
parameter_list
( "("
) ")"
block
{ "{"
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "config"
= "="
invocation_expression
member_access_expression
identifier "_proxy"
. "."
identifier "GetConfig"
argument_list
( "("
argument
identifier "Settings"
) ")"
; ";"
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "label"
= "="
invocation_expression
member_access_expression
identifier "_proxy"
. "."
identifier "GetLabelOptions"
argument_list
( "("
argument
identifier "Settings"
) ")"
; ";"
local_declaration_statement
variable_declaration
identifier "OsPath"
variable_declarator
identifier "destDir"
; ";"
if_statement
if "if"
( "("
binary_expression
binary_expression
binary_expression
identifier "label"
!= "!="
null_literal "null"
&& "&&"
member_access_expression
identifier "label" all 2:1
. "."
identifier "ApplyMoveCompleted"
&& "&&"
member_access_expression
identifier "label" all 2:1
. "."
identifier "MoveCompleted"
) ")"
block
{ "{"
comment "// if label exists and a label completed path exists and is "...
expression_statement
assignment_expression
identifier "destDir"
= "="
object_creation_expression
new "new"
identifier "OsPath"
argument_list
( "("
argument
member_access_expression
identifier "label"
. "."
identifier "MoveCompletedPath"
) ")"
; ";"
} "}"
else "else"
if_statement (+97 nodes collapsed)
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "status"
= "="
object_creation_expression
new "new"
identifier "DownloadClientInfo"
initializer_expression
{ "{"
assignment_expression
identifier "IsLocalhost"
= "="
binary_expression
binary_expression
member_access_expression all 2:1
identifier "Settings" all 2:1
. "." all 2:1
identifier "Host" all 2:1
== "=="
string_literal
" "\""
string_literal_content "127.0.0.1"
" "\""
|| "||"
binary_expression
member_access_expression all 2:1
identifier "Settings" all 2:1
. "." all 2:1
identifier "Host" all 2:1
== "=="
string_literal
" "\""
string_literal_content "localhost"
" "\""
} "}"
; ";"
if_statement (+48 nodes collapsed)
return_statement
return "return"
identifier "status"
; ";"
} "}"
method_declaration (+87 nodes collapsed)
method_declaration (+518 nodes collapsed)
method_declaration (+504 nodes collapsed)
method_declaration (+116 nodes collapsed)
} "}"
} "}"

After

compilation_unit
using_directive
using "using"
identifier "System"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "System"
. "."
identifier "Collections"
. "."
identifier "Generic"
; ";"
using_directive
using "using"
qualified_name
identifier "System"
. "."
identifier "Linq"
; ";"
using_directive
using "using"
qualified_name
identifier "System"
. "."
identifier "Net"
; ";"
using_directive
using "using"
qualified_name
identifier "FluentValidation"
. "."
identifier "Results"
; ";"
using_directive
using "using"
identifier "NLog"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "NzbDrone"
. "."
identifier "Common"
. "."
identifier "Disk"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "NzbDrone"
. "."
identifier "Common"
. "."
identifier "Extensions"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "NzbDrone"
. "."
identifier "Common"
. "."
identifier "Http"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "NzbDrone"
. "."
identifier "Core"
. "."
identifier "Blocklisting"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "NzbDrone"
. "."
identifier "Core"
. "."
identifier "Configuration"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "NzbDrone"
. "."
identifier "Core"
. "."
identifier "Localization"
; ";"
using_directive
using "using"
qualified_name
qualified_name
qualified_name
identifier "NzbDrone"
. "."
identifier "Core"
. "."
identifier "MediaFiles"
. "."
identifier "TorrentInfo"
; ";"
using_directive
using "using"
qualified_name
qualified_name
qualified_name
identifier "NzbDrone"
. "."
identifier "Core"
. "."
identifier "Parser"
. "."
identifier "Model"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "NzbDrone"
. "."
identifier "Core"
. "."
identifier "RemotePathMappings"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "NzbDrone"
. "."
identifier "Core"
. "."
identifier "Validation"
; ";"
namespace_declaration
namespace "namespace"
qualified_name
qualified_name
qualified_name
qualified_name
identifier "NzbDrone"
. "."
identifier "Core"
. "."
identifier "Download"
. "."
identifier "Clients"
. "."
identifier "Deluge"
declaration_list
{ "{"
class_declaration
modifier
public "public"
class "class"
identifier "Deluge"
base_list
: ":"
generic_name
identifier "TorrentClientBase"
type_argument_list
< "<"
identifier "DelugeSettings"
> ">"
declaration_list
{ "{"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
identifier "IDelugeProxy"
variable_declarator
identifier "_proxy"
; ";"
constructor_declaration (+80 nodes collapsed)
method_declaration (+123 nodes collapsed)
method_declaration (+230 nodes collapsed)
method_declaration (+241 nodes collapsed)
property_declaration
modifier
public "public"
modifier
override "override"
predefined_type "string"
identifier "Name"
arrow_expression_clause
=> "=>"
string_literal
" "\""
string_literal_content "Deluge"
" "\""
; ";"
method_declaration (+696 nodes collapsed)
method_declaration (+48 nodes collapsed)
method_declaration
modifier
public "public"
modifier
override "override"
identifier "DownloadClientInfo"
identifier "GetStatus"
parameter_list
( "("
) ")"
block
{ "{"
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "config"
= "="
invocation_expression
member_access_expression
identifier "_proxy"
. "."
identifier "GetConfig"
argument_list
( "("
argument
identifier "Settings"
) ")"
; ";"
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "label"
= "="
invocation_expression
member_access_expression
identifier "_proxy"
. "."
identifier "GetLabelOptions"
argument_list
( "("
argument
identifier "Settings"
) ")"
; ";"
local_declaration_statement
variable_declaration
identifier "OsPath"
variable_declarator
identifier "destDir"
; ";"
if_statement
if "if"
( "("
invocation_expression
member_access_expression
member_access_expression
identifier "Settings"
. "."
identifier "CompletedDirectory"
. "."
identifier "IsNotNullOrWhiteSpace"
argument_list
( "("
) ")"
) ")"
block
{ "{"
expression_statement
assignment_expression
identifier "destDir"
= "="
object_creation_expression
new "new"
identifier "OsPath"
argument_list
( "("
argument
member_access_expression
identifier "Settings"
. "."
identifier "CompletedDirectory"
) ")"
; ";"
} "}"
else "else"
if_statement
if "if"
( "("
invocation_expression
member_access_expression
member_access_expression
identifier "Settings"
. "."
identifier "DownloadDirectory"
. "."
identifier "IsNotNullOrWhiteSpace"
argument_list
( "("
) ")"
) ")"
block
{ "{"
expression_statement
assignment_expression
identifier "destDir"
= "="
object_creation_expression
new "new"
identifier "OsPath"
argument_list
( "("
argument
member_access_expression
identifier "Settings"
. "."
identifier "DownloadDirectory"
) ")"
; ";"
} "}"
else "else"
if_statement
if "if"
( "("
is_pattern_expression
identifier "label" all 2:1
is "is"
recursive_pattern
property_pattern_clause
{ "{"
subpattern
identifier "ApplyMoveCompleted"
: ":"
constant_pattern
boolean_literal
true "true"
, ","
subpattern
identifier "MoveCompleted"
: ":"
constant_pattern
boolean_literal
true "true"
} "}"
) ")"
block
{ "{"
comment "// if label exists and a label completed path exists and is "...
expression_statement
assignment_expression
identifier "destDir"
= "="
object_creation_expression
new "new"
identifier "OsPath"
argument_list
( "("
argument
member_access_expression
identifier "label"
. "."
identifier "MoveCompletedPath"
) ")"
; ";"
} "}"
else "else"
if_statement (+97 nodes collapsed)
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "status"
= "="
object_creation_expression
new "new"
identifier "DownloadClientInfo"
initializer_expression
{ "{"
assignment_expression
identifier "IsLocalhost"
= "="
is_pattern_expression
member_access_expression all 2:1
identifier "Settings" all 2:1
. "." all 2:1
identifier "Host" all 2:1
is "is"
or_pattern
constant_pattern
string_literal
" "\""
string_literal_content "127.0.0.1"
" "\""
or "or"
constant_pattern
string_literal
" "\""
string_literal_content "localhost"
" "\""
} "}"
; ";"
if_statement (+48 nodes collapsed)
return_statement
return "return"
identifier "status"
; ";"
} "}"
method_declaration (+87 nodes collapsed)
method_declaration (+518 nodes collapsed)
method_declaration (+504 nodes collapsed)
method_declaration (+116 nodes collapsed)
} "}"
} "}"