Пользовательское завершение ZSH из вывода команды

Работает ли корова, если запустить ее как :/opt/cow? Если нет, проверьте режим файла «корова»; он должен иметь установленный исполняемый бит. Если это не так, используйте:chmod +x /opt/cow

3
30.01.2017, 10:45
1 ответ
  1. Создайте файл с именем _ipaddи поместите в него следующее :
    #compdef ipadd
    
    # The line above declares this function as providing completions to 
    # `ipadd`. In addition, it's important that the file name starts with 
    # an `_`, otherwise `compinit` won't autoload it.
    
    local output=$(networksetup -listallnetworkservices)
    
    # Split the output on newlines.
    local -a services=( ${(f)output} )
    
    # Offer the second to the last line as completions.
    _arguments "*:network service:( ${services[2,-1]} )"
    
  2. Убедитесь, что папка, содержащая этот файл, находится в вашем $fpath. Итак, если мы предположим, что он находится в ~/func, вы можете сделать что-то подобное в своем .zshrcфайле :
    fpath+=( ~/func )
    
  3. Убедитесь, что вы вызываете compinitв вашем ~/.zshrcфайле после добавления каталога в ваш $fpath. В противном случае он не будет использоваться для доработок.
    autoload -Uz compinit && compinit
    
0
12.08.2020, 18:06

Теги

Похожие вопросы