Package: fish
Version: 2.4.0-1

I am writing a function to change to a directory below the current working
directory, and I am hitting a brick wall with fish from Jessie backports
(2.2.0-3~bpo8+1) and Stretch (2.4.0-1).  The function is as follows (saved
as ~/.config/fish/functions/cdb.fish):

function cdb
        complete -c cd -r -a "(find -type d -name "$argv" -not -path
'*/\.*' -prune)";
end

So after "funcsave cdb", I try it with a same directory name and it
silently exits with no action taken.

I debugged to the point that the find command by itself works (returns the
directory).  After consulting the fish documentation[1], I found out you
can test complete commands at the terminal.  So I tried again with:

complete -c cd -r -a "(find -type d -name "github" -not -path '*/\.*'
-prune)"

...still, no action taken.

While I was in the documentation, I tried a stock example:

complete -x -c su -d "Username" -a "(cat /etc/passwd | cut -d : -f 1)"

Even with that, no choices, nothing executed.  Running complete without
parameters provides a list of saved examples.

Running Debian Stretch on my desktop (uname follows below), and Jessie on
my laptop.
joel@cybaryme ~> uname -a
Linux cybaryme 4.9.0-2-amd64 #1 SMP Debian 4.9.18-1 (2017-03-30) x86_64
GNU/Linux

Thank you.

[1] Two sections below the anchor
https://fishshell.com/docs/current/index.html#completion-own

--
Cheers,
Joel Maxuel

"One should strive to achieve, not sit in bitter regret."
 - Ronan Harris / Mark Jackson

Reply via email to