Fish: vv for Python venvs
vv searches for and activates the nearest directory named "venv" in the current directory upward (stopping if it finds a .git).
This commit is contained in:
@@ -1,5 +1,29 @@
|
|||||||
#!/usr/bin/env fish
|
#!/usr/bin/env fish
|
||||||
|
|
||||||
function vv
|
function vv
|
||||||
source venv/bin/activate.fish
|
pushd . &> /dev/null
|
||||||
|
function find_root
|
||||||
|
set -l dir $PWD
|
||||||
|
|
||||||
|
if test -d $dir/venv
|
||||||
|
echo $dir
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
|
||||||
|
if test -d .git -o "$dir" = "/"
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
find_root
|
||||||
|
end
|
||||||
|
|
||||||
|
if not find_root &> /dev/null
|
||||||
|
echo "Couldn't find venv"
|
||||||
|
popd &> /dev/null
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
|
||||||
|
source (find_root)/venv/bin/activate.fish
|
||||||
|
popd &> /dev/null
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user