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–3076 unchanged (3076 lines)
3077 tmux.send_keys "seq 10 | #{FZF} --preview-window '~5,2,+0,<100000(~0,+100,wrap,noinfo)' --preview 'seq 1000'", :Enter
3078 tmux.until { |lines| assert_equal 10, lines.item_count }
3079 tmux.until do |lines|
3080 assert_equal ['╭────╮', '│ 10 │', '│ 0 │', '│ 10 │', '│ 1 │'], lines.take(5).map(&:strip)
3081 end
3082 end
3083
3084 def test_become
3085 tmux.send_keys "seq 100 | #{FZF} --bind 'enter:become:seq {} | #{FZF}'", :Enter
3086 tmux.until { |lines| assert_equal 100, lines.item_count }
3087 tmux.send_keys 999
3088 tmux.until { |lines| assert_equal 0, lines.match_count }
3089 tmux.send_keys :Enter
…lines 3090–3978 unchanged (889 lines)

After

…lines 1–3077 unchanged (3077 lines)
3078 tmux.until { |lines| assert_equal 10, lines.item_count }
3079 tmux.until do |lines|
3080 assert_equal ['╭────╮', '│ 10 │', '│ 0 │', '│ 10 │', '│ 1 │'], lines.take(5).map(&:strip)
3081 end
3082 end
3083
3084 def test_preview_window_width_exception
3085 tmux.send_keys "seq 10 | #{FZF} --scrollbar --preview-window border-left --border --preview 'seq 1000'", :Enter
3086 tmux.until do |lines|
3087 assert lines[1]&.end_with?(' 1/1000││')
3088 end
3089 end
3090
3091 def test_become
3092 tmux.send_keys "seq 100 | #{FZF} --bind 'enter:become:seq {} | #{FZF}'", :Enter
3093 tmux.until { |lines| assert_equal 100, lines.item_count }
3094 tmux.send_keys 999
3095 tmux.until { |lines| assert_equal 0, lines.match_count }
…lines 3096–3985 unchanged (890 lines)

Before

