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–27 unchanged (27 lines)
28 },
29 Run: func(t *TestDriver, keys config.KeybindingConfig) {
30 assertInParentRepo := func() {
31 t.Views().Status().Content(Contains("repo"))
32 }
33 assertInSubmodule := func() {
34 if t.Git().Version().IsAtLeast(2, 22, 0) {
35 t.Views().Status().Content(Contains("my_submodule_path(my_submodule_name)"))
36 } else {
37 t.Views().Status().Content(Contains("my_submodule_path"))
38 }
39 }
40
41 assertInParentRepo()
42
43 t.Views().Submodules().Focus().
44 Lines(
…lines 45–134 unchanged (90 lines)

After

…lines 1–27 unchanged (27 lines)
28 },
29 Run: func(t *TestDriver, keys config.KeybindingConfig) {
30 assertInParentRepo := func() {
31 t.Views().Status().Content(Contains("repo"))
32 }
33 assertInSubmodule := func() {
34 t.Views().Status().Content(Contains("my_submodule_path(my_submodule_name)"))
35 }
36
37 assertInParentRepo()
38
39 t.Views().Submodules().Focus().
40 Lines(
…lines 41–130 unchanged (90 lines)

Before

source_file
package_clause
package "package"
package_identifier "submodule"
import_declaration
import "import"
import_spec_list
( "("
import_spec
interpreted_string_literal
" "\""
interpreted_string_literal_content "github.com/jesseduffield/lazygit/pkg/config"
" "\""
import_spec
dot
. "."
interpreted_string_literal
" "\""
interpreted_string_literal_content "github.com/jesseduffield/lazygit/pkg/integration/components"
" "\""
) ")"
var_declaration
var "var"
var_spec
identifier "Reset"
= "="
expression_list
call_expression
identifier "NewIntegrationTest"
argument_list
( "("
composite_literal
type_identifier "NewIntegrationTestArgs"
literal_value
{ "{"
keyed_element
literal_element
identifier "Description"
: ":"
literal_element
interpreted_string_literal
" "\""
interpreted_string_literal_content "Enter a submodule, create a commit and stage some changes, t"...
" "\""
, ","
keyed_element
literal_element
identifier "ExtraCmdArgs"
: ":"
literal_element
composite_literal
slice_type
[ "["
] "]"
type_identifier "string"
literal_value
{ "{"
} "}"
, ","
keyed_element
literal_element
identifier "Skip"
: ":"
literal_element
false "false"
, ","
keyed_element (+91 nodes collapsed)
, ","
keyed_element (+89 nodes collapsed)
, ","
keyed_element
literal_element
identifier "Run"
: ":"
literal_element
func_literal
func "func"
parameter_list
( "("
parameter_declaration
identifier "t"
pointer_type
* "*"
type_identifier "TestDriver"
, ","
parameter_declaration
identifier "keys"
qualified_type
package_identifier "config"
. "."
type_identifier "KeybindingConfig"
) ")"
block
{ "{"
statement_list
short_var_declaration (+46 nodes collapsed)
short_var_declaration
expression_list
identifier "assertInSubmodule"
:= ":="
expression_list
func_literal
func "func"
parameter_list
( "("
) ")"
block
{ "{"
statement_list
if_statement
if "if"
call_expression
selector_expression
call_expression
selector_expression
call_expression
selector_expression
identifier "t"
. "."
field_identifier "Git"
argument_list
( "("
) ")"
. "."
field_identifier "Version"
argument_list
( "("
) ")"
. "."
field_identifier "IsAtLeast"
argument_list
( "("
int_literal "2"
, ","
int_literal "22"
, ","
int_literal "0"
) ")"
block
{ "{"
statement_list (+33 nodes collapsed)
} "}"
else "else"
block
{ "{"
statement_list
expression_statement
call_expression
selector_expression
call_expression
selector_expression
call_expression
selector_expression
identifier "t"
. "."
field_identifier "Views"
argument_list
( "("
) ")"
. "."
field_identifier "Status"
argument_list
( "("
) ")"
. "."
field_identifier "Content"
argument_list
( "("
call_expression
identifier "Contains"
argument_list
( "("
interpreted_string_literal
" "\""
interpreted_string_literal_content "my_submodule_path"
" "\""
) ")"
) ")"
} "}"
} "}"
expression_statement
call_expression
identifier "assertInParentRepo"
argument_list
( "("
) ")"
expression_statement (+55 nodes collapsed)
expression_statement
call_expression
identifier "assertInSubmodule"
argument_list
( "("
) ")"
expression_statement (+154 nodes collapsed)
expression_statement
call_expression
identifier "assertInParentRepo"
argument_list
( "("
) ")"
expression_statement (+23 nodes collapsed)
expression_statement (+32 nodes collapsed)
expression_statement (+355 nodes collapsed)
expression_statement (+30 nodes collapsed)
expression_statement
call_expression
identifier "assertInSubmodule"
argument_list
( "("
) ")"
comment "// submodule has been hard reset to the commit the parent re"...
expression_statement (+50 nodes collapsed)
comment "// empty commit is gone"
expression_statement (+40 nodes collapsed)
comment "// the staged change has been stashed"
expression_statement (+23 nodes collapsed)
expression_statement (+47 nodes collapsed)
expression_statement (+32 nodes collapsed)
} "}"
, ","
} "}"
) ")"

After

source_file
package_clause
package "package"
package_identifier "submodule"
import_declaration
import "import"
import_spec_list
( "("
import_spec
interpreted_string_literal
" "\""
interpreted_string_literal_content "github.com/jesseduffield/lazygit/pkg/config"
" "\""
import_spec
dot
. "."
interpreted_string_literal
" "\""
interpreted_string_literal_content "github.com/jesseduffield/lazygit/pkg/integration/components"
" "\""
) ")"
var_declaration
var "var"
var_spec
identifier "Reset"
= "="
expression_list
call_expression
identifier "NewIntegrationTest"
argument_list
( "("
composite_literal
type_identifier "NewIntegrationTestArgs"
literal_value
{ "{"
keyed_element
literal_element
identifier "Description"
: ":"
literal_element
interpreted_string_literal
" "\""
interpreted_string_literal_content "Enter a submodule, create a commit and stage some changes, t"...
" "\""
, ","
keyed_element
literal_element
identifier "ExtraCmdArgs"
: ":"
literal_element
composite_literal
slice_type
[ "["
] "]"
type_identifier "string"
literal_value
{ "{"
} "}"
, ","
keyed_element
literal_element
identifier "Skip"
: ":"
literal_element
false "false"
, ","
keyed_element (+91 nodes collapsed)
, ","
keyed_element (+89 nodes collapsed)
, ","
keyed_element
literal_element
identifier "Run"
: ":"
literal_element
func_literal
func "func"
parameter_list
( "("
parameter_declaration
identifier "t"
pointer_type
* "*"
type_identifier "TestDriver"
, ","
parameter_declaration
identifier "keys"
qualified_type
package_identifier "config"
. "."
type_identifier "KeybindingConfig"
) ")"
block
{ "{"
statement_list
short_var_declaration (+46 nodes collapsed)
short_var_declaration
expression_list
identifier "assertInSubmodule"
:= ":="
expression_list
func_literal
func "func"
parameter_list
( "("
) ")"
block
{ "{"
statement_list (+33 nodes collapsed)
} "}"
expression_statement
call_expression
identifier "assertInParentRepo"
argument_list
( "("
) ")"
expression_statement (+55 nodes collapsed)
expression_statement
call_expression
identifier "assertInSubmodule"
argument_list
( "("
) ")"
expression_statement (+154 nodes collapsed)
expression_statement
call_expression
identifier "assertInParentRepo"
argument_list
( "("
) ")"
expression_statement (+23 nodes collapsed)
expression_statement (+32 nodes collapsed)
expression_statement (+355 nodes collapsed)
expression_statement (+30 nodes collapsed)
expression_statement
call_expression
identifier "assertInSubmodule"
argument_list
( "("
) ")"
comment "// submodule has been hard reset to the commit the parent re"...
expression_statement (+50 nodes collapsed)
comment "// empty commit is gone"
expression_statement (+40 nodes collapsed)
comment "// the staged change has been stashed"
expression_statement (+23 nodes collapsed)
expression_statement (+47 nodes collapsed)
expression_statement (+32 nodes collapsed)
} "}"
, ","
} "}"
) ")"