zsh слишком усердно пытается исправить функцию в функциях

Я использую git и zsh. Наш босс использует git-flow. Zsh все время спрашивает меня, не ошибся ли я "функции" как "особенность". Коллега перестал использовать zsh из ярости именно по этой причине, мы должны исправить эту проблему, чтобы вернуть его в свет zsh!

rainbow@pony:~/ruby-project-9000 (*) (!)
> git push origin feature/power_level
zsh: correct 'feature/power_level' to 'features/power_level' [nyae]? n

Обновление: полностью отключить автокоррекцию

Это было просто правильно_все, как в принятом ответе, но синтаксис отключения автозамены zsh зависит от его обновлений. Следующее должно быть уловом:

source $ZSH/oh-my-zsh.sh
DISABLE_CORRECTION="true"
unsetopt correct
unsetopt correct_all

DISABLE_CORRECTION = "true" - это то, что у меня сейчас работает, узнал отсюда


Обновление: отключение автозамены для определенных команд

Чтобы специально отключить его автокорректирующие команды, но, к сожалению, не «функции», поскольку это каталог (спасибо за ответы ниже!), См. это решение для освобождения команд


person xxjjnn    schedule 04.01.2013    source источник
comment
возможный дубликат stackoverflow.com/ вопросы / 3437454 /   -  person Nevik Rehnel    schedule 04.01.2013


Ответы (3)


Полностью отключить функцию:

unsetopt correct_all
person Zabba    schedule 04.01.2013
comment
Посмотрел сообщение с комментарием Невика, там не было упоминания о том, как добавить функцию вручную в список команд, которые знает zsh? Это было бы очень хорошо. 0_0 Помимо этой ерунды о «особенностях», исправление zsh было полезным. - person xxjjnn; 04.01.2013
comment
@RainbowPony Вы не можете добавить это. Единственное, что здесь исправляет zsh, - это имена файлов / каталогов. Если у вас есть такая автокоррекция, это означает, что у вас есть каталог features в текущем каталоге, и все. - person ZyX; 06.01.2013
comment
@RainbowPony Я постоянно сталкиваюсь с этой проблемой, если запускаю что-то из $HOME: обычно программа с именем foo имеет каталог конфигурации с именем .foo в $HOME. Что тогда будет, если вы попытаетесь сделать sudo foo? Правильно, zsh спрашивает, имел ли вы ввиду sudo .foo. - person ZyX; 06.01.2013

Проблема (как намекает @ZyX) в том, что у вас есть похожее имя для корня ветки функции git flow и тестовой папки Cucumber, которая называется features. Zsh думает, что они достаточно близки, что это опечатка.

У вас есть два варианта: используйте другое имя для веток функций (когда вы git flow init) используйте другое имя папки для ваших тестов Cucumber.

Я выбрал последнее, потому что «git flow init» является относительно автоматическим для большинства людей, местоположение теста Cucumber обычно используется кодом, а не людьми, и когда люди не могут его найти, они потерпят неудачу (т.е. им придется искать тесты)

person Community    schedule 25.03.2013

с последней версией unsetopt correct_all не работает. Вместо этого unsetopt correct. Лучшим решением было бы иметь DISABLE_CORRECTION="true" в файле ~ / .zshrc

person gprasant    schedule 16.08.2013