This mapping has 2 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–39 unchanged (39 lines)
40// import "github.com/mattn/go-colorable"
41// gin.DefaultWriter = colorable.NewColorableStdout()
42var DefaultWriter io.Writer = os.Stdout
43
44// DefaultErrorWriter is the default io.Writer used by Gin to debug errors
45var DefaultErrorWriter io.Writer = os.Stderr
46
47var ginMode int32 = debugCode
48var modeName atomic.Value
49
50func init() {
51 mode := os.Getenv(EnvGinMode)
52 SetMode(mode)
53}
54
…lines 55–99 unchanged (45 lines)

After

…lines 1–40 unchanged (40 lines)
41// gin.DefaultWriter = colorable.NewColorableStdout()
42var DefaultWriter io.Writer = os.Stdout
43
44// DefaultErrorWriter is the default io.Writer used by Gin to debug errors
45var DefaultErrorWriter io.Writer = os.Stderr
46
47var (
48 ginMode int32 = debugCode
49 modeName atomic.Value
50)
51
52func init() {
53 mode := os.Getenv(EnvGinMode)
54 SetMode(mode)
55}
56
…lines 57–101 unchanged (45 lines)

Before

source_file
comment "// Copyright 2014 Manu Martinez-Almeida. All rights reserved"...
comment "// Use of this source code is governed by a MIT style"
comment "// license that can be found in the LICENSE file."
package_clause
package "package"
package_identifier "gin"
import_declaration (+30 nodes collapsed)
comment "// EnvGinMode indicates environment name for gin mode."
const_declaration
const "const"
const_spec
identifier "EnvGinMode"
= "="
expression_list
interpreted_string_literal
" "\""
interpreted_string_literal_content "GIN_MODE"
" "\""
const_declaration (+31 nodes collapsed)
const_declaration
const "const"
( "("
const_spec
identifier "debugCode"
= "="
expression_list
iota "iota"
const_spec
identifier "releaseCode"
const_spec
identifier "testCode"
) ")"
comment "// DefaultWriter is the default io.Writer used by Gin for de"...
comment "// middleware output like Logger() or Recovery()."
comment "// Note that both Logger and Recovery provides custom ways t"...
comment "// output io.Writer."
comment "// To support coloring in Windows use:"
comment "//"
comment "//\timport \"github.com/mattn/go-colorable\""
comment "//\tgin.DefaultWriter = colorable.NewColorableStdout()"
var_declaration
var "var"
var_spec
identifier "DefaultWriter"
qualified_type
package_identifier "io"
. "."
type_identifier "Writer"
= "="
expression_list
selector_expression
identifier "os"
. "."
field_identifier "Stdout"
comment "// DefaultErrorWriter is the default io.Writer used by Gin t"...
var_declaration
var "var"
var_spec
identifier "DefaultErrorWriter"
qualified_type
package_identifier "io"
. "."
type_identifier "Writer"
= "="
expression_list
selector_expression
identifier "os"
. "."
field_identifier "Stderr"
var_declaration all 2:1
var "var" all 2:1
var_spec
identifier "ginMode"
type_identifier "int32"
= "="
expression_list
identifier "debugCode"
var_declaration all 2:1
var "var" all 2:1
var_spec
identifier "modeName"
qualified_type
package_identifier "atomic"
. "."
type_identifier "Value"
function_declaration (+31 nodes collapsed)
comment "// SetMode sets gin mode according to input string."
function_declaration (+165 nodes collapsed)
comment "// DisableBindValidation closes the default validator."
function_declaration
func "func"
identifier "DisableBindValidation"
parameter_list
( "("
) ")"
block
{ "{"
statement_list
assignment_statement
expression_list
selector_expression
identifier "binding"
. "."
field_identifier "Validator"
= "="
expression_list
nil "nil"
} "}"
comment "// EnableJsonDecoderUseNumber sets true for binding.EnableDe"...
comment "// call the UseNumber method on the JSON Decoder instance."
function_declaration
func "func"
identifier "EnableJsonDecoderUseNumber"
parameter_list
( "("
) ")"
block
{ "{"
statement_list
assignment_statement
expression_list
selector_expression
identifier "binding"
. "."
field_identifier "EnableDecoderUseNumber"
= "="
expression_list
true "true"
} "}"
comment "// EnableJsonDecoderDisallowUnknownFields sets true for bind"...
comment "// call the DisallowUnknownFields method on the JSON Decoder"...
function_declaration
func "func"
identifier "EnableJsonDecoderDisallowUnknownFields"
parameter_list
( "("
) ")"
block
{ "{"
statement_list
assignment_statement
expression_list
selector_expression
identifier "binding"
. "."
field_identifier "EnableDecoderDisallowUnknownFields"
= "="
expression_list
true "true"
} "}"
comment "// Mode returns current gin mode."
function_declaration (+27 nodes collapsed)

