view .zfun/zsh-autosuggestions/spec/integrations/zle_input_stack_spec.rb @ 522:7983184eb8d8

emacs.sh: hack together fallback to vscode Lately if emacs is not running I prefer using vscode. This allows my muscle memory to keep working.
author Augie Fackler <raf@durin42.com>
date Sun, 31 Jul 2022 22:34:33 -0400
parents e1ce8897030d
children
line wrap: on
line source

describe 'using `zle -U`' do
  let(:before_sourcing) do
    -> do
      session.
        run_command('_zsh_autosuggest_strategy_test() { sleep 1; _zsh_autosuggest_strategy_history "$1" }').
        run_command('foo() { zle -U - "echo hello" }; zle -N foo; bindkey ^B foo')
    end
  end

  let(:options) { ['unset ZSH_AUTOSUGGEST_USE_ASYNC', 'ZSH_AUTOSUGGEST_STRATEGY=test'] }

  # TODO: This is only possible with the $KEYS_QUEUED_COUNT widget parameter, coming soon...
  xit 'does not fetch a suggestion for every inserted character' do
    session.send_keys('C-b')
    wait_for { session.content }.to eq('echo hello')
  end

  it 'shows a suggestion when the widget completes' do
    with_history('echo hello world') do
      session.send_keys('C-b')
      wait_for { session.content(esc_seqs: true) }.to match(/\Aecho hello\e\[[0-9]+m world/)
    end
  end
end