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

1//go:build windows
2
3package tui
4
5import "os"
6
7func ttyname() string {
8 return ""
9}
10
11// TtyIn on Windows returns os.Stdin
12func TtyIn() *os.File {
13 return os.Stdin
14}
15

After

1//go:build windows
2
3package tui
4
5import (
6 "os"
7)
8
9func ttyname() string {
10 return ""
11}
12
13// TtyIn on Windows returns os.Stdin
14func TtyIn() (*os.File, error) {
15 return os.Stdin, nil
16}
17
18// TtyIn on Windows returns nil
19func TtyOut() (*os.File, error) {
20 return nil, nil
21}
22

Before

source_file
comment "//go:build windows"
package_clause
package "package"
package_identifier "tui"
import_declaration
import "import"
import_spec
interpreted_string_literal
" "\""
interpreted_string_literal_content "os"
" "\""
function_declaration
func "func"
identifier "ttyname"
parameter_list
( "("
) ")"
type_identifier "string"
block
{ "{"
statement_list
return_statement
return "return"
expression_list
interpreted_string_literal
" "\""
" "\""
} "}"
comment "// TtyIn on Windows returns os.Stdin"
function_declaration
func "func"
identifier "TtyIn"
parameter_list
( "("
) ")"
pointer_type
* "*"
qualified_type
package_identifier "os"
. "."
type_identifier "File"
block
{ "{"
statement_list
return_statement
return "return"
expression_list
selector_expression
identifier "os"
. "."
field_identifier "Stdin"
} "}"

After

source_file
comment "//go:build windows"
package_clause
package "package"
package_identifier "tui"
import_declaration
import "import"
import_spec_list
( "("
import_spec
interpreted_string_literal
" "\""
interpreted_string_literal_content "os"
" "\""
) ")"
function_declaration
func "func"
identifier "ttyname"
parameter_list
( "("
) ")"
type_identifier "string"
block
{ "{"
statement_list
return_statement
return "return"
expression_list
interpreted_string_literal
" "\""
" "\""
} "}"
comment "// TtyIn on Windows returns os.Stdin"
function_declaration
func "func"
identifier "TtyIn"
parameter_list
( "("
) ")"
parameter_list
( "("
parameter_declaration
pointer_type
* "*"
qualified_type
package_identifier "os"
. "."
type_identifier "File"
, ","
parameter_declaration
type_identifier "error"
) ")"
block
{ "{"
statement_list
return_statement
return "return"
expression_list
selector_expression
identifier "os"
. "."
field_identifier "Stdin"
, ","
nil "nil"
} "}"
comment "// TtyIn on Windows returns nil"
function_declaration
func "func"
identifier "TtyOut"
parameter_list
( "("
) ")"
parameter_list
( "("
parameter_declaration
pointer_type
* "*"
qualified_type
package_identifier "os"
. "."
type_identifier "File"
, ","
parameter_declaration
type_identifier "error"
) ")"
block
{ "{"
statement_list
return_statement
return "return"
expression_list
nil "nil"
, ","
nil "nil"
} "}"