Справка автозаполнения ZSH не запускается для пользовательских параметров команды, начинающихся с "-"

429
blizzrdof77

Я часто использую gencompкоманду с RobSis zsh-completion-generator для генерации определений завершения ZSH, и она прекрасно работает по большей части! Однако есть одна небольшая оговорка, которую я заметил.

Проблема:
Для команд с параметрами, для которых вначале ставится тире ( например, « subl --new-window»), нажатие клавиши табуляции будет запускать параметры завершения только в том случае, если вы ввели команду и хотя бы один символ тире ( например, нажмите TABпосле ввода « subl -»).

Мой вопрос:
Кто-нибудь знает, как я могу получить отображение вкладок перед тем, как вводить тире ( например, нажмите TABпосле ввода " subl")?


Ниже приведен пример compdefсодержимого файла для одного из этих определений завершения - в данном случае это для команды Sublime Text subl:

#compdef subl  # zsh completions for 'subl' # automatically generated with http://github.com/RobSis/zsh-completion-generator local arguments  arguments=( '--project[Load the given project]' '--command[Run the given command]' {-n,--new-window}'[: Open a new window]' {-a,--add}'[: Add folders to the current window]' {-w,--wait}'[: Wait for the files to be closed before returning]' {-b,--background}'[: Dont activate the application]' {-s,--stay}'[: Keep the application activated after closing the file]' {-h,--help}'[: Show help (this message) and exit]' {-v,--version}'[: Show version and exit]' '--wait[implied if reading from stdin. Use --stay to not switch back]' '*:filename:_files' )  _arguments -s $arguments 
1
К сожалению, я не могу ответить на этот вопрос, но ИМХО, это обычное поведение системы завершения _zsh_. Я также не уверен, как вы хотите сказать оболочке, хотите ли вы завершить опцию или имя файла?! (Различные комбинации клавиш могут сделать ...) mpy 7 лет назад 1
Я полагаю, если вы хотите завершить имя файла, вы можете добавить к нему префикс `. /` (Или указать полный / относительный путь) blizzrdof77 6 лет назад 1

0 ответов на вопрос