Команда Wrap с опциями в функции рыбы
Есть ли способ обернуть команду с параметрами в функции, чтобы отображались дополнения для этой команды с параметрами?
Например, я хочу быть в состоянии сделать это:
function remove --wraps='pikaur -R'
pikaur -R $argv;
end
так что с помощью remove завершит с установленными пакетами, но это не работает.
1 ответ
--wraps Аргумент принимает только голую команду. Ты можешь использовать --wraps='pikaur' но нет --wraps='pikaur -R',
Если нужные вам завершения запускаются только тогда, когда -R флаг дается, используя --wraps может быть недостаточно. Вам нужно будет добавить свой собственный файл дополнений. К счастью, Fish делает это очень просто.
Есть ли команда, которая позволяет запрашивать или перечислять допустимые параметры? Я не знаком с pikaur, но, например, допустим, что действительные аргументы вашей функции были заданы командой вроде pikaur ls или же pikaur queryили, может быть, они подкаталоги /etc/pikaur, Если есть такая команда, вы можете создать файл дополнений для вашей функции (т.е. если ваша функция находится в ~/.config/fish/functions/remove.fish, а затем создать ~/.config/fish/completions/remove.fish) со следующим содержанием:
complete -c remove --no-files --arguments "(<query command>)"
Примечание. Если вы хотите сослаться на существующие дополнения, вы можете просмотреть каталоги, перечисленные echo $fish_complete_path,