1
0
mirror of https://github.com/dcarrillo/prezto.git synced 2024-11-20 09:41:12 +00:00
Commit Graph

46 Commits

Author SHA1 Message Date
Indrajit Raychaudhuri
a338cba805 python: Use brace expansion for pip compctl match
Just use brace expansion only (and not a mix of brace expansion and
path expansion) to expand `sed` match for more variants of 'pip*' (pip,
pip2, pip3, pip2.7, pip3.7 etc.) in `compctl` assignment
2018-12-18 14:19:07 -06:00
Indrajit Raychaudhuri
9d3e2f0204
python: Expand compctl matches for pip variants
Expand `sed` match for more variants of 'pip*' (pip, pip2, pip3, pip2.7, 
pip3.7 etc.) for `compctl` assignment
2018-12-14 21:32:10 -06:00
Indrajit Raychaudhuri
a987c8bc8a
python: Fix pip compctl file match pattern
Make `sed` match more reliable while replacing the whole of 'pip*' with 
'pip pip2 pip3' for `compctl` assignment
2018-12-12 16:18:58 -06:00
Indrajit Raychaudhuri
e7fea3343f python: Use more apropriate filename for pip completion 2018-12-11 08:11:44 -06:00
Indrajit Raychaudhuri
53286ebbdb python: Make cached completion file mangling more reliable
While mangling cached completion file, we cannot just assume that
`$pip_command` would resolve to `pip` -- it might be `pip2` or `pip3`
depending on the relative position in zsh `$commands` array. Thus
replace the whole of 'pip*' with 'pip pip2 pip3' for compctl assignment.
2018-12-11 08:11:44 -06:00
Kaleb Elwert
e9387a177e python: respect PYENV_ROOT if already set
Fixes #1578
2018-09-28 14:24:30 -07:00
Kaleb Elwert
ee885d42de python: use pure's magic value for VIRTUAL_ENV_DISABLE_PROMPT
Fixes #1627
2018-09-28 14:04:24 -07:00
Steven Loria
dacef14214 Improve startup time by skipping pyenv rehash
After profiling startup time, I found that "pyenv rehash" is
by far the slowest piece. This change skips rehashing on init.

See https://github.com/pyenv/pyenv/issues/784#issuecomment-404850327

Also pass the shell explicitly, as suggested in
https://github.com/pyenv/pyenv/issues/784#issuecomment-404944318,
which provides a modest improvement.

In total, this improves startup time from 1s to 0.3s on my machine.
Using the following command:
python -m timeit "__import__('subprocess').Popen(['zsh', '-i', '-c', 'echo']).communicate()"

Result before this change:
10 loops, best of 3: 1 sec per loop

Result after this change:
10 loops, best of 3: 334 msec per loop
2018-08-01 13:52:52 -04:00
Casey McGinty
2995b7d0c8 Update cache files when .zpreztorc file is modified
Fixes #1581
2018-05-06 13:22:22 -07:00
Casey McGinty
6e179f24ab Export VIRTUAL_ENV_DISABLE_PROMPT when enabling virutalenv
Adding `export` ensures the define is available in the shell so pyenv
or virtualenvwrapper do not duplicate the virtualenv name on the
prompt.
2018-05-01 08:53:16 -07:00
Ashish Gandhi
b6b43eb331 Rename "Mac OS X" to "macOS" in comments
This only changes references in text for human consumption. It leaves
out renaming paths because that can cause breaking changes.

