A small tool for running something which outputs a list, making a selection based on those and saving the selection. Expects the output to be passed to fzf, uses bbolt as the database.
If you have the following configuration:
selectors:
- action: readdir
id: venv
settings:
on_select: source {{ .FullName }}/bin/activate.fish
target:
- ~/.local/share/venv
The only selector here is one with the id venv
. When you run barn
with no arguments, the contents of ~/.local/share/venv
will be printed. When an arguments is provided a source
command based on the selection is printed. If you put that in a script, you can use fzf
to activate Python virtualenv
s which will be sorted according to their usage frequency:
if test (count $argv) -eq 1
set vst $argv[1]
else
barn choose venv | fzf | read vst
or return 1
end
eval (barn choose venv $vst)