program
comment "#!/usr/bin/env ruby"
comment "# frozen_string_literal: true"
call
identifier "require"
argument_list
string
" "'"
string_content "minitest/autorun"
" "'"
call
identifier "require"
argument_list
string
" "'"
string_content "fileutils"
" "'"
call
identifier "require"
argument_list
string
" "'"
string_content "English"
" "'"
call
identifier "require"
argument_list
string
" "'"
string_content "shellwords"
" "'"
call
identifier "require"
argument_list
string
" "'"
string_content "erb"
" "'"
call
identifier "require"
argument_list
string
" "'"
string_content "tempfile"
" "'"
call
identifier "require"
argument_list
string
" "'"
string_content "net/http"
" "'"
call
identifier "require"
argument_list
string
" "'"
string_content "json"
" "'"
assignment
constant "TEMPLATE"
= "="
call
constant "DATA"
. "."
identifier "read"
assignment (+29 nodes collapsed)
assignment
constant "DEFAULT_TIMEOUT"
= "="
integer "10"
assignment
constant "FILE"
= "="
call
constant "File"
. "."
identifier "expand_path"
argument_list
( "("
identifier "__FILE__"
) ")"
assignment
constant "BASE"
= "="
call
constant "File"
. "."
identifier "expand_path"
argument_list
( "("
string
" "'"
string_content ".."
" "'"
, ","
identifier "__dir__"
) ")"
call
constant "Dir"
. "."
identifier "chdir"
argument_list
( "("
constant "BASE"
) ")"
assignment
constant "FZF"
= "="
string
" "\""
string_content "FZF_DEFAULT_OPTS="
escape_sequence "\\\""
string_content "--no-scrollbar --pointer "
escape_sequence "\\\\"
string_content "> --marker "
escape_sequence "\\\\"
string_content ">"
escape_sequence "\\\""
string_content " FZF_DEFAULT_COMMAND= "
interpolation
#{ "#{"
constant "BASE"
} "}"
string_content "/bin/fzf"
" "\""
method (+67 nodes collapsed)
class (+197 nodes collapsed)
class (+723 nodes collapsed)
class (+427 nodes collapsed)
class
class "class"
constant "TestGoFZF"
superclass
< "<"
constant "TestBase"
body_statement
method
def "def"
identifier "setup"
body_statement
super "super"
assignment
instance_variable "@tmux"
= "="
call
constant "Tmux"
. "."
identifier "new"
end "end"
method
def "def"
identifier "teardown"
body_statement
super "super"
call
instance_variable "@tmux"
. "."
identifier "kill"
end "end"
method (+283 nodes collapsed)
method (+70 nodes collapsed)
method (+61 nodes collapsed)
method (+615 nodes collapsed)
method (+116 nodes collapsed)
method (+161 nodes collapsed)
method (+622 nodes collapsed)
method (+303 nodes collapsed)
method (+256 nodes collapsed)
method (+140 nodes collapsed)
method (+53 nodes collapsed)
method (+51 nodes collapsed)
method (+149 nodes collapsed)
method (+101 nodes collapsed)
method (+181 nodes collapsed)
method (+111 nodes collapsed)
method (+147 nodes collapsed)
method (+149 nodes collapsed)
method (+371 nodes collapsed)
method (+74 nodes collapsed)
method (+115 nodes collapsed)
method (+114 nodes collapsed)
method (+49 nodes collapsed)
method (+203 nodes collapsed)
method (+91 nodes collapsed)
method (+252 nodes collapsed)
method (+276 nodes collapsed)
method (+60 nodes collapsed)
method (+271 nodes collapsed)
method (+94 nodes collapsed)
method (+146 nodes collapsed)
method (+127 nodes collapsed)
method (+316 nodes collapsed)
method (+22 nodes collapsed)
method (+105 nodes collapsed)
method (+79 nodes collapsed)
method (+132 nodes collapsed)
method (+63 nodes collapsed)
method (+78 nodes collapsed)
method (+473 nodes collapsed)
method (+641 nodes collapsed)
method (+360 nodes collapsed)
method (+350 nodes collapsed)
method (+375 nodes collapsed)
method (+178 nodes collapsed)
method (+279 nodes collapsed)
method (+129 nodes collapsed)
method (+121 nodes collapsed)
method (+127 nodes collapsed)
method (+84 nodes collapsed)
method (+115 nodes collapsed)
method (+130 nodes collapsed)
method (+122 nodes collapsed)
method (+128 nodes collapsed)
method (+150 nodes collapsed)
method (+137 nodes collapsed)
method (+150 nodes collapsed)
method (+95 nodes collapsed)
method (+183 nodes collapsed)
method (+64 nodes collapsed)
method (+55 nodes collapsed)
method (+64 nodes collapsed)
method (+172 nodes collapsed)
method (+45 nodes collapsed)
method (+50 nodes collapsed)
method (+51 nodes collapsed)
method (+23 nodes collapsed)
method (+34 nodes collapsed)
method (+83 nodes collapsed)
method (+125 nodes collapsed)
method (+44 nodes collapsed)
method (+65 nodes collapsed)
method (+83 nodes collapsed)
method (+167 nodes collapsed)
method (+123 nodes collapsed)
method (+418 nodes collapsed)
method (+109 nodes collapsed)
method (+210 nodes collapsed)
method (+56 nodes collapsed)
method (+149 nodes collapsed)
method (+82 nodes collapsed)
method (+430 nodes collapsed)
method (+278 nodes collapsed)
method (+252 nodes collapsed)
method (+160 nodes collapsed)
method (+241 nodes collapsed)
method (+254 nodes collapsed)
method (+270 nodes collapsed)
method (+108 nodes collapsed)
method (+135 nodes collapsed)
method (+67 nodes collapsed)
method (+99 nodes collapsed)
method (+43 nodes collapsed)
method (+43 nodes collapsed)
method (+252 nodes collapsed)
method (+197 nodes collapsed)
method (+104 nodes collapsed)
method (+209 nodes collapsed)
method (+137 nodes collapsed)
method (+72 nodes collapsed)
method (+92 nodes collapsed)
method (+95 nodes collapsed)
method (+127 nodes collapsed)
method (+128 nodes collapsed)
method (+202 nodes collapsed)
method (+170 nodes collapsed)
method (+68 nodes collapsed)
method (+361 nodes collapsed)
method (+189 nodes collapsed)
method (+69 nodes collapsed)
method (+37 nodes collapsed)
method (+69 nodes collapsed)
method (+134 nodes collapsed)
method (+113 nodes collapsed)
method (+73 nodes collapsed)
method (+101 nodes collapsed)
method (+119 nodes collapsed)
method (+119 nodes collapsed)
method (+80 nodes collapsed)
method (+144 nodes collapsed)
method (+160 nodes collapsed)
method (+109 nodes collapsed)
method (+47 nodes collapsed)
method (+154 nodes collapsed)
method (+198 nodes collapsed)
method (+243 nodes collapsed)
method (+73 nodes collapsed)
method (+73 nodes collapsed)
method (+109 nodes collapsed)
method (+158 nodes collapsed)
method (+69 nodes collapsed)
method (+119 nodes collapsed)
method (+605 nodes collapsed)
method (+109 nodes collapsed)
method (+179 nodes collapsed)
method (+262 nodes collapsed)
method (+134 nodes collapsed)
method (+173 nodes collapsed)
method (+140 nodes collapsed)
method (+197 nodes collapsed)
method (+171 nodes collapsed)
method (+333 nodes collapsed)
method (+186 nodes collapsed)
method (+179 nodes collapsed)
method (+80 nodes collapsed)
method (+122 nodes collapsed)
method (+94 nodes collapsed)
method (+126 nodes collapsed)
method (+126 nodes collapsed)
method (+126 nodes collapsed)
method (+126 nodes collapsed)
method (+114 nodes collapsed)
method (+103 nodes collapsed)
method (+285 nodes collapsed)
method (+237 nodes collapsed)
method (+72 nodes collapsed)
method (+66 nodes collapsed)
method (+418 nodes collapsed)
method (+68 nodes collapsed)
method (+248 nodes collapsed)
method (+246 nodes collapsed)
method (+241 nodes collapsed)
method (+66 nodes collapsed)
method (+142 nodes collapsed)
method (+39 nodes collapsed)
method (+39 nodes collapsed)
method (+39 nodes collapsed)
method (+41 nodes collapsed)
method (+39 nodes collapsed)
method (+60 nodes collapsed)
method (+250 nodes collapsed)
method (+115 nodes collapsed)
method (+142 nodes collapsed)
method (+54 nodes collapsed)
method (+54 nodes collapsed)
method (+58 nodes collapsed)
method (+187 nodes collapsed)
method (+41 nodes collapsed)
method (+41 nodes collapsed)
method (+41 nodes collapsed)
method (+45 nodes collapsed)
method (+42 nodes collapsed)
method (+45 nodes collapsed)
method (+45 nodes collapsed)
method (+80 nodes collapsed)
method (+83 nodes collapsed)
method (+52 nodes collapsed)
method (+52 nodes collapsed)
method (+52 nodes collapsed)
method (+250 nodes collapsed)
method (+339 nodes collapsed)
method (+274 nodes collapsed)
method (+90 nodes collapsed)
method (+102 nodes collapsed)
method (+155 nodes collapsed)
method (+50 nodes collapsed)
method (+414 nodes collapsed)
method (+304 nodes collapsed)
method (+207 nodes collapsed)
method (+69 nodes collapsed)
method (+42 nodes collapsed)
method (+73 nodes collapsed)
method (+137 nodes collapsed)
method (+42 nodes collapsed)
method (+128 nodes collapsed)
method (+69 nodes collapsed)
method (+205 nodes collapsed)
method (+99 nodes collapsed)
method (+45 nodes collapsed)
method (+45 nodes collapsed)
method (+176 nodes collapsed)
method (+166 nodes collapsed)
method (+123 nodes collapsed)
method (+44 nodes collapsed)
method (+44 nodes collapsed)
end "end"
module (+1532 nodes collapsed)
module (+2578 nodes collapsed)
class (+190 nodes collapsed)
class (+179 nodes collapsed)
class (+101 nodes collapsed)
uninterpreted "\nset -u\nPS1= PROMPT_COMMAND= HISTFILE= HISTSIZE=100\nunset <%"...

