Add functions.

This commit is contained in:
Mikael Capelle 2021-04-28 16:49:35 +02:00
parent b954df720f
commit 2521383c82
2 changed files with 43 additions and 0 deletions

12
functions/dotenv.fish Normal file
View File

@ -0,0 +1,12 @@
function dotenv
# check if a .env exists
if test ! -e .env
echo ".env not found." > /dev/stderr
return 1
end
while read -d "=" name value
set -x -g $name $value
end < .env
end

31
functions/venv.fish Normal file
View File

@ -0,0 +1,31 @@
function venv -d "Manipulate Python virtual environments (venv)"
if test (count $argv) -eq 0
echo "usage: venv [list | deactivate | activate VENV]"
return 1
end
if test $argv[1] = "list" -o $argv[1] = "l"
ls -1 --color=no $WORKON_HOME
else if test $argv[1] = "deactivate" -o $argv[1] = "d"
type -q deactivate; and deactivate
else if test $argv[1] = "activate" -o $argv[1] = "a"
source $WORKON_HOME/{$argv[2]}/bin/activate.fish
else
return 1
end
return 0
end
# see http://fishshell.com/docs/current/completions.html
# disable file completions
complete -c venv -f
# subcommand completion
set -l commands list deactivate activate
complete -c venv -n "not __fish_seen_subcommand_from $commands" -a "$commands"
# activate completion
complete -c venv -n "__fish_seen_subcommand_from activate" \
-a "(ls $WORKON_HOME)"