Commit Graph

4078 Commits

Author SHA1 Message Date
Marc Cornellà 2c06852546
style(dirhistory): remove use of `eval` completely 2021-11-16 17:18:07 +01:00
Marc Cornellà 72928432f1
fix(plugins): fix potential command injection in `rand-quote` and `hitokoto`
The `rand-quote` plugin uses quotationspage.com and prints part of its content to the
shell without sanitization, which could trigger command injection. There is no evidence
that this has been exploited, but this commit removes all possibility for exploit.

Similarly, the `hitokoto` plugin uses the hitokoto.cn website to print quotes to the
shell, also without sanitization. Furthermore, there is also no evidence that this has
been exploited, but with this change it is now impossible.
2021-11-11 22:45:24 +01:00
Marc Cornellà 06fc5fb129
fix(dirhistory): fix unsafe eval bug in back and forward widgets
The plugin unsafely processes directory paths in pop_past and pop_future.
This commit fixes that.
2021-11-11 22:44:28 +01:00
Marc Cornellà 1448d234d6
fix(dirhistory): fix Up/Down key bindings for Terminal.app
Reference: https://github.com/ohmyzsh/ohmyzsh/commit/7f49494#commitcomment-60117011
2021-11-11 17:20:07 +01:00
Kirill Molchanov 22de1d304c
fix(command-not-found): pass arguments correctly in Termux (#10403) 2021-11-10 15:03:38 +01:00
Marc Cornellà 5c2440cb0c
style(frontend-search): rename completion file to `_frontend` 2021-11-09 12:07:23 +01:00
Kevin Burke e86c6f5e7f
style: use `-n` flag in `head` and `tail` commands (#10391)
Co-authored-by: Marc Cornellà <hello@mcornella.com>
2021-11-09 09:04:10 +01:00
Shahin Sorkh 55682e3692
feat(tmux): set session name with `ZSH_TMUX_DEFAULT_SESSION_NAME` (#9063) 2021-11-08 15:32:09 +01:00
Marc Cornellà 90903779b9
refactor(percol): fix style, bind keys for vi-mode and remove dependencies 2021-11-08 14:01:34 +01:00
Jonathan Batchelor b2f35a7b98
refactor(osx): Rename osx plugin to macos (#10341)
Apple changed the name of their operating system from OS X to macOS a number of years ago. This was overdue!

As per issue  #10311

* refactor(osx): rename `osx` plugin to `macos`
* refactor(macos): Add symbolic link from old `osx` plugin name.
2021-11-05 16:40:38 -07:00
amnore 9a02515c7c
fix(command-not-found): pass arguments correctly in NixOS (#10381) 2021-11-03 13:17:23 +01:00
Michael Peick 79cf4b3ceb
feat(dirhistory): support urxvt terminal key binding (#8370)
Closes #8370
2021-11-02 15:12:43 +01:00
Marc Cornellà 7f494944e6
fix(dirhistory): fix ALT+Up/Down key bindings for Terminal.app 2021-11-02 15:12:43 +01:00
Marc Cornellà 49458b872d
docs(dirhistory): document OPT key alternative for macOS and fix style
Fixes #10350
2021-11-02 15:12:43 +01:00
YR Chen 1861b5f175
feat(xcode): support `Package.swift` as project file in `xc` (#10358) 2021-10-29 17:40:23 +02:00
Christophe Bliard 2e46b2a2dc
feat(fzf): support getting fzf from nix-darwin (#10355) 2021-10-27 11:40:09 +02:00
José Camelo Freitas 4f67b02a9f
feat(mix): update `mix` commands and descriptions (#10273) 2021-10-26 16:07:46 +02:00
Marc Cornellà f1dd97bb2a
fix(ssh-agent): fix check for running `ssh-agent` process with hidepid /proc (#8492)
Fixes #8492
2021-10-23 05:16:15 +02:00
Rob Vadai 46f8765f4c
feat(osx): add `freespace` command to clean purgeable disk space (#8762)
Co-authored-by: Marc Cornellà <hello@mcornella.com>
2021-10-20 22:58:28 +02:00
Marc Cornellà 8c1495a18e
fix(ruby)!: rename aliases that start with `g` to `ge`
BREAKING CHANGE: all `gem` aliases that started with `g` now start
with `ge` to fix conflicting names with the `git` plugin. Also, the
`ghlp` alias is now renamed `geh`. Have a look at the plugin README
for more information.

Fixes #10320
2021-10-20 17:11:42 +02:00
Marc Cornellà 4b1f6d638f
feat(ruby): add multiple `gem` aliases (#9005)
Mostly empty commit to fix the changelog for merge at 6f4c7f64
2021-10-19 20:07:40 +02:00
Robby Russell f83bb65d47 Swapping gh with ghlp as 'gh' is reserved for the Github CLI. #9005 2021-10-19 10:54:50 -07:00
Robby Russell a6b5aede81 Merge branch 'patch-1' of https://github.com/royninja/ohmyzsh into royninja-patch-1 2021-10-19 10:54:30 -07:00
Marc Cornellà beeda72826
fix(ssh-agent): fix for bad `zstyle` command argument
Fixes #10282
2021-10-11 15:22:03 +02:00
Marc Cornellà a0ac789f2a
feat(ssh-agent): allow lazy-loading SSH identities (#6309)
Fixes #7477
2021-10-11 12:15:47 +02:00
Arthur Maltson 9bd0ac9b00
feat(mvn): support using `mvnw` in multi-module projects (#9413) 2021-10-11 11:40:17 +02:00
Luka Markušić 6ac1ff6905
fix(git): fix directory parse from URL in `gccd` (#10276) 2021-10-09 13:42:17 +02:00
Michael Fryar 1c9a64ece6
feat(git): add `gswm` and `gswd` aliases (#9897)
Co-authored-by: Nathaniel Young <nathanielyoung95070@gmail.com>
2021-10-08 17:24:00 +02:00
Marc Cornellà 5fb204fa74
fix(battery): force battery percentage as integer 2021-10-08 15:42:43 +02:00
Marc Cornellà 9aeb967581
fix(battery): fix system check so Termux uses the correct method 2021-10-08 12:34:04 +02:00
Avneet Singh f26a1ecdf0
feat(battery): add support for Android via Termux (#9752) 2021-10-08 12:27:16 +02:00
Ryan Voots dc83d0b720
fix(battery): support `acpitool` and multiple batteries under Linux (#9609)
Co-authored-by: Marc Cornellà <hello@mcornella.com>
2021-10-07 21:16:30 +02:00
Cxarli f0bbef1a07
feat(yarn): add global bin directory to `$PATH` (#9410)
Fixes #9177
Closes #9410
2021-10-07 13:34:22 +02:00
HoshinoArika 29b5c182be
feat(sublime): add support for Sublime Text 4 on Windows (#10063) 2021-10-06 11:01:20 +02:00
Ryan Zegray 7418814677
feat(z): update z to latest version (#10267) 2021-10-06 10:14:22 +02:00
Carlo Sala bf7c1b160d
fix(git)!: rename `gdu` alias to `gdup` (#10263)
BREAKING CHANGE: the `gdu` alias has been renamed to `gdup` to avoid a
conflict with `go disk usage` (https://github.com/dundee/gdu).
2021-10-06 10:13:38 +02:00
Ryan McAllen 9e41cffbf8
chore(chucknorris): add a few more Chuck Norris quotes (#10210) 2021-10-05 16:47:28 +02:00
Marc Cornellà 53c9661b00
refactor(chucknorris): refresh plugin code 2021-10-05 16:45:49 +02:00
Dapeng Gao e5b9b80008
fix(gpg-agent): correctly overwrite `$SSH_AUTH_SOCK` and other improvements (#7059) 2021-10-05 13:54:53 +02:00
Marc Cornellà 49bc55f966
fix(docker-compose): fix for slow `docker compose` call on remote Docker contexts (#10264)
Fixes #10264

Co-authored-by: Frederick Zhang <frederick888@tsundere.moe>
2021-10-05 13:23:05 +02:00
Marc Cornellà f793baf370
fix(jsontools): fix broken conditional in zsh 5.0.2 (#10262)
Fixes #10262
2021-10-05 11:59:09 +02:00
fanuch 714399a7c3
feat(git): add `gccd` alias to clone and cd into git repository (#8220)
Fixes #8216
Closes #8220

Co-authored-by: Nelson Estevão <nelsonmestevao@gmail.com>
2021-10-04 17:31:05 +02:00
Marc Cornellà 568584a9f5
fix(per-directory-history): fix use of global history on shell start (#9008)
Updated from upstream: https://github.com/jimhester/per-directory-history/blob/d2e291d/per-directory-history.zsh

Fixes #9007
Closese #9008

Co-authored-by: Sebastian Marsching <sebastian-git-2016@marsching.com>
2021-10-04 17:14:34 +02:00
Monson Shao be4a952972
feat(cli)!: add `omz reload` command and deprecate `zsh_reload` plugin (#9078)
BREAKING CHANGE: the `zsh_reload` plugin is deprecated. Instead of using its `src`
function, use `omz reload` or `exec zsh` to reload zsh after making changes to
your `.zshrc` file.

Closes #9078
2021-10-04 16:24:05 +02:00
Dani Torramilans 56ab66b194
docs(python): update README to include new `py` alias (#9995) 2021-10-04 15:57:03 +02:00
TheTechRobo 717ece07ef
feat(mercurial): add `hg log` aliases (#9979)
Co-authored-by: Michał Kielan <kielanm@fb.com>
2021-10-04 15:55:18 +02:00
Emilien Escalle d304635b8c
feat(yarn): add `ylnf` alias to fix linting problems (#9219) 2021-10-04 13:07:55 +02:00
Marc Cornellà 5dbb30342e
feat(yarn): update completion from zsh-completions (73505e4)
Fixes #10195
2021-10-04 12:45:59 +02:00
Marc Cornellà a3289c11f6
feat(docker-compose): update completion (4fa72a0, 2021-01-19)
Source: https://github.com/docker/compose/blob/4fa72a0/contrib/completion/zsh/_docker-compose

Closes #9494

Co-authored-by: "Bakhir A.D" <Bakhir.A.D.st@gmail.com>
2021-10-04 12:02:08 +02:00
Marc Cornellà c396efbee3
fix(docker-compose): support Compose V2 `docker compose` command (#10248) 2021-10-04 11:26:39 +02:00
Nikolas Garofil adef0e6081
feat(git): run `gitk` in the background in `gk` and `gke` aliases (#9657) 2021-10-04 10:43:13 +02:00
Kaede Hoshikawa c6c364317d fix(pyenv): fix pyenv-virtualenv detection under macOS. 2021-10-04 10:33:27 +02:00
Leon 54783f66b8
feat(juju): add plugin for Juju (juju.is) (#10075)
Co-authored-by: Jon Seager <jon@sgrs.uk>
2021-09-29 18:09:02 +02:00
Marc Cornellà de76f7cb49 fix(emacs): correctly pass arguments to emacsclient when $2 is stdin 2021-09-29 16:50:12 +02:00
Marc Cornellà 2acae3797b fix(emacs): assess if there are open frames of the expected type
This change looks at the frame type of the open frames ('framep) and
looks if they're of the type requested based on the arguments passed
to emacsclient (-nw/-t/--tty require tty frames, otherwise we need
graphical frames).

NOTE: this code considers anything different than t as graphical
terminals, including MS-DOS types (pc). I don't have such a setup
to test if this is correct.
2021-09-29 16:50:12 +02:00
Marc Cornellà 27dcca5967 refactor(emacs): simplify emacsclient wrapper code 2021-09-29 16:50:12 +02:00
Marc Cornellà b37114b4d5 refactor(emacs): remove dependency on `require_tool.sh` and clean up code style 2021-09-29 16:50:12 +02:00
nowshed-imran a42db12085
refactor(archlinux)!: remove `yaourt` support (#9713)
BREAKING CHANGE: `yaourt` is no longer maintained nor available as a package.
Use `pacman` or one of the other maintained AUR helpers.

Closes #9713
2021-09-28 13:09:42 +02:00
April King 4ae5bdebc3
fix(osx): only run Preview.app in `man-preview` if man page exists (#10222) 2021-09-28 11:40:31 +02:00
Marc Cornellà 93ad3a8821
docs(vi-mode): document `$KEYTIMEOUT` issue (#9588)
Closes #9588
2021-09-27 11:46:42 +02:00
Marc Cornellà d87f29f564
refactor(vim-interaction): clean up code and open gvim instance if none open (#10209)
Co-authored-by: Kevin Bader <keb@visotech.at>
2021-09-23 12:33:37 +02:00
Marc Cornellà 5b3d2b2f0c
Revert "feat(archlinux): add cleanup aliases to `yaourt` and `yay` (#10184)"
This reverts commit eba3be243f.
2021-09-22 11:58:23 +02:00
Marc Cornellà 3e4b520190
refactor(django)!: deprecate plugin in favor of Zsh's django completion
BREAKING CHANGE: Zsh already provides completion for the `django-admin` and `manage.py`
commands, which is substantially better than the one provided by this plugin. We're
therefore deprecating this plugin and we will remove it in the near future.
2021-09-22 10:41:06 +02:00
Eduardo Flores 7ded6752fd feat(jsontools): add tools to pretty print json-lines (ndjson) (#10176)
Co-authored-by: Marc Cornellà <hello@mcornella.com>
2021-09-22 09:19:11 +02:00
Marc Cornellà b590939637 refactor(jsontools): move to functions, align `is_json` tool to return exit code
Also:

- Fix Python code in accordance with Python 3
- Use CGI module in Ruby to encode/decode strings
2021-09-22 09:19:11 +02:00
Marc Cornellà f9d9d33ba4 refactor(jsontools): restructure and simplify logic 2021-09-22 09:19:11 +02:00
Joshua Bedford a4e68967a4
feat(lando): add support for `php` command (#10146)
Co-authored-by: Joshua Bedford <joshua.bedford@hurstreview.com>
2021-09-17 23:36:27 +02:00
Ken Crawford 4d7f0cfb47
docs(kubectx): fix README sample code syntax (#10199) 2021-09-17 23:33:12 +02:00
Al-Amin Ahamed eba3be243f
feat(archlinux): add cleanup aliases to `yaourt` and `yay` (#10184) 2021-09-17 23:31:56 +02:00
Tristan Messner 4bd5d03e51
feat(golang): add `goga` alias to install dependencies in current directory, recursively (#7786)
Closes #7786
2021-09-16 16:59:03 +02:00
Muhammad Zahalqa 29ec52602f
feat(golang): add `gota` to test current directory recursively (#8974) 2021-09-16 16:44:35 +02:00
Marc Cornellà eb2eacaf0c
refactor(plugins): remove old generated completion files
This removes .gitignore plugin files and adds a force-rm of the old completion file,
which ignores any errors if the file doesn't exist.
2021-09-15 18:47:51 +02:00
Marc Cornellà d2269180b0
fix(core): move plugin-generated completion files to `$ZSH_CACHE_DIR/completions`
Fixes #10183
2021-09-15 18:41:44 +02:00
Marc Cornellà 4e6e49652b
fix(plugins): fix `_comps` error in completion generation plugins (#10190)
Fixes #10190
2021-09-15 18:18:25 +02:00
Marc Cornellà c21ff38b8f
fix(docker): remove unwanted asterisk in completed docker commands
Also update upstream completion to version fe2008d04e80fafd.

NOTE: this fix means the version bundled within Oh My Zsh has diverged
from the upstream version.
2021-09-15 17:47:57 +02:00
Marc Cornellà 735808f48d
Revert "feat(ssh-agent): only start ssh-agent once (#5359)"
This reverts commit 7692881d2a.
2021-09-10 18:01:43 +02:00
Marc Cornellà 81edb03c52
fix(copybuffer): define CTRL+O binding for all keymaps (#6442)
Fixes #6442
2021-09-10 17:07:22 +02:00
Xuehai Pan 358ac6a141
fix(cp): add unique suffix to rsync backup directory for each user (#10170)
* fix(cp): add unique suffix to rsync backup directory for each user

* fix(cp): use `USERNAME` rather than `USER`
2021-09-09 22:18:09 +02:00
Jóhann Friðriksson aa6e932b06
fix(vim-interaction): look up the newest GVim instance (#9095)
Instead of relying on a hardcoded instance-name existing for the default-value, let's
look up the latest instance. This also resolves my problem where MacVim
had a servername of "VIM" instead of "GVIM".

Co-authored-by: Johann Fridriksson <jofridri@silabs.com>
2021-09-09 19:31:01 +02:00
Claas Augner 130f35fcb2
feat(git): add `gdu` alias to diff against upstream (#8721) 2021-09-09 19:16:15 +02:00
Carlo Sala 450acc0113
fix: automatically create completion for `cargo` and `rustup` plugins (#10087) 2021-09-07 20:02:20 +02:00
Moshe Avni af271c9e38
feat(git-auto-fetch): add date to git-auto-fetch log file (#10021) 2021-09-06 17:56:39 +02:00
Xuehai Pan ab8b9913cb
fix(git-auto-fetch): cancel fetch if we don't have permission over git folder (#10010) 2021-09-06 17:46:56 +02:00
Marc Cornellà 5a4159cd29
fix(git)!: rename `git mergetool` aliases to `gmtl*` (#9154)
BREAKING CHANGE: the `gmt` alias conflicts with the Generic Mapping Tools command.
For that, the `gmt` alias has been renamed to `gmtl`, and `gmtvim` has been renamed to
`gmtlvim` for consistency.

Fixes #9154
2021-09-06 13:31:13 +02:00
Michael J. Cohen 97b4ab76b8
fix(chruby): fix typo in test for Homebrew path (#9887) 2021-09-06 11:31:56 +02:00
Julian Horsch 4d5bfe4c69
feat(autojump): add new Homebrew default path on M1 Macs (#9637)
On M1-Macs homebrew uses /opt/homebrew as default location for ARM
packages. This results in the autojump plugin not being able to find
autojump after a clean default installation.
This commit adds the new default location to the autojump plugin.
2021-09-06 11:30:28 +02:00
Gijs Key a15ac80bba
feat(gcloud): add Mac M1 Homebrew path (#10143)
Homebrew on Mac M1 is moved to the /opt/Homebrew location. This change updates the search
locations with this path.
2021-09-06 11:28:32 +02:00
Neil Girdhar a5850d441b
feat(git): change from commiter to author in `git log` aliases (#9670) 2021-09-06 11:21:44 +02:00
Terry 19710a2d17
fix(pyenv): do not warn if PYENV_ROOT is undefined (#10162)
Co-authored-by: Terry Moschou <terry.moschou@fivecast.com>
2021-09-06 10:32:19 +02:00
Marc Cornellà 1b03896a0e
feat(pyenv): don't load pyenv-virtualenv with `ZSH_PYENV_VIRTUALENV=false`
Closes #9443

Co-authored-by: Pandu POLUAN <pepoluan@gmail.com>
2021-09-03 12:57:13 +02:00
Marc Cornellà 823be4ef5f
feat(pyenv): silence bad config warning with `ZSH_PYENV_QUIET=true` 2021-09-03 12:54:45 +02:00
Marc Cornellà c08fb77c2f
fix(pyenv): properly load pyenv shims and warn of broken configuration
Closes #10133

Co-authored-by: Chloé “Matcha” <chloe.desoutter@gmail.com>
2021-09-03 12:47:31 +02:00
Vitaly Polonetsky 53b54f5faa
feat(git): guess main branch name also from remotes (#10158)
Co-authored-by: Marc Cornellà <hello@mcornella.com>
2021-09-03 11:43:53 +02:00
Marc Cornellà 21b385e7bd
fix(frontend-search): fix codepen.io search (#10157)
Fixes #10157
2021-09-02 12:29:04 +02:00
Marc Cornellà 190325049e
fix(sudo): allow different $EDITOR settings and fix zsh-syntax-highlighting redraw 2021-08-27 18:08:51 +02:00
Marc Cornellà a1847dc860
style(sudo): apply main style guide indentation 2021-08-27 18:08:51 +02:00
Marc Cornellà 4a69ee575c
feat(ssh-agent): allow specifying absolute path to `identities`
Fixes #9650
2021-08-27 18:08:04 +02:00
wl2776 0c590aba74
fix(git): fix `gbda` alias when there are no merged branches (#10005) 2021-08-27 18:07:19 +02:00
Marc Cornellà 3f0672ff94
refactor(ssh-agent): clean up and reorganize code 2021-08-26 14:56:22 +02:00
Marc Cornellà 7692881d2a
feat(ssh-agent): only start ssh-agent once (#5359)
Close #5359
Close #7379

Co-authored-by: Will Andrews <will@firepipe.net>
Co-authored-by: zhangyc <zhangyc@fenbi.com>
2021-08-26 14:54:17 +02:00
Simone Gaiarin 5a9d9553cd
feat(ssh-agent): allow using external helper to ask for passwords (#7631) 2021-08-26 11:42:17 +02:00
Mattias Öhrn e13ff75f38
fix(kubectx): show plain context if not mapped (#10134) 2021-08-24 19:19:29 +02:00
Ilya Bizyaev 6d5b8484ce
fix(suse): avoid refresh attempts for Zypper queries (#9798) 2021-08-20 12:25:58 +02:00
Marc Cornellà b85e1dd5d6
fix(pyenv): fix for checking if pyenv-virtualenv is installed
Fixes #8467
2021-08-18 11:51:19 +02:00
Marc Cornellà 10f3e0d4d4
docs(pyenv): document necessity to logout after PATH settings 2021-08-18 11:43:29 +02:00
Marc Cornellà 33847956d9
fix(colemak): remove `lesskey` usage in less v582 and newer (#10102) 2021-08-17 09:37:01 +02:00
Marc Cornellà 11e22ed0b5
docs(dirhistory): document keyboard shortcut conflict with Windows Terminal
Related: https://github.com/ohmyzsh/ohmyzsh/issues/8505#issuecomment-886241162
2021-08-14 22:56:14 +02:00
Marc Cornellà 0b32e4b25f
style(extract): adopt main code style guide and refactor variables 2021-08-14 22:34:14 +02:00
Marc Cornellà 10a00085d0
fix(extract): don't push entries to dirstack when extracting rpm and deb files 2021-08-14 22:33:46 +02:00
Marc Cornellà a2f1ef69b5
fix(extract): correctly extract rpm files on other directories 2021-08-14 22:33:06 +02:00
Xeonacid 0b506fea0c
feat(extract): add cpio support 2021-08-14 22:32:05 +02:00
Alexander Kapshuna 59a9b453d3
fix(extract): support unpacking deb file from different directory 2021-08-14 22:32:04 +02:00
Marc Cornellà 6dc937ff68
feat(extract): add suport for .cab files via `cabextract` 2021-08-14 22:32:04 +02:00
Marc Cornellà af6c7f3d67
refactor(cloudapp)!: remove deprecated `cloudapp` plugin
BREAKING CHANGE: the `cloudapp` plugin has been removed due to removed API.
2021-08-13 12:42:56 +02:00
Marc Cornellà e1f0d826f1
refactor(go)!: remove deprecated `go` plugin
BREAKING CHANGE: the `go` plugin has been removed. Use the `golang` plugin instead.
2021-08-13 12:40:20 +02:00
Marc Cornellà 502b07c9b2
refactor(fedora)!: remove deprecated `fedora` plugin
BREAKING CHANGE: the `fedora` plugin has been removed. Use the `dnf` plugin instead.
2021-08-13 12:38:22 +02:00
Gregor Trefs b79fba7b0d
feat(plugins): `octozen` shows an Octocat zen quote on startup (#5959)
Co-authored-by: Marc Cornellà <hello@mcornella.com>
2021-08-10 21:02:06 +02:00
Quentin Nerden bca73e1858
feat(plugins): add completion plugin for `invoke` (#7311)
Co-authored-by: Quentin Nerden <quentin.nerden@intel.com>
2021-08-10 20:25:08 +02:00
Max Eisner ab58594173
feat(git): add `develop` branch name detection (#9881) 2021-08-10 16:31:49 +02:00
Aayush Kapoor 9c34c359c4
chore(ag): fix README (#10001) 2021-08-06 15:51:19 +02:00
Marc Cornellà 5377cc37c0
fix(pyenv): fix for ignoring pyenv-win commands
The previous fix ignored any pyenv command found in $PATH while on
WSL, regardless of whether it was correctly set up or not.

This change only ignores the pyenv command if it's proved to come
from pyenv-win by looking at its full path.
2021-07-26 11:46:15 +02:00
Neil Girdhar c8a258698d
fix(pyenv): fix pyenv PATH settings with a warning (#9935)
This change fixes the setting of $PATH for pyenv and its shims, while warning
the user about non-interactive shells.

Co-authored-by: Marc Cornellà <hello@mcornella.com>
2021-07-26 11:45:02 +02:00
Žiga Šebenik d9ad99531f
feat(plugins): add fnm plugin (#9864)
Co-authored-by: Ziga Sebenik <ziga.sebenik@oryxgaming.com>
2021-07-23 12:39:51 +02:00
MalaGaM @ ARTiSPRETiS dac3314c76
chore(github): add links to supported tools (#10057) 2021-07-16 11:48:19 +02:00
Sergei Shvetsov 23f9348e2c
fix(aws): allow for profile switch w/o MFA configured (#9924) 2021-07-13 10:05:33 +02:00
Marc Cornellà e4f6f1698d
fix(copybuffer): show error below the command line 2021-07-12 17:34:34 +02:00
Robert Lankford 5b4e3ee7f1
feat(gnu-utils): include ggrep in gcmds (#10044)
Co-authored-by: Robert Lankford <robert.lankford@nuorder.com>
2021-07-12 17:16:26 +02:00
Marc Cornellà c44b99e901
fix(dotenv): draw confirmation prompt in next empty line
Without this fix the confirmation prompt appears wherever the cursor is,
which means that it might appear in the command line when using a widget
that changes the directory without redrawing the prompt (an example of
this are the dircycle and dirhistory plugins).
2021-07-07 10:41:14 +02:00
Marc Cornellà 3e7998aec3
Revert "ssh-agent: improvements (#6309)"
This reverts commit a206271460.
2021-06-14 10:57:50 +02:00
Fabio Vitale 77087aaa8d
refactor(git-glow): Add config interpolation for git-flow messages (#7481)
Changed commands:
gcd: uses gitflow.branch.develop to get user-set development branch
gch: uses gitflow.prefix.hotfix to get user-set hotfix prefix
gcr: uses gitflow.prefix.release to get user-set release prefix

Co-authored-by: Fabio 'c0m3tx' Vitale <c0m3tx@gmail.com>
2021-06-13 11:05:09 -07:00
Nick Revin 08751210e3
feat(git): Add aliases for 'git commit -S -s [-m]' (#7616)
I thought it would be useful to add these aliases. 

There are already aliases for `git commit -S` and `git commit -s` but there is none for both simultaneously =)
2021-06-13 10:59:31 -07:00
Myoungdo Park bd5d0066b9
feat(pm2): Adding a pm2 plugin (#7684)
* Add pm2 plugin

* Add description of pm2 plugin
2021-06-13 10:58:44 -07:00
Shubham Chaudhary 241c7dde2b
feat(supervisor): Add aliases for supervisor (#5819) 2021-06-13 10:50:36 -07:00
Michał Duszyk 027189b294
perf(mercurial): speed up mercurial plugin (#4591)
* speed up mercurial plugin

* removed unnecesay limit to current dir from hg status
2021-06-13 10:40:07 -07:00
Guo, Quan 70a0577712
feat(nvm): introduce customizable list of command that triggers lazy loading (#9946)
* Add customizable list of command that triggers lazy loading

* Add $NVM_LAZY_CMD

* Add instruction to `NVM_LAZY_CMD` in README.md
2021-06-13 10:32:47 -07:00
Ajeet D'Souza 36cc94f3dc
feat(zoxide): add new plugin for zoxide (a smarter cd CLI tool) (#9950) 2021-06-13 10:30:58 -07:00
Lasse Peters 3ea66642e8
feat(git): Add alias for 'git checkout --recurse-submodules' (#9958) 2021-06-13 10:25:27 -07:00
Sagar Yadav 960483b76b
feat(pip): add alias for updating all requirements via pip (#9965)
* feat(plugins): add alias for pip commands

* feat(plugins): updated README.md and add alias
2021-06-13 10:23:58 -07:00
Stanisław Szydło 5152d381bb
feat(kubectx): adding a new plugin for 'kubectx' (#6114)
Co-authored-by: Marc Cornellà <marc.cornella@live.com>
Co-authored-by: Robby Russell <robby@planetargon.com>
2021-06-13 08:23:13 -07:00
Robby Russell c65153739a Merge branch 'master' of github.com:ohmyzsh/ohmyzsh 2021-06-13 08:13:21 -07:00
Robby Russell baced0cdcf style(kubectl): Being more explicit alias to the main CLI tool instead of to another alias (#6567) 2021-06-13 08:10:29 -07:00
Robby Russell 8e3de35d15 Merge branch 'master' of git://github.com/kozl/oh-my-zsh into kozl-master 2021-06-13 08:08:14 -07:00
Guillermo Alcantara 5b3657a454
feat(plugins): Add Ag completion (#3534)
* Add Ag completion

A replacement for ack/grep https://github.com/ggreer/the_silver_searcher

* Create README.md

As requested in the PR: https://github.com/ohmyzsh/ohmyzsh/pull/3534
2021-06-12 08:49:08 -07:00
Rolf Schröder e701fa49e7
feat(plugins): New plugins for samtools and bedtools (#3574)
* Add first impl of samtools autocompletion

* Just autocomplete with files all the time

* Add init impl of bedtools completion

* Add readme.md for bedtools plugin

* Add readme for samtools

Co-authored-by: Rolf Schroeder <rolf.schroeder@centogene.com>
2021-06-12 07:12:07 -07:00
Felix Stupp 26e9cead1a
feat(plugins): Plugin "debian": Switch order of "apt" and "aptitude" for detection (#7533)
* Switch order of "apt" and "aptitude" for detection

"apt" is installed by default at Debian (maybe Ubuntu too), while "aptitude" does not seem to be installed by default.
For that, it may be better for most of the users to prefer "aptitude" if installed.

* plugins/debian/README: Change of order mirroded into documentation
2021-06-12 07:10:06 -07:00
Mirko Lelansky 81a6cc5050
feat(plugins): Add helper function to get current mercurial bookmark (#4970)
Add a new function to get the current mercurial bookmark which can be
used in the theme prompts for example.
2021-06-12 07:01:26 -07:00
Oshadha Gunawardena 3cdc36fc1e
feat(plugins): Add a new showpkg alias to ubuntu plugin (#4653)
Add an alias for ```showpkg``` to get the reverse and recursive dependencies on a package
2021-06-12 06:23:29 -07:00
Frani 6779e10759
feat(plugins): Add new isodate plugin for friendly date formatting commands (#9963)
* add isodate plugin
2021-06-12 06:08:27 -07:00
Daniel Wu 9bdbe08aa2
feat(plugins): add gpr alias for /git pull -rebase/ which is easier to remember (#9964) 2021-06-12 06:06:09 -07:00
Gabo Esquivel a3d90624df
feature(plugins): add bower commands aliases (#3387) 2021-06-11 21:06:06 -07:00
Francesco Giannelli a2e6a85bf3
fix(plugins): cache thefuck aliases (#5522) 2021-06-11 20:57:04 -07:00
Dom Sekotill 94ea7b4516
fix(virtualenvwrapper): several changes for checking git directory, including fixes (#5663)
* Test only for the presence of a .git directory in virtualenvwrapper

Instead of using both $(git rev-parse --show-toplevel) and a check for
a .git directory, use just the latter. As well as being redundant
the former does not work quite so well when using multiple worktrees;
each worktree will be treated as a separate project.

* Unset ENV_NAME & deactivate if no virtualenv found

This addresses #4603 without breaking current behaviour (where current
behaviour is correct).

When changing directories, if there is no environment matching
ENV_NAME, ENV_NAME is emptied and deactivate called if there is a
current environment active (based on CD_VIRTUAL_ENV).

* Use path comparison not string comparison for paths

This will solve part of issue #4255 where WORKON_HOME is defined with a
trailing slash or not normalised in some way, as well as instances
where symlinks are used, and any other instances where constructed
paths don't exactly match even though they go to the same file.

Co-authored-by: Robby Russell <robby@planetargon.com>
2021-06-11 20:52:22 -07:00
Wenli Wan 0869a57cb5
fix(kubectl): remove duplicated alias for kubectl plugin `kgsa` (#9927) 2021-06-11 20:49:04 -07:00
Dzianis Dashkevich 81db2af601
feat(rails): Add `rdmr` (`rake db:migrate:redo`) alias to Rails plugin (#6124)
Co-authored-by: Robby Russell <robby@planetargon.com>
2021-06-11 20:12:13 -07:00
Dzianis Dashkevich 42f56c5601
feat(rails): Add `rdmd` and `rdmu` aliases to Rails plugin (#6126)
* `rdmd` is aliased to `rake db:migrate:down`
* `rdmu` is aliased to `rake db:migrate:up`
* These tasks allow you to run a specific migration up or down by
specifying the appropriate `VERSION` env variable, which contains
the numerical prefix of the migration's filename
2021-06-11 20:10:00 -07:00
Eric Liu 580c28dedd
feat(rails): add 'rails server --bind' alias (#4977) 2021-06-11 20:07:21 -07:00
Hugo Stijns 00ccb44990
fix(vagrant): Allow dot in Vagrant box name (#4803) 2021-06-11 20:04:58 -07:00
Robby Russell 5cdba87025 Aliases: Adding a README file for the plugin. #4662 2021-06-11 19:46:00 -07:00
hqingyi e47a8e2321
feat(plugins): add aliases cheatsheet plugin (#4662)
* add: explore alias quickly with aliases plugin.

* change: add compatibility with python2 & python3.

- add compatibility.
- add termcolor.py.
- remove aliass(search), just use acs.
- detect python.
2021-06-11 19:45:05 -07:00
Nuno Goncalves a206271460
ssh-agent: improvements (#6309)
* ssh-agent: lock this script with a mkdir style mutex

This script is a kind of singleton pattern and is not reentrant.
If several shells are oppened in a fast sequence, then several
independent ssh-agents would be created, which is not acceptable.
A mutex is required.

Signed-off-by: Nuno Goncalves <nunojpg@gmail.com>

* ssh-agent: only start agent if .ssh dir exists

To use the same profile system-wide, it might happen
that the .ssh directory does not exist
(typically $HOME/.ssh/). This would trigger a error.

Creating the directory would be a option, but it
usually will not make sense to do so because it means
the user doesn't have ssh keys or config.

Signed-off-by: Nuno Goncalves <nunojpg@gmail.com>

* ssh-agent: adds lazy option to disable key loading on start

Option is documented on updated README.md

Signed-off-by: Nuno Goncalves <nunojpg@gmail.com>

* ssh-agent: simplify agent-forwarding checking

Signed-off-by: Nuno Goncalves <nunojpg@gmail.com>

Co-authored-by: Robby Russell <robby@planetargon.com>
2021-06-11 19:03:25 -07:00
Roc 02ce2c4a2f
add python alias (#7736) 2021-06-11 18:50:29 -07:00
Corey Hinkle 706b2f3765
feat(extract): add support for .ear files (#9901)
Co-authored-by: Corey Hinkle <corey.hinkle@five9.com>
2021-05-28 11:27:16 +02:00
Gustavo J. Acosta c95b4a393a
chore(chucknorris): fix typo (#9916) 2021-05-28 11:19:28 +02:00
Marc Cornellà 308b2314f8
fix(dirhistory): fix ALT+Left/Right key bindings for iTerm2 (#9940) 2021-05-28 10:47:02 +02:00
rhuitl 7ab15bee03
feat(dirhistory): add ALT+UP/DOWN key bindings for iTerm2 (#8502) 2021-05-21 22:00:58 +02:00
Marc Cornellà 1bda62dffa
feat(shrink-path): add ability to toggle off path shrinking (#9794) 2021-05-21 21:57:34 +02:00
Babak K. Shandiz d646884add
feat(git): add aliases `gcas` and `gcasm` for commit with sign-off (#8881) 2021-05-03 17:35:13 +02:00
Ben Goldberg 4e8ffe88d4
fix(cargo): complete flags for default cargo aliases (#9692)
By default, cargo provides alias for some commonly used functions. This patch
makes it that those alias will complete the same as their full commands.

Default alias:
b -> build
c -> check
t -> test
r -> run

Since cargo allows users to define custom alias it would be nice if
oh-my-zsh automatically detected those and preformed completions as such
but that would be a much more complex patch.
2021-05-03 16:59:45 +02:00
sevendials f4de8c5b3a
fix(command-not-found): remove invalid argument for PackageKit (#9876)
`pk-command-not-found` doesn't accept `--` as an argument. This is what happens when `--` is the first argument:

```
$  gem
zsh: --: command not found...
```
2021-05-03 16:49:41 +02:00
kalle (jag) 70ab2928a5
feat(plugins): add `gh` plugin for GitHub CLI (#9557) 2021-05-03 16:35:28 +02:00
Carlo Sala 63a7422d8d
fix(deno): actually load deno completion (#9863) 2021-04-26 11:54:53 +02:00
Eric Rodrigues Pires 0655241fa6
fix(kubectl): use `--current` flag in `kcn` alias (#7605) 2021-04-25 19:56:59 +02:00
Carlo Sala 6cc12e031e
feat(plugins): add plugin for `deno` (#9847)
Co-authored-by: Kapil Pau <kapilpau@hotmail.com>
Co-authored-by: CallMeLaNN <CallMeLaNN@users.noreply.github.com>
2021-04-25 19:14:05 +02:00
Sherwin Heydarbeygi 7ed8888c5b
feat(npm): add aliases for `npm search` and `npm info` (#9365) 2021-04-25 19:08:51 +02:00
Petr Rajtslegr 32532c149a
feat(npm): add alias for `npm update` (#9442) 2021-04-25 19:07:25 +02:00
Mauro Porras 1cc15ca3c2
feat(npm): add alias for `npm i -f` (#8454)
As documented in the README, `npm i -f` forces npm to install the specified packages from a remote
package registry, even if local copies exist on disk caches.
2021-04-25 19:02:39 +02:00
Ian G Canino 48a3c2f32d
feat(fzf): look in XDG compliant location (#9858) 2021-04-23 20:28:42 +02:00
Wolfgang Ladermann 1916a31153
feat(systemadmin): add IPv6 info to `geteip` command (#9856) 2021-04-23 16:23:26 +02:00
Chuck e9f805a3ca
docs(rails): reflect changes to aliases (#9809) 2021-04-11 16:20:11 +02:00
Mario A 6ae78695ef
feat(command-not-found): add support for Termux (#9666) 2021-04-09 21:42:11 +02:00
Marc Cornellà b54a6dab9c
refactor(command-not-found): clean up and reorganize logic 2021-04-09 21:22:25 +02:00
Daniel Wang 8b55fb3b60
feat(command-not-found): add support for Homebrew on Apple M1 (#9797) 2021-04-09 21:22:24 +02:00
Jeff M. Hubbard 9f8801bea6
feat(archlinux)!: remove deprecated commands `aur` and `abs` (#9803)
BREAKING CHANGE: the various update aliases will no longer run `abs` and `aur`, which are either
deprecated or nonexistent. See https://archlinux.org/news/deprecation-of-abs/ for more.
2021-04-09 20:48:24 +02:00
ilter 3f50482674
feat(react-native): add aliases for iPhone 12 (#9792) 2021-04-07 19:53:48 +02:00
ratijas b94bdf8927
feat(archlinux): add support for aura AUR helper (#9467) 2021-04-06 14:51:40 +02:00
Septs 2e487b187e
feat(shell-proxy): enable unexported `DEFAULT_PROXY` setting (#9774) 2021-04-06 14:49:03 +02:00
ratijas 790f185e0f
refactor(archlinux): fix name & scripts; reorder aliases (#9546)
Co-authored-by: Marc Cornellà <hello@mcornella.com>
2021-04-06 12:28:22 +02:00
Stéphane Caron 2d40b562e5
fix(dirhistory): make sure to call built-in zle widgets (#9771)
Without this patch, if the called zle widgets have been redefined this plugin might come into
conflict. Related: #9770.
2021-04-01 00:35:28 +02:00
Marc Cornellà 2b1d412279
fix(git): add `push` or `save` to `gstu` alias (#9766)
Fixes #9766
2021-03-31 11:25:26 +02:00
Marc Cornellà 6e56784179
fix(virtualenv): allow empty prefix/suffix in prompt function (#9763)
Fixes #9763
2021-03-28 15:01:39 +02:00
Luiz Pericolo d8b3e115e9
feat(plugins): add hitchhiker plugin (#5117) 2021-03-27 22:25:22 +01:00
Marc Cornellà 02d07f3e3d
fix: use `$USERNAME` guaranteed to always be defined in zsh
Fixes #9701
2021-03-25 12:08:00 +01:00
CrispyConductor 3f34ce4da4
fix(vi-mode): fix keymap indicator on zle-line-finish (#9620)
* Update VI_KEYMAP on zle-line-finish.  Fixes next prompt draw.

* Also fix vi-mode prompt redraw in case previous prompt was canceled

* Do not redraw fix prompt if VI_MODE_RESET_PROMPT_ON_MODE_CHANGE is unset

* Use a local variable instead of global in function
2021-03-15 23:32:49 +01:00
wahjava e5d206c8c8
fix(fossil): PROMPT and RPROMPT are no longer exported (#9655)
Fixes #9654
2021-03-15 23:27:57 +01:00
Will Boyce 0e232d4853
feat(ssh-agent): add `ssh-add-args` setting (#7908)
* ssh-agent: add `:omz:plugins:ssh-agent ssh_add_args` option

* Clean up and document extra setting

* Document valid ssh-add arguments

Co-authored-by: Marc Cornellà <hello@mcornella.com>
2021-03-15 22:51:33 +01:00
Dario Vladović 90bdb8a156
feat(fzf): add support for Termux package (#9718) 2021-03-15 22:34:47 +01:00
Piotr Rogoża 9d556cd545
fix(emotty): fix `bad assignment` error (#9714) 2021-03-15 22:27:00 +01:00
John Delgado 040aadf7c4
feat(git): add `grbo` alias for `git rebase --onto` (#8088) 2021-03-15 20:06:01 +01:00
Vlad Korolev 0ab87c26c1
fix(terraform): use faster method to get workspace (#9709)
Also add tf_prompt_info to the list of prompt functions so theme writers are aware of it
2021-03-08 10:46:42 +01:00
Gustavo Bazan 9a9f383192
feat: add mongocli plugin (#9248) 2021-02-20 22:29:54 -08:00
Vikas Raj 27bf831843
[docker-compose] Added alias for docker-compose up --build (#8843)
* [docker-compose] Added alias for docker-compose up --build

Sometimes building images before starting the containers comes in handy.

Alias: `dcupb`
Command: `docker-compose up --build`

* Updated docker-compose/README.md

Added the alias definition in the readme

Co-authored-by: Robby Russell <robby@planetargon.com>
2021-02-20 22:27:27 -08:00
Kartikey Tanna 7a8d89688d
Replce 'rake routes' task with 'rails rotues' (#9662)
* Replce 'rake routes' task with 'rails rotues'

Fixes https://github.com/ohmyzsh/ohmyzsh/issues/9661

* Modified 'rake routes|grep' to use rails
2021-02-20 22:24:21 -08:00
iammordaty f21e646ce6
refactor(git-flow): remove duplicate `gflfp` alias (#9640)
Fixes #9638
2021-02-09 15:00:10 +01:00
Aidin Gharibnavaz f75f8bb930
docs(git-prompt): explain stashed icon (⚑) (#9619)
Stashed icon was added in #4880
2021-01-27 17:28:04 +01:00
Marc Cornellà efcbd9f348 fix(vi-mode): ignore `clip*` function errors in yank and put widgets
Fixes #9605
2021-01-16 22:55:17 +01:00
bullno1 53aefc52e2 feat(plugins): add `zbell` plugin to notify when commands end (#3034)
Closes #3034
2021-01-16 21:43:21 +01:00
deathjest3r 6b0557afe8
feat(plugins): add `term_tab` plugin to complete other zsh sessions' directories (#3018) 2021-01-16 21:27:32 +01:00
Marc Cornellà f484f88b42 fix(debian): add quotes to `kclean` alias (#3066)
Co-authored-by: la-magra <via.magra@gmail.com>
2021-01-16 19:58:29 +01:00
Arnaud Thimel 47c04d921e feat(git-prompt): display stash count in prompt 2021-01-15 19:03:29 +01:00
Arnaud Thimel 63477411eb feat(git-prompt): display untracked files count
Closes #8435
Closes #4880
2021-01-15 19:02:57 +01:00
Ruslan Sayfutdinov a3bdff694a
fix(colorize): bypass less aliases in `colorize_less` (#9593) 2021-01-14 18:26:40 +01:00
wilkis 869eb20913
feat(last-working-dir): log separate `lwd`s for different SSH keys on the same user account (#9534)
Co-authored-by: Marc Cornellà <hello@mcornella.com>
2021-01-12 20:40:27 +01:00
Søren Nielsen fae34b383d
feat(macports): add 'reclaim' to completion list for Macports (#9521)
The sub-command `reclaim` is quite useful for freeing up disk space.
`reclaim` is a useful command that is missing from the list of completions in the plugin.

The description is for the `reclaim` sub-command is:
"port reclaim will find files that can be removed to reclaim disk space by uninstalling inactive ports on your system as well as unnecessary unrequested ports, and removing unneeded or unused installation files. The user is then provided interactive options for files to remove. No files are removed initially, until the user selects them from the provided list."

For all the details use this command on a system with Macports installed:

`port help reclaim`
2021-01-11 20:26:37 +01:00
TIT 6b8b6253d2
fix(jake-node): support all Jakefile filenames in `jake` completion (#9589) 2021-01-11 19:53:12 +01:00
Marc Cornellà 3635d7cf7e fix(universalarchive): make plugin zsh-only to fix `realpath` not found error
Fixes #9586
2021-01-10 18:34:18 +01:00
Konfekt 492f712df2
feat(plugins): add `universalarchive` plugin to conveniently compress files (#6846)
Co-authored-by: Marc Cornellà <marc.cornella@live.com>
2021-01-05 18:53:29 +01:00
Marc Cornellà 2118d35e01 fix(vi-mode)!: add back edit-command-line key binding as 'vv' (#9573)
BREAKING CHANGE: the key binding to open an editor to edit the command line has
been moved from being `v` (press v once) to being `vv` (press v twice). Now, the
action for `v` is the default `visual-mode`, as is in Vim.

Fixes #9573
2021-01-04 21:41:11 +01:00
Marc Cornellà 79980b00fb fix(vi-mode): hide cursor-change logic behind `VI_MODE_SET_CURSOR` setting
Fixes #9570
2021-01-04 21:31:07 +01:00
Marc Cornellà 94ce46d48b docs(vi-mode): revamp README and document settings 2021-01-04 21:31:07 +01:00
Gabriel Corral 66e0438d47
fix(archlinux): update URL and key server in `pacmanallkeys` (#9569)
- Added follow redirects curl flag to fix the 301 response
- Updated trusted users URL format
- Changed from `pgp.mit.edu` keyserver to `keyserver.ubuntu.com` keyserver
2021-01-03 13:58:52 +01:00
Marc Cornellà 0e833b622b refactor(vi-mode): remove duplicate bindkey logic and fix syntax 2021-01-02 23:59:55 +01:00
Robert Estelle 98762faa07
fix(vi-mode): control cursor, restore and use visual mode and speed up mode changes (#8004) 2021-01-02 22:41:57 +01:00
Paul Robert Lloyd 4298e89b4b
docs(nvm): clarify how to enable settings (#9542)
It wasn’t clear where I should set the `NVM_AUTOLOAD` variable. The clue was to be found in [the docs for another plugin](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/fzf). It seems setting values need to come before Oh My Zsh is sourced.

Updated read me to reflect this, and the fact that one of the settings mentioned is specific to nvm, not this plugin.
2021-01-02 14:04:34 +01:00
Peter Babič 0f6aa0182c feat(git): add grst alias for `git restore --staged` (#8932)
Closes #8932
2021-01-01 18:23:42 +01:00
YantaoZhao 3d6db32610
feat(docker): update completion to upstream version (#9470) 2021-01-01 18:11:01 +01:00
hjpotter92 0e7c81316c
feat(grc): source `grc.zsh` instead of hard-coding its content (#9553)
Co-authored-by: Marc Cornellà <marc.cornella@live.com>
2020-12-31 11:07:28 +01:00
Josh E. Roberts a251233bec
fix(brew)!: update `bcubc` alias to use `brew upgrade --cask` (#9501)
BREAKING CHANGE: changes deprecated `brew cask reinstall $(...)` alias to use
`brew upgrade --cask` instead. If you don't have this command, run `brew update` to
get the latest Homebrew CLI version.

Co-authored-by: jakepez <jake@findjake.com>
2020-12-30 19:56:56 +01:00
Marc Cornellà 90ffda7ed2 fix(genpass): use `log()` instead of `log2()` for zsh < 5.6 (#9548)
Fixes #9548
2020-12-27 20:51:39 +01:00
Roman Perepelitsa b28665aebb
fix(genpass): improve performance and usability and fix bugs (#9520)
*Bugs*

The following bugs have been fixed:

- All generators ignored errors from external commands. For example,
  if `/usr/share/dict/words` was unreadable, `genpass-xkcd` would
  print "0-" as a password and return success.
- All generators silently ignored the argument if it wasn't a number.
  For example, `genpass-apple -2` was generating one password and
  not printing any errors.
- All generators silently ignored extra arguments. For example,
  `genpass-apple -n 2` was generating one password and not printing
  any errors.
- `genpass-xkcd` was generating passwords with less than 128 bits of
  security margin in contradiction to documentation. The smaller the
  dictionary size, the weaker the passwords it was generating. For a
  dictionary with 27 words, `genpass-xkcd` was generating passwords
  with 93 bits of security margin (`log2(27!)`).
- The source of random data used by `genpass-xkcd` was not
  cryptographically secure in contradiction to documentation. See:
  https://www.gnu.org/software/coreutils/manual/html_node/Random-sources.html
- `genpass-apple` could generate a password with non-ascii characters
  depending on user locale. For example, passwords could contain 'İ'
  for users with Turkish locale.
- `genpass-apple` didn't work with `ksh_arrays` shell option.
- `genpass-xkcd` was printing spurious errors with `ksh_arrays` shell
  option.
- `genpass-xkcd` was producing too short (weak) or too strong (long)
  and/or printing errors when `IFS` was set to non-default value.
- All generators were printing fewer passwords than requested and
  returning success when passed a very large number as an argument.

*Usability*

Generators are now implemented as self-contained executable files.
They can be invoked from scripts with no additional setup.

Generators no longer depend on external commands. The only dependencies
are `/dev/urandom` and, for `genpass-xkcd`, `/usr/share/dict/words`.

All generators used to silently ignore all arguments after the first
and the first argument if it wasn't a number. For example, both
`genpass-apple -2` and `genpass-apple -n 2` were generating one password
and not printing any errors. Now these print an error and fail.

*Performance*

The time it takes to load the plugin has been greatly reduced. This
translates into faster zsh startup when the plugin is enabled.

Incidentally, two generators out of three have been sped up to a large
degree while one generator (`genpass-xkcd`) has gotten slower. This is
unlikely to matter one way or another unless generating a very large
number of passwords. In the latter case `genpass-xkcd` is now also
faster than it used to be.

The following table shows benchmark results from Linux x86-64 on i9-7900X.
The numbers in the second and third columns show how many times a given
command could be executed per second. Higher numbers are better.

command                     | before (Hz) | after (Hz) | speedup |
----------------------------|------------:|-----------:|--------:|
`source genpass.plugin.zsh` |        4810 |      68700 |  +1326% |
`genpass-apple`             |        30.3 |        893 |  +2846% |
`genpass-monkey`            |         203 |       5290 |  +2504% |
`genpass-xkcd`              |        34.4 |       14.5 |    -58% |
`genpass-xkcd 1000`         |       0.145 |      0.804 |   +454% |
2020-12-16 16:57:59 +01:00
Patrick Harrison 2db42c6ce7 fix(genpass): add compatibility for macOS paste command
"paste" on macOS requires a '-' to signify that the standard input is used.
Without the '-' character, the command errors out.
2020-12-14 15:52:32 +01:00
Marc Cornellà 076f7f1eb1 fix(genpass): warn if no wordlist is found 2020-12-14 15:52:30 +01:00
Patrick Harrison 619097cc2a fix(genpass): check for presence of shuf command.
"shuf" is not a standard command on MacOS and requires installation of the brew coreutils package
2020-12-14 15:52:14 +01:00
Matt Lewin 2a0ae3315d
fix(genpass): fix grep regex in `genpass-xkcd` for FreeBSD version (#9514) 2020-12-13 22:28:22 +01:00
Aaron Toponce f8e9339c87
fix(genpass): only use words with ASCII characters in `genpass-xkcd` (#9508) 2020-12-13 01:20:41 +01:00
Aaron Toponce 9d6b3984f9
feat(plugins): add genpass plugin with 3 distinct password generators (#9502) 2020-12-12 12:50:45 +01:00
Marc Cornellà 9181954255 fix(composer): autoload `_cache_invalid` for antigen compatibility
Antigen doesn't call `compinit` until the user prompt is about to be shown,
which means `_cache_invalid` isn't automatically autoloaded. This patch
fixes that, though we should work towards a better caching mechanism.

Fixes #9490
2020-12-11 16:54:22 +01:00
Marc Cornellà 79d0182a26 refactor(hanami): change global aliases and clean up README 2020-12-10 20:38:19 +01:00
Marc Cornellà e4082a951f
fix(common-aliases)!: don't overshadow `fd` if installed (#9162)
BREAKING CHANGE: in `common-aliases`, the `fd` alias won't be defined if `fd` is installed (https://github.com/sharkdp/fd).
2020-12-09 23:17:53 +01:00
Marc Cornellà 5feb2b6742 Document fd alias change in README 2020-12-09 23:11:31 +01:00
Rohit Goswami fbee1ff8bd
fd: Rework command to be more idiomatic
Co-authored-by: Marc Cornellà <marc.cornella@live.com>
2020-12-10 01:50:01 +05:30
Mark Mercado e5af22cca6
feat(plugins): add grc plugin for Generic Colouriser (#9315)
Co-authored-by: Marc Cornellà <marc.cornella@live.com>
2020-12-09 17:59:12 +01:00
Joseph Heyburn e2f2489a66
fix(git): silently fail in `git_main_branch` if not in a git repo (#9484)
Co-authored-by: Marc Cornellà <marc.cornella@live.com>
2020-12-08 18:25:42 +01:00
ratijas 865d2d8a53
refactor(archlinux): prevent leaking local variables (#9476)
Co-authored-by: Marc Cornellà <marc.cornella@live.com>
2020-12-07 22:00:25 +01:00
Veesar e48be7dfc8
feat(wp-cli): add aliases for DB management (#9469) 2020-12-07 21:23:55 +01:00
赵崇延 fa1911f89e
fix(command-not-found): show error in Ubuntu when no package is found (#9418) 2020-12-05 15:42:45 +01:00
Stimim Chen 1ac40cd445
fix(git-prompt): make `gitstatus.py` python3-compatible (#9186)
check_output() in get_tagname_or_hash() returns bytes instead of str in
python3.  Decode the return value to utf-8, this works in both python2
and python3.

Co-authored-by: Stimim Chen <stimim@google.com>
2020-12-03 12:00:56 +01:00
Marc Cornellà 05e2956dc6
fix(git-auto-fetch): background `git-fetch-all` and other fixes (#9468) 2020-11-26 22:27:07 +01:00
Marc Cornellà d88887195f
fix(magic-enter): fix various bugs in the plugin (#9466) 2020-11-25 20:14:28 +01:00
Eugéne Roux 7a76afd61e
style(ansible): minor style change (#8356) 2020-11-22 15:42:39 +01:00
Mohamed El Mouctar Haidara 88b3f028f4
feat(terraform): add autocompletion for Terraform 0.13 (#9226) 2020-11-20 18:45:31 +01:00