After

program
comment "#!/usr/bin/env ruby"
comment "# frozen_string_literal: true"
call
identifier "require"
argument_list
string
" "'"
string_content "minitest/autorun"
" "'"
call
identifier "require"
argument_list
string
" "'"
string_content "fileutils"
" "'"
call
identifier "require"
argument_list
string
" "'"
string_content "English"
" "'"
call
identifier "require"
argument_list
string
" "'"
string_content "shellwords"
" "'"
call
identifier "require"
argument_list
string
" "'"
string_content "erb"
" "'"
call
identifier "require"
argument_list
string
" "'"
string_content "tempfile"
" "'"
call
identifier "require"
argument_list
string
" "'"
string_content "net/http"
" "'"
call
identifier "require"
argument_list
string
" "'"
string_content "json"
" "'"
assignment
constant "TEMPLATE"
= "="
call
constant "DATA"
. "."
identifier "read"
assignment (+29 nodes collapsed)
assignment
constant "DEFAULT_TIMEOUT"
= "="
integer "10"
assignment
constant "FILE"
= "="
call
constant "File"
. "."
identifier "expand_path"
argument_list
( "("
identifier "__FILE__"
) ")"
assignment
constant "BASE"
= "="
call
constant "File"
. "."
identifier "expand_path"
argument_list
( "("
string
" "'"
string_content ".."
" "'"
, ","
identifier "__dir__"
) ")"
call
constant "Dir"
. "."
identifier "chdir"
argument_list
( "("
constant "BASE"
) ")"
assignment
constant "FZF"
= "="
string
" "\""
string_content "FZF_DEFAULT_OPTS="
escape_sequence "\\\""
string_content "--no-scrollbar --pointer "
escape_sequence "\\\\"
string_content "> --marker "
escape_sequence "\\\\"
string_content ">"
escape_sequence "\\\""
string_content " FZF_DEFAULT_COMMAND= "
interpolation
#{ "#{"
constant "BASE"
} "}"
string_content "/bin/fzf"
" "\""
method (+67 nodes collapsed)
class (+197 nodes collapsed)
class (+723 nodes collapsed)
class (+427 nodes collapsed)
class
class "class"
constant "TestGoFZF"
superclass
< "<"
constant "TestBase"
body_statement
method
def "def"
identifier "setup"
body_statement
super "super"
assignment
instance_variable "@tmux"
= "="
call
constant "Tmux"
. "."
identifier "new"
end "end"
method
def "def"
identifier "teardown"
body_statement
super "super"
call
instance_variable "@tmux"
. "."
identifier "kill"
end "end"
method (+283 nodes collapsed)
method (+70 nodes collapsed)
method (+61 nodes collapsed)
method (+615 nodes collapsed)
method (+116 nodes collapsed)
method (+161 nodes collapsed)
method (+622 nodes collapsed)
method (+303 nodes collapsed)
method (+256 nodes collapsed)
method (+140 nodes collapsed)
method (+53 nodes collapsed)
method (+51 nodes collapsed)
method (+149 nodes collapsed)
method (+101 nodes collapsed)
method (+181 nodes collapsed)
method (+111 nodes collapsed)
method (+147 nodes collapsed)
method (+149 nodes collapsed)
method (+371 nodes collapsed)
method (+74 nodes collapsed)
method (+115 nodes collapsed)
method (+114 nodes collapsed)
method (+49 nodes collapsed)
method (+203 nodes collapsed)
method (+91 nodes collapsed)
method (+252 nodes collapsed)
method (+276 nodes collapsed)
method (+60 nodes collapsed)
method (+271 nodes collapsed)
method (+94 nodes collapsed)
method (+146 nodes collapsed)
method (+127 nodes collapsed)
method (+316 nodes collapsed)
method (+22 nodes collapsed)
method (+105 nodes collapsed)
method (+79 nodes collapsed)
method (+132 nodes collapsed)
method (+63 nodes collapsed)
method (+78 nodes collapsed)
method (+473 nodes collapsed)
method (+641 nodes collapsed)
method (+360 nodes collapsed)
method (+350 nodes collapsed)
method (+375 nodes collapsed)
method (+178 nodes collapsed)
method (+279 nodes collapsed)
method (+129 nodes collapsed)
method (+121 nodes collapsed)
method (+127 nodes collapsed)
method (+84 nodes collapsed)
method (+115 nodes collapsed)
method (+130 nodes collapsed)
method (+122 nodes collapsed)
method (+128 nodes collapsed)
method (+150 nodes collapsed)
method (+137 nodes collapsed)
method (+150 nodes collapsed)
method (+95 nodes collapsed)
method (+183 nodes collapsed)
method (+64 nodes collapsed)
method (+55 nodes collapsed)
method (+64 nodes collapsed)
method (+172 nodes collapsed)
method (+45 nodes collapsed)
method (+50 nodes collapsed)
method (+51 nodes collapsed)
method (+23 nodes collapsed)
method (+34 nodes collapsed)
method (+83 nodes collapsed)
method (+125 nodes collapsed)
method (+44 nodes collapsed)
method (+65 nodes collapsed)
method (+83 nodes collapsed)
method (+167 nodes collapsed)
method (+123 nodes collapsed)
method (+418 nodes collapsed)
method (+109 nodes collapsed)
method (+210 nodes collapsed)
method (+56 nodes collapsed)
method (+149 nodes collapsed)
method (+82 nodes collapsed)
method (+430 nodes collapsed)
method (+278 nodes collapsed)
method (+252 nodes collapsed)
method (+160 nodes collapsed)
method (+241 nodes collapsed)
method (+254 nodes collapsed)
method (+270 nodes collapsed)
method (+108 nodes collapsed)
method (+135 nodes collapsed)
method (+67 nodes collapsed)
method (+99 nodes collapsed)
method (+43 nodes collapsed)
method (+43 nodes collapsed)
method (+252 nodes collapsed)
method (+197 nodes collapsed)
method (+104 nodes collapsed)
method (+209 nodes collapsed)
method (+137 nodes collapsed)
method (+72 nodes collapsed)
method (+92 nodes collapsed)
method (+95 nodes collapsed)
method (+127 nodes collapsed)
method (+128 nodes collapsed)
method (+202 nodes collapsed)
method (+170 nodes collapsed)
method (+68 nodes collapsed)
method (+361 nodes collapsed)
method (+189 nodes collapsed)
method (+69 nodes collapsed)
method (+37 nodes collapsed)
method (+69 nodes collapsed)
method (+134 nodes collapsed)
method (+113 nodes collapsed)
method (+73 nodes collapsed)
method (+101 nodes collapsed)
method (+119 nodes collapsed)
method (+119 nodes collapsed)
method (+80 nodes collapsed)
method (+144 nodes collapsed)
method (+160 nodes collapsed)
method (+109 nodes collapsed)
method (+47 nodes collapsed)
method (+154 nodes collapsed)
method (+198 nodes collapsed)
method (+243 nodes collapsed)
method (+73 nodes collapsed)
method (+73 nodes collapsed)
method (+109 nodes collapsed)
method (+158 nodes collapsed)
method (+69 nodes collapsed)
method (+119 nodes collapsed)
method (+605 nodes collapsed)
method (+109 nodes collapsed)
method (+179 nodes collapsed)
method (+262 nodes collapsed)
method (+134 nodes collapsed)
method (+173 nodes collapsed)
method (+140 nodes collapsed)
method (+197 nodes collapsed)
method (+171 nodes collapsed)
method (+333 nodes collapsed)
method (+186 nodes collapsed)
method (+179 nodes collapsed)
method (+80 nodes collapsed)
method (+122 nodes collapsed)
method (+94 nodes collapsed)
method (+126 nodes collapsed)
method (+126 nodes collapsed)
method (+126 nodes collapsed)
method (+126 nodes collapsed)
method (+114 nodes collapsed)
method (+103 nodes collapsed)
method (+285 nodes collapsed)
method (+237 nodes collapsed)
method (+72 nodes collapsed)
method (+66 nodes collapsed)
method (+418 nodes collapsed)
method (+68 nodes collapsed)
method (+248 nodes collapsed)
method (+246 nodes collapsed)
method (+241 nodes collapsed)
method (+66 nodes collapsed)
method (+142 nodes collapsed)
method (+39 nodes collapsed)
method (+39 nodes collapsed)
method (+39 nodes collapsed)
method (+41 nodes collapsed)
method (+39 nodes collapsed)
method (+60 nodes collapsed)
method (+250 nodes collapsed)
method (+115 nodes collapsed)
method (+142 nodes collapsed)
method (+54 nodes collapsed)
method (+54 nodes collapsed)
method (+58 nodes collapsed)
method (+187 nodes collapsed)
method (+41 nodes collapsed)
method (+41 nodes collapsed)
method (+41 nodes collapsed)
method (+45 nodes collapsed)
method (+42 nodes collapsed)
method (+45 nodes collapsed)
method (+45 nodes collapsed)
method (+80 nodes collapsed)
method (+83 nodes collapsed)
method (+52 nodes collapsed)
method (+52 nodes collapsed)
method (+52 nodes collapsed)
method (+250 nodes collapsed)
method (+339 nodes collapsed)
method (+274 nodes collapsed)
method (+90 nodes collapsed)
method (+102 nodes collapsed)
method
def "def"
identifier "test_preview_window_width_exception"
body_statement
call
identifier "tmux"
. "."
identifier "send_keys"
argument_list
string
" "\""
string_content "seq 10 | "
interpolation
#{ "#{"
constant "FZF"
} "}"
string_content " --scrollbar --preview-window border-left --border --preview"...
" "\""
, ","
simple_symbol ":Enter"
call
identifier "tmux"
. "."
identifier "until"
do_block
do "do"
block_parameters
| "|"
identifier "lines"
| "|"
body_statement
call
identifier "assert"
argument_list
call
element_reference
identifier "lines"
[ "["
integer "1"
] "]"
&. "&."
identifier "end_with?"
argument_list
( "("
string
" "'"
string_content " 1/1000││"
" "'"
) ")"
end "end"
end "end"
method (+155 nodes collapsed)
method (+50 nodes collapsed)
method (+414 nodes collapsed)
method (+304 nodes collapsed)
method (+207 nodes collapsed)
method (+69 nodes collapsed)
method (+42 nodes collapsed)
method (+73 nodes collapsed)
method (+137 nodes collapsed)
method (+42 nodes collapsed)
method (+128 nodes collapsed)
method (+69 nodes collapsed)
method (+205 nodes collapsed)
method (+99 nodes collapsed)
method (+45 nodes collapsed)
method (+45 nodes collapsed)
method (+176 nodes collapsed)
method (+166 nodes collapsed)
method (+123 nodes collapsed)
method (+44 nodes collapsed)
method (+44 nodes collapsed)
end "end"
module (+1532 nodes collapsed)
module (+2578 nodes collapsed)
class (+190 nodes collapsed)
class (+179 nodes collapsed)
class (+101 nodes collapsed)
uninterpreted "\nset -u\nPS1= PROMPT_COMMAND= HISTFILE= HISTSIZE=100\nunset <%"...