Mercurial > dotfiles
view .zfun/zsh-autosuggestions/spec/options/strategy_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 |
line wrap: on
line source
describe 'a suggestion for a given prefix' do let(:history_strategy) { '_zsh_autosuggest_strategy_history() { suggestion="history" }' } let(:foobar_strategy) { '_zsh_autosuggest_strategy_foobar() { [[ "foobar baz" = $1* ]] && suggestion="foobar baz" }' } let(:foobaz_strategy) { '_zsh_autosuggest_strategy_foobaz() { [[ "foobaz bar" = $1* ]] && suggestion="foobaz bar" }' } let(:after_sourcing) do -> do session.run_command(history_strategy) end end it 'by default is determined by calling the `history` strategy function' do session.send_string('h') wait_for { session.content }.to eq('history') end context 'when ZSH_AUTOSUGGEST_STRATEGY is set to an array' do let(:after_sourcing) do -> do session. run_command(foobar_strategy). run_command(foobaz_strategy). run_command('ZSH_AUTOSUGGEST_STRATEGY=(foobar foobaz)') end end it 'is determined by the first strategy function to return a suggestion' do session.send_string('foo') wait_for { session.content }.to eq('foobar baz') session.send_string('baz') wait_for { session.content }.to eq('foobaz bar') end end context 'when ZSH_AUTOSUGGEST_STRATEGY is set to a string' do let(:after_sourcing) do -> do session. run_command(foobar_strategy). run_command(foobaz_strategy). run_command('ZSH_AUTOSUGGEST_STRATEGY="foobar foobaz"') end end it 'is determined by the first strategy function to return a suggestion' do session.send_string('foo') wait_for { session.content }.to eq('foobar baz') session.send_string('baz') wait_for { session.content }.to eq('foobaz bar') end end end