# vim: set filetype=expect: spawn $fish expect_prompt send "set -g fish_key_bindings fish_vi_key_bindings\r" expect_prompt send "echo ready to go\r" expect_prompt -re {\r\nready to go\r\n} { puts "ready to go" } send "function add_change --on-variable fish_bind_mode ; set -g MODE_CHANGES \$MODE_CHANGES \$fish_bind_mode ; end\r" expect_prompt # normal mode send "\033" sleep 0.050 # insert mode send "i" sleep 0.050 # back to normal mode send "\033" sleep 0.050 # insert mode again send "i" sleep 0.050 send "echo mode changes: \$MODE_CHANGES\r" expect_prompt -re {\r\nmode changes: default insert default insert\r\n} { puts "Correct mode changes" } unmatched { puts "Incorrect mode changes" }