summaryrefslogtreecommitdiff
path: root/src/virtualenv/activation/cshell
diff options
context:
space:
mode:
authorSiddhant Kumar <saytosid@gmail.com>2019-12-15 19:13:08 +0000
committerBernat Gabor <bgabor8@bloomberg.net>2020-01-10 15:38:36 +0000
commitc72cd301583aebcd8f0565673ac1847ee9fe0faa (patch)
tree487d4f9db9ea0ca990a834076664d5b43995efee /src/virtualenv/activation/cshell
parent7928094d2df6910802a638e6919cf5e30977956d (diff)
downloadvirtualenv-c72cd301583aebcd8f0565673ac1847ee9fe0faa.tar.gz
Activation scripts for next-gen virtualenv (#1454)
Diffstat (limited to 'src/virtualenv/activation/cshell')
-rw-r--r--src/virtualenv/activation/cshell/__init__.py14
-rw-r--r--src/virtualenv/activation/cshell/activate.csh55
2 files changed, 69 insertions, 0 deletions
diff --git a/src/virtualenv/activation/cshell/__init__.py b/src/virtualenv/activation/cshell/__init__.py
new file mode 100644
index 0000000..e818ede
--- /dev/null
+++ b/src/virtualenv/activation/cshell/__init__.py
@@ -0,0 +1,14 @@
+from __future__ import absolute_import, unicode_literals
+
+from pathlib2 import Path
+
+from ..via_template import ViaTemplateActivator
+
+
+class CShellActivator(ViaTemplateActivator):
+ @classmethod
+ def supports(cls, interpreter):
+ return interpreter.os != "nt"
+
+ def templates(self):
+ yield Path("activate.csh")
diff --git a/src/virtualenv/activation/cshell/activate.csh b/src/virtualenv/activation/cshell/activate.csh
new file mode 100644
index 0000000..c4a6d58
--- /dev/null
+++ b/src/virtualenv/activation/cshell/activate.csh
@@ -0,0 +1,55 @@
+# This file must be used with "source bin/activate.csh" *from csh*.
+# You cannot run it directly.
+# Created by Davide Di Blasi <davidedb@gmail.com>.
+
+set newline='\
+'
+
+alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH:q" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT:q" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; test "\!:*" != "nondestructive" && unalias deactivate && unalias pydoc'
+
+# Unset irrelevant variables.
+deactivate nondestructive
+
+setenv VIRTUAL_ENV "__VIRTUAL_ENV__"
+
+set _OLD_VIRTUAL_PATH="$PATH:q"
+setenv PATH "$VIRTUAL_ENV:q/__BIN_NAME__:$PATH:q"
+
+
+
+if ("__VIRTUAL_PROMPT__" != "") then
+ set env_name = "__VIRTUAL_PROMPT__"
+else
+ set env_name = '('"$VIRTUAL_ENV:t:q"') '
+endif
+
+if ( $?VIRTUAL_ENV_DISABLE_PROMPT ) then
+ if ( $VIRTUAL_ENV_DISABLE_PROMPT == "" ) then
+ set do_prompt = "1"
+ else
+ set do_prompt = "0"
+ endif
+else
+ set do_prompt = "1"
+endif
+
+if ( $do_prompt == "1" ) then
+ # Could be in a non-interactive environment,
+ # in which case, $prompt is undefined and we wouldn't
+ # care about the prompt anyway.
+ if ( $?prompt ) then
+ set _OLD_VIRTUAL_PROMPT="$prompt:q"
+ if ( "$prompt:q" =~ *"$newline:q"* ) then
+ :
+ else
+ set prompt = "$env_name:q$prompt:q"
+ endif
+ endif
+endif
+
+unset env_name
+unset do_prompt
+
+alias pydoc python -m pydoc
+
+rehash