Команда 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
,