diff options
| author | Matthew Iversen <teh.ivo@gmail.com> | 2015-09-20 19:39:44 +1000 |
|---|---|---|
| committer | Matthew Iversen <teh.ivo@gmail.com> | 2015-09-20 19:39:44 +1000 |
| commit | bcf6c085a8ac68c3e2e2fa2b00330b9dfdca5bb9 (patch) | |
| tree | 029ed45678a4ca5e3562da845a00a32c8acdc583 | |
| parent | 60e494e3047b1e7da6d2c3b5c5ba2587b1343e44 (diff) | |
| download | virtualenv-bcf6c085a8ac68c3e2e2fa2b00330b9dfdca5bb9.tar.gz | |
Fix activate.fish
- Re-use old variable names
- Requote to fix param expansion problems
- Use traditional prompt look
| -rwxr-xr-x | virtualenv.py | 28 | ||||
| -rw-r--r-- | virtualenv_embedded/activate.fish | 39 |
2 files changed, 31 insertions, 36 deletions
diff --git a/virtualenv.py b/virtualenv.py index 584f49b..b14a161 100755 --- a/virtualenv.py +++ b/virtualenv.py @@ -2051,21 +2051,19 @@ tpm/D9m2H7Bp/3PL/uuGPbRdqW9/ALcceHE= ##file activate.fish ACTIVATE_FISH = convert(""" -eJyNVWFP2zAQ/Z5fcUBRYaJB+zppmtjoRCWgVemQpjG5bnIh3lw7s50A0378LmmTODQI8qFpnHd3 -z773LgewSIWFREgEm+pcxrBCyC3G9CPUPSxDWAl1yiMnCu4wTIRNl/DuQbhUKOBgcqVKXLkOR5A6 -l304PS2fbIpShpFewzFYtFZo9S4MDuBcg9KuDAThIBYGIyefwiBIckVVtIIY63IwimE4fiRcIYzL -uURVwFrHCFzFYNDlRoHT4FKkpGbNJRBCGK3WqFw4DIAukYBD62CkYMBuJ/PFt7PL8fUtm16es9nZ -4qIClZdFAt0/Qrn4FijCixhUcfB68e+Li+n1xfRqvEuhefX2sB46XeSbSH2d3Fyw2Xx6NVuw6e14 -Pp+ct3UO4IYqcQW4ztwTSB3RiS8HZbtZ3T6WcUcSoa5wKfVD1RuDa10QVCewrMCZ0ZRhWYusjrW0 -i2XY3ZaE3fSBx2hsuEVPH0P7rMZGKtZpgxUZbcS9UFy2dfzy4MX2ASJgWsbMQ70WgTsRr/XtxR40 -HdwGbuMYBXY7O+Dmvvjx/ifsfYSh0iqmRZOXrsJhp5syGdXv9vrJt25sKFQ0DuCbKmkIY1BiwRWZ -lBvBVxJtGHge7pYPglrjHnnYZ8x7ZGy/hfV5DAaV07qG9RKcUr7Pk2t2fXY1pmRbeEN5OWidsSzP -jBbDYHOH0R945psXmXgm7QtBP1F1ZnV77o5g9LfDmJ1Pbs4+X463bYe742DToi86e6pkG+V00HTI -XXE3Q5OT7J/rbGuljnp94e7osgPv1TVphhfYITSwjrvcnkCijR9jCcXLCW8zyZ9o2O8Yuyy/Ca6T -+MaebUjqAo0RNPIpa0H3+JOHmSTlx+QEfuV0qpnBjI65Iud9BkDxNba1veHnqW7rNhIeeFdmhHIJ -DA/toR32wuGI9sIiLWnvmy/QcZMBpcUX0rXj6sOhhTL9ob1TQz/bQyocHvfk95dGK1hJHv1u0Csa -huV+O+Lqy9KyJGHW/72TnfdMzKZLTWyUatjH8gM9aJu5D//A6txE7e57J2B3mvUYrG8OdjZWueo/ -jOiyPw== +eJyFVWFv2jAQ/Z5fcQ1UlGqk2tdJ00QHE0gtIEorTdPkGHKAN8fObCdt9+tnBwIOZG0+gGK/u3v2 +vXdpwWLLNKwZR0hzbWCJkGtM7A8TG4gjWDJxQ1eGFdRgtGZ6G8P1MzNbJoCCyoVwOLcOV7A1Jvt0 +c+Pe9BY5j1YyhS5o1JpJcR0FLRhIENK4QGAGEqZwZfhrFATrXNgqUkCCVTnoJdAZvlhcwZTJKUdR +QCoTBCoSUGhyJcBIMFu0SVVKOVgEU1KkKEzUCcA+LQvUaEDyxN+FgipGlxx1iWJrMGiP3xMQtsn0 +bkCexvPFY/+OzPqLUVhi3OMy9TYv4FbhHFjHITQDUCTBe1W/L0bTyWh6P2yofdg7ZXDYeJtHHfYG +m2/jhxGZzaf3swWZPg3n8/HA49OCB5udCsA0M6/A5co2IG677pOqmySjxirGNolyLp/LVilMZWGh +cg1xCc6UtBniSnNVrLbM46h+FA7n6QOP0VBRjZ5cOvqkxk452kiFJRmp2IYJyo91/PLgxTYBVkCs +roiHei8CzyIae9V08/Vu7dFVU4eTp3oXwzZVm+LHx58hXHyGjpAiscsqd97CTq2JfN2r9i6aOR89 +eSBREmnBo3BEmFLIsaC+r6LAc3K9fBBUWvboQ0iI90pIeISd+QjapZtqdgzbXvgNIbfjCZn074c2 +0x5+4Bu3jyaI3ZXZxSjY/UPvD5xYpJmGZ8MmPPpZyts6GOxvnSsZjB/6t3fDfcPD/dz6KrPXUqOr +3F6vvdq6kg8Dk1qNn4pq75uaVH2VnomwBoeznR2j2S5YFqgUs2PYIgr7n3zxMOO1G/Af4Jf7mmQK +M3v08hT+8BU0xaPj/MFz1MBe/eQ4cNyTKSbMGjqX+lJ3GuFwZa+frCSXav9V6B4yINf4n3RXLmPX +JT2P95d6S1hyuvoNPQnPW2bQ7i7t0HFHqrc17L5JpTKyexpnQt3qlfyaJsNJ3VJt/wCdimbs """) ##file activate.csh diff --git a/virtualenv_embedded/activate.fish b/virtualenv_embedded/activate.fish index 27d7dc6..4501170 100644 --- a/virtualenv_embedded/activate.fish +++ b/virtualenv_embedded/activate.fish @@ -1,18 +1,19 @@ -# This file should be used using `. bin/activate.fish` *within a running fish ( http://fishshell.com ) session*. +# This file must be used using `. bin/activate.fish` *within a running fish ( http://fishshell.com ) session*. # Do not run it directly. function deactivate -d 'Exit virtualenv mode and return to the normal environment.' - if test -n $_VIRTUALENV_OLD_PATH - set -gx PATH $_VIRTUALENV_OLD_PATH - set -e _VIRTUALENV_OLD_PATH + # reset old environment variables + if test -n "$_OLD_VIRTUAL_PATH" + set -gx PATH $_OLD_VIRTUAL_PATH + set -e _OLD_VIRTUAL_PATH end - if test -n $_VIRTUALENV_OLD_PYTHONHOME - set -gx PYTHONHOME $_VIRTUALENV_OLD_PYTHONHOME - set -e _VIRTUALENV_OLD_PYTHONHOME + if test -n "$_OLD_VIRTUAL_PYTHONHOME" + set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME + set -e _OLD_VIRTUAL_PYTHONHOME end - if test -n $_VIRTUALENV_OLD_FISH_PROMPT_OVERRIDE + if test -n "$_OLD_FISH_PROMPT_OVERRIDE" # Set an empty local `$fish_function_path` to allow the removal of `fish_prompt` using `functions -e`. set -l fish_function_path @@ -20,12 +21,12 @@ function deactivate -d 'Exit virtualenv mode and return to the normal environmen functions -e fish_prompt functions -c _old_fish_prompt fish_prompt functions -e _old_fish_prompt - set -e _VIRTUALENV_OLD_FISH_PROMPT_OVERRIDE + set -e _OLD_FISH_PROMPT_OVERRIDE end set -e VIRTUAL_ENV - if test $argv[1] != 'nondestructive' + if test "$argv[1]" != 'nondestructive' # Self-destruct! functions -e deactivate end @@ -36,35 +37,31 @@ deactivate nondestructive set -gx VIRTUAL_ENV "__VIRTUAL_ENV__" -set -gx _VIRTUALENV_OLD_PATH $PATH -set -gx PATH $VIRTUAL_ENV/"__BIN_NAME__" $PATH +set -gx _OLD_VIRTUAL_PATH $PATH +set -gx PATH "$VIRTUAL_ENV/__BIN_NAME__" $PATH # Unset `$PYTHONHOME` if set. if set -q PYTHONHOME - set -gx _VIRTUALENV_OLD_PYTHONHOME $PYTHONHOME + set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME set -e PYTHONHOME end -if test \( -z $VIRTUAL_ENV_DISABLE_PROMPT \) +if test -z "$VIRTUAL_ENV_DISABLE_PROMPT" # Copy the current `fish_prompt` function as `_old_fish_prompt`. functions -c fish_prompt _old_fish_prompt function fish_prompt - # Save the current $status, for fish_prompts that display it. - set -l old_status $status # Prompt override provided? # If not, just prepend the environment name. if test -n "__VIRTUAL_PROMPT__" printf '%s%s' "__VIRTUAL_PROMPT__" (set_color normal) else - printf '%svirtualenv:%s %s%s%s\n' (set_color white) (set_color normal) (set_color -b black white) (basename $VIRTUAL_ENV) (set_color normal) + printf '%s(%s%s)%s' (set_color normal) (set_color -b black -o white) (basename "$VIRTUAL_ENV") (set_color normal) end - - # Restore the original $status - echo "exit $old_status" | source + _old_fish_prompt end - set -gx _VIRTUALENV_OLD_FISH_PROMPT_OVERRIDE $VIRTUAL_ENV + set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV" end |