Related issue https://github.com/sorin-ionescu/prezto/issues/1449.
2018-04-16 15:53:48 -07:00
bryndin
e00562e7cf python: autoload add-zsh-hook when needed (#1549)
Fixes #1550
2018-02-23 13:39:45 -08:00
Kaleb Elwert
83085e5231 python: remove zstyle setting in favor of third party environment variable
Refs #1519, #1520
2017-12-14 17:23:44 -08:00
Kaleb Elwert
4c31107e3b python: only override virtualenv python if not set
Fixes #1520
2017-12-14 17:11:06 -08:00
Kaleb Elwert
d8d6b4d70a python: only override virtualenvwrapper python when needed
Fixes #1519
2017-12-12 23:11:55 -08:00
Kaleb Elwert
e021adeb4a python: make a reasonable guess about virtualenvwrapper python location
Fixes #1416
2017-12-11 11:01:42 -08:00
ickc
96bbb31cc8 Added conda virtualenv support to python module. (#1505)
* Added conda virtualenv support to python module
* Added instructions for Python module options to README

Thanks to @egpbos for the original feature and @ickc for fixing the merge conflicts.
2017-11-12 16:20:52 -08:00
Kaleb Elwert
948d9b3aa5 Store cache files in a user-writable location
Fixes #1122
2017-11-10 11:37:14 -08:00
Greg Anders
9c528efa60 Explicitly set PYENV_ROOT 2017-08-26 16:21:45 -05:00
Indrajit Raychaudhuri
83ab314b77 [python] Refine pyenv based virtualenv management
Now that pyenv plugins availability is detected by directly probing
'pyenv', we need to rely on the same mechanism consistently.

Further, we perform available pyenv plugin scan with native zsh
techniques instead of relying on external commands.
2017-08-18 09:35:52 -05:00
Indrajit Raychaudhuri
5ffc8a07f1 [python] Ensure availability of virtualenvwrapper file before sourcing it 2017-08-18 07:56:10 -05:00
Zach Whaley
3194442759 Edit pyenv virtualenv-init check to support non-brew installations
If the pyenv virtualenv plugin is installed using the [pyenv-installer][1]
app script or directly via a [Git clone][2], then the pyenv-virtualenv-init
executable, that the `pyenv virtualenv-init` command uses, will not
exist in the user's PATH and therefore cannot be found using
`$commands[pyenv-virtualenv-init]`.
Installing the pyenv-virtualenv plugin in this manner is common among Linux users.

Using the pyenv `commands` command, which lists all commands pyenv can
run, we can find if the virtualenv-init command is available to pyenv
and subsequently the virtualenv plugin, without relying on
pyenv-virtualenv-init to exist in the user's PATH.

[1]: https://github.com/pyenv/pyenv-installer
[2]: https://github.com/pyenv/pyenv-virtualenv#installing-as-a-pyenv-plugin
2017-08-17 22:50:17 -05:00
Indrajit Raychaudhuri
8d7e3e27c7 [python] Detect availability of virtualenv plugins as well as pyenv
Just having 'pyenv' available doesn't imply availability of virtualenv pyenv
plugins. Check for availability of virtualenv plugins as well before attempting
to use pyenv wrapper for virtualenv.
2017-08-04 13:46:14 -05:00
Indrajit Raychaudhuri
19435b16ea [python] Improve and document virtualenvwrapper initialization flow
Changes:
* Simplify zstyle name `skip-virtualenvwrapper-init` to `initialize`
  avoiding double negation in name
* Always perform `eval (pyenv virtualenv-init -)` at initialization
* Prefer `virtualenvwrapper_lazy` over `virtualenvwrapper` when available
* Honor `VIRTUALENVWRAPPER_VIRTUALENV` if it is defined.
* Document about `VIRTUALENVWRAPPER_PYTHON` and `VIRTUALENVWRAPPER_VIRTUALENV`
  (this would be particularly important in macOS after recent homebrew update)
* Add additional documentation for `initialize` in _README.md_ and _zpreztorc_
* Add aliases `py2`, `py3` as shortcut for `python2`, `python3` respectively
2017-07-26 01:42:31 -05:00
Indrajit Raychaudhuri
bcbaea27af [python] Detect actual pip command available for generating completion cache
We cannot always assume availability of `pip`, it can be `pip2` or `pip3`
instead. We detect the first available one and use it for generating the
completion cache.
2017-07-22 13:08:33 -05:00
Kaleb Elwert
899c176942 python: add ubuntu locations for virtualenvwrapper.sh 2017-07-10 00:03:36 -07:00
Matthew Crenshaw
ecc34e0051 Move virtualenv auto-switch cwd hook optional loader out from inside unrelated if statement (#1338) 2017-06-21 12:30:57 -07:00
Matthew Crenshaw
08e39a587f Python virtualenv auto workon cwd hook (#1300)
* Command to activate virtualenvs on changing directory

Enables automatic activation of a virtualenv when jumping into a directory
This is done by looking in the current directory for a file or directory
named `.venv`. If it's not found in the current directory its parents will
also be examined. `.venv` can be either:
    1. A file containing the name of a virtualenv found in $WORKON_HOME
    2. A directory containing bin/activate (meaning that the directory is
       assumed to be a virtualenv.)
If $WORKON_HOME is set it is assumed that virtualenvwrapper is installed
and the `workon` command will be issued.
2017-05-30 17:26:18 -07:00
Kaleb Elwert
2794f95d3e Use the lazy-loaded version of virtualenvwrapper if available
This shouldn't cause problems for anyone and should improve startup times for
anyone using python with virtualenvwrapper because it will wait for the first
command to load rather than right away.
2017-05-02 10:08:06 -07:00
Kaleb Elwert
1050a0a290 Add better support for pyenv virtualenvs 2017-05-01 01:04:16 -07:00
Indrajit Raychaudhuri
4f87376b50 Add support for 'pip', 'pip2', 'pip3' completion
Since `pip completion --zsh` might be slow, we cache it beforehand.
The implementation is along the lines of 'npm' completion in 'node' module.
2017-04-23 23:03:53 -05:00
Calvin Smith
a7729561e8 Add support for skipping VIRTUALENVWRAPPER init in modules/python (#598)
* Support skip-virtualenvwrapper-init zstyle in python module to avoid auto-sourcing of virtualenvwrapper.sh
* Don't overwrite the WORKON_HOME env var if the user has already set it
2017-04-03 23:06:02 -07:00
Humberto Morales
fea08d4e50 [Fix #669] Do not use lazy virtualenvwrapper
Lazy virtualenvwrapper completion crashes Zsh.

Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-10-10 18:35:33 -04:00
Sorin Ionescu
a84ac5b002 Only one newline at end of file 2014-10-09 23:38:15 -04:00
Arthur Noel
bf9dbfd5b9 Support $PYTHONUSERBASE per PEP 370
Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-04-03 17:55:35 -04:00
Sorin Ionescu
459238b2bb Replace pythonz with pyenv
Depending on Python to manage Python is silly.
2013-08-20 08:21:17 -04:00
Sorin Ionescu
e5de305157 [Fix #383] Do not set $MANPATH
man dynamically searches for man pages based on $PATH.
2013-01-28 17:34:55 -05:00
Sorin Ionescu
7d68d3ff52 [Fix #297] Check for pythonz before returning 2012-09-25 13:04:06 -04:00
Sorin Ionescu
f8689401de Set the virtualenvwrapper $WORKON_HOME variable 2012-09-03 11:29:08 -04:00
Sorin Ionescu
6e664690ef Use the lazy virtualenvwrapper 2012-09-03 10:37:56 -04:00
Sorin Ionescu
98c545a102 [Fix #248] Replace virtualenv_info with python-info
Conflicts:
	modules/python/README.md
2012-09-03 10:34:41 -04:00
Sorin Ionescu
1057801208 [Fix #218] Add support for pythonz 2012-09-02 21:14:32 -04:00
Sorin Ionescu
627d653360 Alias py to python 2012-08-27 18:33:09 -04:00
Sorin Ionescu
060d9064f8 [Fix #202] Load modules all or nothing 2012-08-04 14:32:59 -04:00
Sebastian Wiesner
c9561e1b87 Source virtualenvwrapper in python module 2012-05-05 12:31:53 -04:00
Sorin Ionescu
a7340886b3 [#23] Rename plugins to modules 2012-04-05 13:39:40 -04:00