mirror of
https://github.com/zsh-users/zsh-autosuggestions.git
synced 2024-12-30 00:03:56 +08:00
b87a4972c8
Set ZSH_AUTOSUGGEST_HISTORY_IGNORE to a glob pattern to have the history and match_prev_cmd suggestion strategies never make suggestions matching that pattern. For example, set to "cd *" to never suggest any `cd` commands from history (see issues #340 and #425). Or set to "?(#c50,)" to never suggest anything 50 characters or longer (see issue #429).
35 lines
911 B
Ruby
35 lines
911 B
Ruby
require 'strategies/special_characters_helper'
|
|
|
|
describe 'the `match_prev_cmd` strategy' do
|
|
let(:options) { ['ZSH_AUTOSUGGEST_STRATEGY=match_prev_cmd'] }
|
|
|
|
let(:history) { [
|
|
'echo what',
|
|
'ls foo',
|
|
'echo what',
|
|
'ls bar',
|
|
'ls baz',
|
|
'echo what'
|
|
] }
|
|
|
|
it 'suggests the last matching history entry after the previous command' do
|
|
with_history(*history) do
|
|
session.send_string('ls')
|
|
wait_for { session.content }.to eq('ls bar')
|
|
end
|
|
end
|
|
|
|
context 'when ZSH_AUTOSUGGEST_HISTORY_IGNORE is set to a pattern' do
|
|
let(:options) { ['ZSH_AUTOSUGGEST_STRATEGY=match_prev_cmd', 'ZSH_AUTOSUGGEST_HISTORY_IGNORE="* bar"'] }
|
|
|
|
it 'does not make suggestions that match the pattern' do
|
|
with_history(*history) do
|
|
session.send_string('ls')
|
|
wait_for { session.content }.to eq('ls foo')
|
|
end
|
|
end
|
|
end
|
|
|
|
include_examples 'special characters'
|
|
end
|