Завершение вкладки драгоценных камней в Ruby на zsh приводит к ошибке «определение аргумента с двойным отдыхом»? - PullRequest
0 голосов
/ 12 февраля 2019

Когда я нажимаю gem push <tab>, отображается эта ошибка (независимо от того, содержит ли каталог какие-либо файлы .gem):

_arguments:comparguments:325: doubled rest argument definition: *:gem:_files -g "*.gem(-.)"
_arguments:comparguments:325: doubled rest argument definition: *:gem:_files -g "*.gem(-.)"
_arguments:comparguments:325: doubled rest argument definition: *:gem:_files -g "*.gem(-.)"

Я не знаю, как это исправить, и Google не поможет,Мой fpath:

> echo $fpath
/Users/robenkleene/.zsh/completion
/usr/local/share/zsh/site-functions
/usr/local/Cellar/zsh/5.7/share/zsh/functions

Я пытался удалить и переустановить Ruby с помощью homebrew, потому что в приведенном выше пути "Cellar" содержится файл _gem, который, как я считаю, определяет эту функцию завершения, но это не так.не работает.

Есть еще идеи?Спасибо!

(Кроме того, если у кого-нибудь есть предложения, где я могу подать отчет об ошибке, это также будет полезно, еще раз спасибо!)

1 Ответ

0 голосов
/ 12 февраля 2019

Я взломал свое собственное ужасное решение, но это лучше, чем ничего.

Я скопировал файл _gem из /usr/local/Cellar/zsh/5.7/share/zsh/functions в /Users/robenkleene/.zsh/completion, а затем изменил строку обидчика (обратите внимание, что это толькоработает, потому что у меня fpath=(~/.zsh/completion $fpath) в моем zshrc):

-      args+=( '*:gem:_files -g "*.gem(-.)"' )
+      args=( '*:gem:_files -g "*.gem(-.)"' )

Итак, я удалил +.Кажется, это работает, но я бы хотел более элегантное решение и / или любую информацию о том, почему (основываясь на моем поиске в Google), я, похоже, единственный человек, испытывающий это.

...