annotate .zfun/zsh-autosuggestions/spec/integrations/wrapped_widget_spec.rb @ 526:852565046ed0 default tip

zsh: fidget with screen/tmux message This should speed things up very slightly by avoiding some `grep` action in the common case of no detached screens/tmuxes.
author Augie Fackler <raf@durin42.com>
date Mon, 14 Nov 2022 11:02:35 -0500
parents e1ce8897030d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
467
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
1 describe 'a wrapped widget' do
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
2 let(:widget) { 'backward-delete-char' }
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
3
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
4 context 'initialized before sourcing the plugin' do
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
5 let(:before_sourcing) do
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
6 -> do
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
7 session.
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
8 run_command("_orig_#{widget}() { zle .#{widget} }").
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
9 run_command("zle -N orig-#{widget} _orig_#{widget}").
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
10 run_command("#{widget}-magic() { zle orig-#{widget}; BUFFER+=b }").
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
11 run_command("zle -N #{widget} #{widget}-magic")
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
12 end
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
13 end
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
14
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
15 it 'executes the custom behavior and the built-in behavior' do
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
16 with_history('foobar', 'foodar') do
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
17 session.send_string('food').send_keys('C-h')
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
18 wait_for { session.content }.to eq('foobar')
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
19 end
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
20 end
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
21 end
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
22
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
23 context 'initialized after sourcing the plugin' do
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
24 before do
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
25 session.
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
26 run_command("zle -N orig-#{widget} ${widgets[#{widget}]#*:}").
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
27 run_command("#{widget}-magic() { zle orig-#{widget}; BUFFER+=b }").
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
28 run_command("zle -N #{widget} #{widget}-magic").
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
29 clear_screen
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
30 end
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
31
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
32 it 'executes the custom behavior and the built-in behavior' do
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
33 with_history('foobar', 'foodar') do
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
34 session.send_string('food').send_keys('C-h')
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
35 wait_for { session.content }.to eq('foobar')
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
36 end
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
37 end
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
38 end
e1ce8897030d zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
39 end