The fish
plugin adds a beet fish
command that creates a Fish shell tab-completion file named beet.fish
in ~/.config/fish/completions
. This enables tab-completion of beet
commands for the Fish shell.
Enable the fish
plugin (see using-plugins
) on a system running the Fish shell.
Type beet fish
to generate the beet.fish
completions file at: ~/.config/fish/completions/
. If you later install or disable plugins, run beet fish
again to update the completions based on the enabled plugins.
For users not accustomed to tab completion… After you type beet
followed by a space in your shell prompt and then the TAB
key, you should see a list of the beets commands (and their abbreviated versions) that can be invoked in your current environment. Similarly, typing beet -<TAB>
will show you all the option flags available to you, which also applies to subcommands such as beet import -<TAB>
. If you type beet ls
followed by a space and then the and the TAB
key, you will see a list of all the album/track fields that can be used in beets queries. For example, typing beet ls ge<TAB>
will complete to genre:
and leave you ready to type the rest of your query.
In addition to beets commands, plugin commands, and option flags, the generated completions also include by default all the album/track fields. If you only want the former and do not want the album/track fields included in the generated completions, use beet fish -f
to only generate completions for beets/plugin commands and option flags.
If you want generated completions to also contain album/track field values for the items in your library, you can use the -e
or --extravalues
option. For example: beet fish -e genre
or beet fish -e genre -e albumartist
In the latter case, subsequently typing beet list genre: <TAB>
will display a list of all the genres in your library and beet list albumartist: <TAB>
will show a list of the album artists in your library. Keep in mind that all of these values will be put into the generated completions file, so use this option with care when specified fields contain a large number of values. Libraries with, for example, very large numbers of genres/artists may result in higher memory utilization, completion latency, et cetera. This option is not meant to replace database queries altogether.