Comando Wrap com opções na função fish

1

Existe uma maneira de agrupar um comando com opções em uma função, para que as conclusões para esse comando com as opções sejam mostradas?

Por exemplo, quero poder fazer isso:

function remove --wraps='pikaur -R'
    pikaur -R $argv;
end

para que o uso de remove seja concluído com os pacotes instalados, mas isso não funciona.

    
por Eric Brandwein 13.10.2018 / 19:56

1 resposta

0

O argumento --wraps aceita apenas um comando simples. Você pode usar --wraps='pikaur' , mas não --wraps='pikaur -R' .

Se as conclusões desejadas forem acionadas apenas quando o sinalizador -R for fornecido, o uso de --wraps poderá não ser suficiente. Você precisaria adicionar seu próprio arquivo de conclusões. Felizmente, o peixe torna isso muito simples.

Existe um comando que permite consultar ou listar as opções válidas? Eu não estou familiarizado com pikaur , mas por exemplo, digamos que os argumentos válidos para sua função foram dados por um comando como pikaur ls ou pikaur query , ou talvez eles sejam subdiretórios de /etc/pikaur . Se houver um comando desse tipo, você poderá criar um arquivo de conclusões para sua função (ou seja, se sua função estiver localizada em ~/.config/fish/functions/remove.fish , em seguida, crie ~/.config/fish/completions/remove.fish ) com o seguinte conteúdo:

complete -c remove --no-files --arguments "(<query command>)"

Nota: Se você quiser consultar as conclusões existentes, poderá ver os diretórios listados por echo $fish_complete_path .

    
por 01.11.2018 / 15:38

Tags