summaryrefslogtreecommitdiff
path: root/.config/fish/functions/_tide_item_virtual_env.fish
diff options
context:
space:
mode:
Diffstat (limited to '.config/fish/functions/_tide_item_virtual_env.fish')
-rw-r--r--.config/fish/functions/_tide_item_virtual_env.fish11
1 files changed, 11 insertions, 0 deletions
diff --git a/.config/fish/functions/_tide_item_virtual_env.fish b/.config/fish/functions/_tide_item_virtual_env.fish
new file mode 100644
index 00000000..0f20ceec
--- /dev/null
+++ b/.config/fish/functions/_tide_item_virtual_env.fish
@@ -0,0 +1,11 @@
+function _tide_item_virtual_env
+ test -n "$VIRTUAL_ENV" && split_virtual_env=(string split / "$VIRTUAL_ENV") if test $split_virtual_env[-2] = virtualenvs
+ # pipenv $VIRTUAL_ENV looks like /home/ilan/.local/share/virtualenvs/pipenv_project-EwRYuc3l
+ # Detect whether we are using pipenv by looking for virtualenvs. If so, remove the hash at the end.
+ _tide_print_item virtual_env $tide_virtual_env_icon' ' (string split -r -m1 - "$split_virtual_env[-1]")[1]
+ else if contains -- $split_virtual_env[-1] virtualenv venv .venv env # avoid generic names
+ _tide_print_item virtual_env $tide_virtual_env_icon' ' $split_virtual_env[-2]
+ else
+ _tide_print_item virtual_env $tide_virtual_env_icon' ' $split_virtual_env[-1]
+ end
+end