Скрытие определенных опций в автозавершении zsh

Существует несколько команд, которые содержат эзотерические параметры, которые я часто не использую. Например, git имеет "check-attr". Я использую 'git checkout' очень часто, поэтому, я бы хотел, git ch завершить git выписка или показать меню без check-attr. Я могу сделать это с помощью zstyle... ignored-patterns.

Тем не менее, мне все равно хотелось бы завершить 'git check-attr', если ничего не соответствует (если я действительно хочу запустить check-attr).

Кажется, что "скрытый" zstyle для меня, но как я могу указать значение (а не только тег) в контексте завершения? То есть Я хотел бы что-то вроде, zstyle ': завершение: git::' hidden-patterns 'check-attr'

Возможно ли это?

Ответы

Ответ 1

Я действительно не знаю, как это работает, но результатом является то, что git check<TAB> приводит к git checkout. Добавьте это в свой .zshrc:

zstyle ':completion::complete:git:*:*' ignored-patterns 'check*-*'

См. http://zsh.sourceforge.net/Doc/Release/Completion-System.html#Overview-1 для получения некоторой информации, если вы можете дешифровать ее.

Ответ 2

Что-то вроде этого должно сделать трюк:

zstyle ':completion::complete:*:git:*' ignored-patterns check-attr