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

1const numbers = [1, 2, 3, 4, 5];
2
3const doubled = numbers.map(function(n) {
4 return n * 2;
5});
6
7const evens = numbers.filter(function(n) {
8 return n % 2 === 0;
9});
10
11console.log(doubled, evens);
12

After

1const numbers = [1, 2, 3, 4, 5];
2
3const doubled = numbers.map(n => n * 2);
4
5const evens = numbers.filter(n => n % 2 === 0);
6
7console.log(doubled, evens);
8

Before

program
lexical_declaration
const "const"
variable_declarator
identifier "numbers"
= "="
array
[ "["
number "1"
, ","
number "2"
, ","
number "3"
, ","
number "4"
, ","
number "5"
] "]"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "doubled"
= "="
call_expression
member_expression
identifier "numbers"
. "."
property_identifier "map"
arguments
( "("
function_expression
function "function"
formal_parameters
( "("
identifier "n"
) ")"
statement_block
{ "{"
return_statement
return "return"
binary_expression
identifier "n"
* "*"
number "2"
; ";"
} "}"
) ")"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "evens"
= "="
call_expression
member_expression
identifier "numbers"
. "."
property_identifier "filter"
arguments
( "("
function_expression
function "function"
formal_parameters
( "("
identifier "n"
) ")"
statement_block
{ "{"
return_statement
return "return"
binary_expression
binary_expression
identifier "n"
% "%"
number "2"
=== "==="
number "0"
; ";"
} "}"
) ")"
; ";"
expression_statement
call_expression
member_expression
identifier "console"
. "."
property_identifier "log"
arguments
( "("
identifier "doubled"
, ","
identifier "evens"
) ")"
; ";"

After

program
lexical_declaration
const "const"
variable_declarator
identifier "numbers"
= "="
array
[ "["
number "1"
, ","
number "2"
, ","
number "3"
, ","
number "4"
, ","
number "5"
] "]"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "doubled"
= "="
call_expression
member_expression
identifier "numbers"
. "."
property_identifier "map"
arguments
( "("
arrow_function
identifier "n"
=> "=>"
binary_expression
identifier "n"
* "*"
number "2"
) ")"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "evens"
= "="
call_expression
member_expression
identifier "numbers"
. "."
property_identifier "filter"
arguments
( "("
arrow_function
identifier "n"
=> "=>"
binary_expression
binary_expression
identifier "n"
% "%"
number "2"
=== "==="
number "0"
) ")"
; ";"
expression_statement
call_expression
member_expression
identifier "console"
. "."
property_identifier "log"
arguments
( "("
identifier "doubled"
, ","
identifier "evens"
) ")"
; ";"