Commit graph

2004 commits

Author SHA1 Message Date
Laura Hausmann 66fda09680
Add install script 2023-03-17 01:08:04 +01:00
Laura Hausmann 38471673e1
Add zotan customizations 2023-03-17 01:07:46 +01:00
Laura Hausmann edb2013e5a
Remove external prompt modules 2023-03-17 01:07:39 +01:00
Julio Batista Silva fc444f57e1 gnu-utility: add awk
https://www.gnu.org/software/gawk/
https://formulae.brew.sh/formula/gawk
2023-01-31 15:48:11 -08:00
mattmc3 8be95c9c7e Fix osx module manp function 2023-01-29 23:04:58 -08:00
Roman Perepelitsa a4ca924310 prompt: update powerlevel10k submodule to v1.17.0
Release notes:

  - https://github.com/romkatv/powerlevel10k/releases/tag/v1.17.0
2023-01-14 14:23:04 -08:00
huyz e50b93ca88 Fix zcompile race condition
sorin-ionescu/prezto#2028
2023-01-12 11:00:24 -08:00
Jeff Widman e3a9583f33 Support virtualenvwrapper with / without pyenv virtualenv-init or virtualenvwrapper plugins
The desired logic is:

For the `pyenv` plugins `virtualenv-init` and `virtualenvwrapper`:
1. If either plugin is present, activate it
2. If `virtualenvwrapper` plugin is not present, then
   [fallback to standard
   `virtualenvwrapper`](https://github.com/sorin-ionescu/prezto/pull/1414#issuecomment-320306421).
3. If `virtualenvwrapper` plugin is present, then [don't fallback to
   standard `virtualenvwrapper`, regardless of whether `virtualenv-init`
   is
   present](https://github.com/sorin-ionescu/prezto/pull/1981#issue-1123766676).

Previously, if the `virtualenv` command was present but `pyenv` was
missing, then the fallback wouldn't be hit. This bug was introduced by
https://github.com/sorin-ionescu/prezto/pull/1981/ which ensured that
the `pyenv` `virtualenvwrapper` plugin was activated if present,
regardless of the presence of the `virtualenv-init` plugin.

As an optimization, the check for the `pyenv` plugins are skipped if
`pyenv` itself isn't found.

Since we only want to fallback if the `pyenv` `virtualenvwrapper` plugin
is missing, but that's buried within the `pyenv` logic and we also need
to handle when `pyenv` itself is missing, this switches to using a flag
variable.

I also renamed the `virtualenv_sources` var to
`virtualenvwrapper_sources` as `virtualenv` is distinct from
`virtualenvwrapper`, so using one name for a var that is really about
the other is confusing.

Looking at `git blame`, there's a _lot_ of prior art here around trying
to support all the permutations of `pyenv` and various plugins:
* https://github.com/sorin-ionescu/prezto/issues/1413
* https://github.com/sorin-ionescu/prezto/pull/1414
* https://github.com/sorin-ionescu/prezto/pull/1433
* https://github.com/sorin-ionescu/prezto/pull/1434

So we need to be extremely careful to continue to support all these
permutations.

Fix https://github.com/sorin-ionescu/prezto/issues/2022
2022-10-26 22:03:42 -07:00
Jeff Widman ca9012c776 Set EXTENDED_GLOB in the python module
This is needed to find python. 

It is often already set because a user has the directory or completion module loaded before this, but that's not always true.

See extensive debugging / further explanation here: https://github.com/sorin-ionescu/prezto/issues/1949

This does not fully resolve that issue, as there's another enhancement that I'll put up as a separate PR.
2022-10-25 15:54:00 -07:00
Michael Hoang 97f36e9402 Add - alias for cd -
Taken with love from `oh-my-zsh`
2022-10-25 15:23:59 -07:00
Thomas Blaschke 357ce2ebbf Add exception for PyCharm terminal emulation
Do not autostart tmux if we start a terminal inside PyCharm. Should also work for other JetBrains products.
2022-10-12 16:20:42 -06:00
Shea690901 51c4ff6de4 feat(module/ssh): add globbing for ssh-add param
fixes #2000

Signed-off-by: Shea690901 <ginny690901@hotmail.de>
2022-08-03 18:52:34 -05:00
Indrajit Raychaudhuri 3ea20cfbe8 utility: Make 'http-serve' handler faster for well known cases
In most systems, python2 or python3 command/soft-link would almost
always exist. In such cases, we don't need to invoke `python` to
detect the version. This should speed things up a bit as well.
2022-08-03 18:51:49 -05:00
Indrajit Raychaudhuri 0aef8086b5 completion: Update completion submodule to 0.34.0 2022-08-03 18:51:49 -05:00
Ilkin Bayramli b2bc66ce9d
Add Fig as an installation method to the README 2022-06-15 10:42:21 -07:00
Ben 3a471a05f9 Update docker compose references
Docker For Mac has broken support for `docker-compose`. 

Since `docker compose` is a drop in replacement and it Just Works™, this PR converts `docker-compose` to `docker compose`
2022-06-14 15:06:05 -05:00
Eugen Blattner 12df1363ce fix: heading level for new hist file settings 2022-04-11 11:38:44 -07:00
Shea690901 dea85a0740 feat(module/history): add full configurability
While previusly configurable, it was inconsistent with other
configuration options and it was missing configurability of in memory /
on disc history size.

Signed-off-by: Shea690901 <ginny690901@hotmail.de>
2022-04-09 07:46:25 -05:00
Indrajit Raychaudhuri 3dc3fa7f8c zprofile: Expand the default list of well known paths
Two additional sets of paths are now added to the default list of well
known paths: '$HOME/{bin,sbin}' and '/opt/{homebrew,local}/{bin,sbin}'.

- '$HOME/{bin,sbin}': Most users have custom scripts in '$HOME/bin'
anyway, we might as well honor those. '$HOME/sbin' is not really common,
but we can keep it for consistency.
- '/opt/{homebrew,local}/{bin,sbin}': With Homebrew changing default
installation location in macOS on Apple Silicon which will eventually
become ubiquitous, we have a good reason to add these paths by default.
While at it, we also honor MacPorts installation.

In all cases, we add them _iff_ the paths actually exist, not otherwise.
This has the side effect of a newly installed program not available
immediately in the '$path' in a mint fresh system (because of the fact
that '/opt/{homebrew,local}/{bin,sbin}' won't exist initially) until the
shell is reloaded. But that's a minor inconvenience to keep the '$path'
from getting unnecessarily bloated.
2022-04-08 14:30:45 -05:00
Indrajit Raychaudhuri c857e809c3 command-not-found: Detect Homebrew repo internally, not idiomatically
For performance reasons, we prefer detecting Homebrew prefix internally
instead of the more idiomatic form `brew --repository`.

We attempt looking up $HOMEBREW_REPOSITORY first (in case `brew shellenv`
has been sourced-in earlier). Else, we look it up by resolving absolute
path of $HOMEBREW_REPOSITORY.

This should work for most standard (and officially documented) Homebrew
installations.
2022-04-08 14:23:51 -05:00
Indrajit Raychaudhuri ac1c39d2e1 completion: Detect Homebrew prefix internally, not idiomatically
For performance reasons, we prefer detecting Homebrew prefix internally
instead of the more idiomatic form `brew --prefix`.

We attempt looking up $HOMEBREW_PREFIX or $HOMEBREW_REPOSITORY first (in
case `brew shellenv` has been sourced-in earlier). Else, we look it up
by resolving absolute path of $HOMEBREW_REPOSITORY. $HOMEBREW_PREFIX is
same as $HOMEBREW_REPOSITORY except when Homebrew is installed in
'/usr/local' ($HOMEBREW_REPOSITORY == '/usr/local/Homebrew'). This is
usually the case for Intel Macs.

This should work for most standard (and officially documented) Homebrew
installations.

For implementation details in Homebrew,
see: 2a850e02d8/bin/brew (L62-L70)

Co-authored-by: mattmc3 <mattmc3@gmail.com>
2022-04-08 14:23:51 -05:00
Eugen Blattner 2c66331316 fix: use deflating flag for pixz in unarchive function 2022-04-05 12:29:22 -07:00
Eugen Blattner 3da67271b9 fix: use inflating binaries instead of deflating in unarchive function 2022-04-01 13:22:48 -07:00
Jim Boulter 1ff1099d05 Allow users to set a dirty-branch format 2022-04-01 10:36:35 -07:00
Indrajit Raychaudhuri 98d69fc91f zprofile: adjust condition for LESSOPEN export
Split tests for condition for `export LESSOPEN` separate per convention
2022-03-29 18:51:27 -05:00
Aaron Kanter 15150085e6 Only export env variables in zprofile if unset
As per [zsh documentation](https://zsh.sourceforge.io/Intro/intro_3.html) environment variables should be expected to be in `.zshenv` and not be overridden in `.zprofile`. This change modifies BROWSER (on darwin systems only), EDITOR, VISUAL, PAGER, LESS, and LESSOPEN to only use zprezto defaults if they were not previously set in the loading order.

See:
https://github.com/nix-community/home-manager/issues/2739
https://github.com/nix-community/home-manager/issues/2751
2022-03-29 18:44:37 -05:00
Indrajit Raychaudhuri 7ec1ecde3a prompt: Update pure submodule to 1.20.1 2022-02-26 13:32:37 -06:00
Zach Birenbaum 20641f3447
Merge pull request #1981 from zbirenbaum/python_fix
Fix crash on open caused by incorrect conditional in python module
2022-02-23 15:51:37 -05:00
mattmc3 bf3dfe8c02 Update Pure prompt to 1.20.0 2022-02-14 18:45:20 -08:00
zbirenbaum d840f0fc7b Fix crash on open caused by incorrect conditional in python module 2022-02-03 22:08:36 -05:00
Roman Perepelitsa d6e1ef5fcf prompt: update powerlevel10k submodule to v1.16.1
Release notes:

  - https://github.com/romkatv/powerlevel10k/releases/tag/v1.16.1
2022-02-02 05:39:27 -08:00
Roman Perepelitsa 7884fb2271 prompt: update powerlevel10k submodule to v1.16.0
Release notes:

  - https://github.com/romkatv/powerlevel10k/releases/tag/v1.16.0
2022-01-11 02:24:43 -08:00
David Crook ecaed1cfa7 change polarity of test for BROWSER 2021-11-16 09:55:19 -08:00
Andrew Kvalheim 7f8b9b829a general: Correct typo in installation instructions
Resolves “zsh: bad substitution”
2021-11-12 08:31:37 -08:00
Indrajit Raychaudhuri 166cbe2fca autosuggestions: Update zsh-autosuggestions to 0.7.0 2021-07-07 09:56:42 -05:00
Indrajit Raychaudhuri 48291f68e8 general: Reformat runcom documentation 2021-07-07 09:56:22 -05:00
Indrajit Raychaudhuri 2451239713 general: Clarify relative ordering of modules in docs 2021-07-07 09:56:22 -05:00
Indrajit Raychaudhuri f3c92ffeb3 utility: Pipe diff output through colordiff Instead of aliasing
`colordiff` behaves better as `stdin` filter. This is useful in
retaining color escape sequences when used with `less`.
2021-06-24 17:45:29 -05:00
Thomas Blaschke 866d5dfccd Add conda to the list of requirements
If conda is not in the list of requirements, the scripts exit too early in case pyenv is not installed and the module is configured with:

 zstyle ':prezto:module:python' skip-virtualenvwrapper-init 'on' 
 zstyle ':prezto:module:python' conda-init 'on'

Tested on Amazon EC2 Linux for Deeplearning AMI 47.0 and MacOS 11.4
2021-06-23 23:22:09 -05:00
Roman Perepelitsa 061a7b961c prompt: update powerlevel10k submodule to v1.15.0
Release notes:

  - https://github.com/romkatv/powerlevel10k/releases/tag/v1.15.0
2021-06-10 09:32:20 -05:00
Indrajit Raychaudhuri 6833fcd2f2 node: Cleanup and optimize 'node' module
Changes:
- Simplify nodenv and nvm initialization
- Check for availability of `nodenv` or `nvm` function instead of command
- Unset local variables outside condition block
2021-06-01 21:43:11 -05:00
Indrajit Raychaudhuri f1e24d3fd8 completion: Unset local variable outside condition block
Unset `curl_prefix` outside condition block so that it is always
cleared. Also, avoid `brew --prefix <foo>` since it is triggering ruby
in fallback flow when `<foo>` is not present.

Also, apply minor formatting tweaks.
2021-06-01 14:48:30 -05:00
Indrajit Raychaudhuri 37443368c1 ruby: Cleanup and optimize 'ruby' module
Changes:
- Honor `$RBENV_ROOT` or `RVM_DIR` if set but, no need to set it
  explicitly if not set. Instead, let the respective initialization
  scripts take care of that.
- Reverse `rbenv` vs `rvm` selection order, preferring `rbenv` instead.
- Check for availability of `rbenv` or `rvm` function instead of command
  to validate requirements. In a properly configured and initialized
  shell, `rbenv` or `rvm` will be available as function.
- Adhere to more idiomatic Zsh operation and minimize redundant syntaxes.

For additional rationale, see: https://github.com/rbenv/rbenv/wiki/Why-rbenv%3F
2021-06-01 14:31:26 -05:00
Indrajit Raychaudhuri afe59b293b python: Update pyenv initialization flow per pyenv 2.0
In pyenv 2.0 onwards, it is not enough anymore to initialize pyenv in
shell by just calling `pyenv init -`. We also need to update `path` to
include pyenv shims by calling `pyenv init --path`.

Also, honor `$PYENV_ROOT` if set but, no need to set it explicitly if
not set. Instead, let the initialization script take care of that.
2021-06-01 14:29:39 -05:00
Indrajit Raychaudhuri f0942e6dda python: Optimize completion for loading lazily on demand
Move `pip` to separate completion definition delegating to pip to do
all the completion work.

Since the completion is loaded lazily on-demand, it avoids the
performance overhead during Zsh initialization.

Implementation note:
The helper function `_pip_completion` implementation is based on the
official pip completion function (which can be generated with
`pip completion --zsh`) adhering to the newer compsys style.

See: 'man zshcompsys' for more details.
2021-06-01 14:29:39 -05:00
Indrajit Raychaudhuri d686da3c03 python: Reformat and apply visual cleanup
Changes:
- Fallback to `virtualenvwrapper` without `pyenv` wrapper if `python` is
  available in path, regardless of whether `brew` is available.
- Look up for availability of `python2` and `python3`, not just `python`.
- Check for existence of path before adding to global `$path` array.
- Adhere to more idiomatic Zsh operation and minimize redundant syntaxes.
- Prefer looking up `$functions` for fully initialized `pyenv`.
2021-06-01 14:29:39 -05:00
Indrajit Raychaudhuri 9037fda36d completion: Avoid double-quoting LS_COLORS for completion
Double-quoting `LS_COLORS` prevents it from loading in environment,
which isn't what we want.
2021-05-25 18:12:45 -05:00
Ehren Kret 53033bc5d9 Fix broken source commands in node module
Placing `--no-use` inside the quoted string results in source
attempting to load a file which literally ends with ` --no-use`
instead of passing --no-use as an argument.
2021-05-24 11:33:49 -05:00
Indrajit Raychaudhuri 7052e2a002 completion: Skip completion lookup for key-only brewed curl
Skip lookup for `_curl` completion function to avoid fallback
completion having higher priority.
2021-05-23 19:40:32 -05:00
Indrajit Raychaudhuri 979144d0e4 git: Update minimum required git version to 2.11
Git 2.11+ has more versatile `submodule`, `fetch`, `rebase` options for
common use-cases.
2021-05-21 13:40:49 -05:00