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 lwds 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