After

source_file
comment "// Copyright 2014 Manu Martinez-Almeida. All rights reserved"...
comment "// Use of this source code is governed by a MIT style"
comment "// license that can be found in the LICENSE file."
package_clause
package "package"
package_identifier "gin"
import_declaration (+30 nodes collapsed)
comment "// EnvGinMode indicates environment name for gin mode."
const_declaration
const "const"
const_spec
identifier "EnvGinMode"
= "="
expression_list
interpreted_string_literal
" "\""
interpreted_string_literal_content "GIN_MODE"
" "\""
const_declaration (+31 nodes collapsed)
const_declaration
const "const"
( "("
const_spec
identifier "debugCode"
= "="
expression_list
iota "iota"
const_spec
identifier "releaseCode"
const_spec
identifier "testCode"
) ")"
comment "// DefaultWriter is the default io.Writer used by Gin for de"...
comment "// middleware output like Logger() or Recovery()."
comment "// Note that both Logger and Recovery provides custom ways t"...
comment "// output io.Writer."
comment "// To support coloring in Windows use:"
comment "//"
comment "//\timport \"github.com/mattn/go-colorable\""
comment "//\tgin.DefaultWriter = colorable.NewColorableStdout()"
var_declaration
var "var"
var_spec
identifier "DefaultWriter"
qualified_type
package_identifier "io"
. "."
type_identifier "Writer"
= "="
expression_list
selector_expression
identifier "os"
. "."
field_identifier "Stdout"
comment "// DefaultErrorWriter is the default io.Writer used by Gin t"...
var_declaration
var "var"
var_spec
identifier "DefaultErrorWriter"
qualified_type
package_identifier "io"
. "."
type_identifier "Writer"
= "="
expression_list
selector_expression
identifier "os"
. "."
field_identifier "Stderr"
var_declaration all 2:1
var "var" all 2:1
var_spec_list
( "("
var_spec
identifier "ginMode"
type_identifier "int32"
= "="
expression_list
identifier "debugCode"
var_spec
identifier "modeName"
qualified_type
package_identifier "atomic"
. "."
type_identifier "Value"
) ")"
function_declaration (+31 nodes collapsed)
comment "// SetMode sets gin mode according to input string."
function_declaration (+165 nodes collapsed)
comment "// DisableBindValidation closes the default validator."
function_declaration
func "func"
identifier "DisableBindValidation"
parameter_list
( "("
) ")"
block
{ "{"
statement_list
assignment_statement
expression_list
selector_expression
identifier "binding"
. "."
field_identifier "Validator"
= "="
expression_list
nil "nil"
} "}"
comment "// EnableJsonDecoderUseNumber sets true for binding.EnableDe"...
comment "// call the UseNumber method on the JSON Decoder instance."
function_declaration
func "func"
identifier "EnableJsonDecoderUseNumber"
parameter_list
( "("
) ")"
block
{ "{"
statement_list
assignment_statement
expression_list
selector_expression
identifier "binding"
. "."
field_identifier "EnableDecoderUseNumber"
= "="
expression_list
true "true"
} "}"
comment "// EnableJsonDecoderDisallowUnknownFields sets true for bind"...
comment "// call the DisallowUnknownFields method on the JSON Decoder"...
function_declaration
func "func"
identifier "EnableJsonDecoderDisallowUnknownFields"
parameter_list
( "("
) ")"
block
{ "{"
statement_list
assignment_statement
expression_list
selector_expression
identifier "binding"
. "."
field_identifier "EnableDecoderDisallowUnknownFields"
= "="
expression_list
true "true"
} "}"
comment "// Mode returns current gin mode."
function_declaration (+27 nodes collapsed)