Commit graph

3647 commits

Author SHA1 Message Date
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
Marc Cornellà 7d73908223
fzf: add check for OpenSUSE and OpenBSD packages (#9327) 2020-10-20 23:48:59 +02:00
Marc Cornellà 176376cbc0 kubectl: check for empty cache completion file 2020-10-17 23:14:58 +02:00
IsThisTheMatrix 5b717ab3e4
kubectl: verify kubectl is installed before running compdef (#9346) 2020-10-16 00:52:34 +02:00
Marc Cornellà 53cbd658f5 globalias: use ${(z)var} to split into words using shell parsing 2020-10-14 17:23:03 +02:00