Commit Graph

3856 Commits

Author SHA1 Message Date
Ž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
Septs d57131dc49
fix(shell-proxy): change NAME env variable for WSL clash (#9447) 2020-11-20 12:42:51 +01:00
Felipe Contreras e92a4667cb
feat(gitfast): update to git-completion 1.2 (#9458)
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
2020-11-19 19:45:19 +01:00
Roman Danyk ce836647e5
feat(aws): respect optional parameters from the AWS CLI config file (#9453) 2020-11-19 17:24:09 +01:00
ratijas 9b119866dd
refactor(colored-man-pages): move nroff wrapper and refactor logic in `colored` function (#9437) 2020-11-12 19:32:17 +01:00
Alisson B. Santos 51772732f5
feat(git): support trunk branches in `git_main_branch` (#9417) 2020-11-12 16:17:28 +01:00
Subhaditya Nath 874d83f7b8
feat(sudo): support aliases to $EDITOR (#9431)
Co-authored-by: Marc Cornellà <marc.cornella@live.com>
2020-11-11 21:25:32 +01:00
Rob Vadai 1beac5958e
docs(aws): add config examples (#9422) 2020-11-11 16:14:57 +01:00
Marc Cornellà dc4692b53e
fix(aws): fix acp function for MFA without role and other fixes (#9426)
* fix(aws): don't duplicate aws_prompt_info function in RPROMPT

* refactor(aws): clean up logic in acp function and fix session duration input

Fixes #9409
2020-11-10 23:20:51 +01:00
Nacho González-Garilleti fc82aff77c
docs(thefuck): add description for enabling the plugin (#9433)
Add a description about adding thefuck to the plugins list
2020-11-10 17:15:54 +01:00
aimuz 5d8e1f8267
fix(battery): use `pmset` for battery percentage in macOS (#9364)
Returns the battery charge consistent with the system battery manager
2020-11-10 17:14:30 +01:00
Elyézer Rezende fa780867d9
fix(fzf): consistently ignore .git directory in `FZF_DEFAULT_COMMAND` (#9421)
Be consistent and ignore contents of `.git` directory no matter how FZF_DEFAULT_COMMAND is set.
2020-11-09 12:09:10 +01:00
Maksym 3e6ee85a16
fix(aws): support MFA for profiles without role to assume (#9411)
Previously, the plugin only supported MFA for profiles that had a role to assume, specified in role_arn. Now, the plugin supports MFA for profiles without a role to assume.

Closes #9408

* refactor(aws plugin): remove dependency on jq

Previously, acp command relied on jq. Now that dependency has been removed, as well as some linter suggestions implemented.
2020-11-04 22:10:22 +01:00
Maksym 852a44094a
aws: split setting profile from changing profile (#9402)
the change to assume a role when it is specified in configuration broke some workflows. This fix addresses that

Fixes #9394
2020-10-29 22:13:36 +01:00
Setu Shah 77f7457051
aws: get and set session token if available (#9397) 2020-10-29 11:55:41 +01:00
spreiter 47d30784c5
colorize: add compatibility for zsh < 5.1 (#9400)
The direct assignment of a local array is not possible in older ZSH version, as used by RHEL/CentOS 7.
2020-10-29 11:54:29 +01:00
Felipe Contreras d055445625
gitfast: fetch latest fixes from git-completion (#9390)
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
2020-10-27 11:14:39 +01:00
Maksym fcb6fa78a1
aws: add role delegation and MFA support as per IAM Best Practices (#8419)
* Added role delegation support and MFA support as per IAM Best Practices

* fix: grep with color enabled breaks profile parsing

* fix: compatible with MacOS basic sed

* docs: Added jq as a dependency

* feat: added variable session duration, if the role to be assumed permits it.

* bug: incorrect assigment for session length

* fix: profile extraction failed with some versions of sed

Fixed the issue that resulted from merging upstream changes to allow "." in the profile name

* fix: broken profile parsing when profile name contains "@"
2020-10-24 23:07:49 +02:00
Felipe Contreras 66f9fdabc1
gitfast: improve command aliases (#9385)
So that compdefs with dashes work as well as underscores:

  compdef _git gc=git_commit

Or:

  compdef _git gc=git-commit

The official Zsh Git completion uses dashes, and this way people don't
have to change their existing definitions.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
2020-10-24 16:33:43 +02:00
Felipe Contreras a32564e0ae
gitfast: update to latest upstream and more (#9382) 2020-10-24 14:12:23 +02:00
Marc Cornellà 3b1699b595
npx: deprecate plugin
Fixes #9366
2020-10-21 20:01:10 +02:00
Lucas Larson 80d2e4336b
Grammar: remove hyphens from predicate adjective “up to date” (#9356)
https://english.stackexchange.com/a/180617
https://web.archive.org/web/20190728053012id_/grammarist.com/usage/up-to-date/#text-60
2020-10-21 16:22:32 +02:00
Wenli Wan bf5574fc93
kubectl: add aliases for serviceaccount, daemonsets and cronjob (#9344) 2020-10-21 16:09:54 +02:00