Commit Graph

3669 Commits

Author SHA1 Message Date
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