Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Fix #419] start gpg-agent also with ssh-support off #423

Closed
wants to merge 5 commits into from
Closed

[Fix #419] start gpg-agent also with ssh-support off #423

wants to merge 5 commits into from

Conversation

nasenatmer
Copy link
Contributor

I committed the fix by @fwalch in [#419] and added a note on the variables exported by this module into the README.md

and add a note on the variables exported by this module
@sorin-ionescu
Copy link
Owner

Que? Complete sentences por favor.

@nasenatmer
Copy link
Contributor Author

Few, had a hard time squashing the commits to enhance the README, but that seems solved now. Back to business, the BSD-ps issue will need some serious shell magic. I guess checking for the PID (as done in Arch's gpg-agent.sh) might be the right answer to that. I'll hopefully get to that soon.

This is necessary to ensure that the `PID` found in `$_gpg_env`
actually belongs to `gpg-agent` and not some other process.
@sorin-ionescu
Copy link
Owner

I have decided to rewrite this module.

@ColinHebert
Copy link
Contributor

While rewriting this module, could you add the support of pinentry in CLI?

http://support.gpgtools.org/discussions/everything/1891-how-to-perform-gpg-decrypt-on-command-line-instead-of-gui-asking-for-passphrase

@sorin-ionescu
Copy link
Owner

@ColinHebert Whatever pinentry is (it has no README file), the link reports that export PINENTRY_USER_DATA="USE_CURSES=1" doesn't work. That said, both gpg and gpg2, installed via homebrew show me the ncurses prompt.

@ColinHebert
Copy link
Contributor

pinentry is the application in which the GPG password will be typed: http://www.gnupg.org/related_software/pinentry/

There are multiple pinentry applications depending your needs (with a GUI, CLI, for gnome, KDE, MacOS).
When using GPGtools (the MacOS bundle for GPG), the pinentry tends to be /usr/local/MacGPG2/libexec/pinentry-mac.app/Contents/MacOS/pinentry-mac which is a graphical one.

This means that an access from the CLI (through SSH for example) will open a window (at least try to do so) instead of asking the pin through the CLI.

export PINENTRY_USER_DATA="USE_CURSES=1" will allow to open a ncurses prompt instead (without manually changing the pinentry application.

This is working, the link I gave states it (a nightly release from 2012, which has since been properly release), see also http://support.gpgtools.org/kb/faq/how-to-enter-your-passphrase-directly-in-the-terminal

@sorin-ionescu
Copy link
Owner

Check it out 5a22c65. Let me know if it works.

@ColinHebert
Copy link
Contributor

I thought you would remove the write-env-file option altogether

@sorin-ionescu
Copy link
Owner

@ColinHebert Isn't pinentry more applicable to the osx module than gpg-agent?

@sorin-ionescu
Copy link
Owner

@ColinHebert I changed the env file path to its default location. Since there is no environment variable for it, I suspect other apps or programs will look for it there. It's designed for programs that are not started under the current tty to find the agent.

@ColinHebert
Copy link
Contributor

Honestly I do not know, I assumed that this option was the convention for every pinentry with a GUI but I do not know for sure.

@sorin-ionescu
Copy link
Owner

This module is called gpg-agent, not gpg. Both it and ssh-agent are relics from OMZ, which I've cleaned up before as best I could, but since I used neither, bugs remained. That said, I can rename gpg-agent to gpg and ssh-agent to ssh and allow them to be extend. In hindsight, it seems a bit silly to have modules dedicated to third party tools instead of the tool instead. There is no shortage of GPG and SSH tools.

@ColinHebert
Copy link
Contributor

I would agree except that the pinentry is determined by the GPG-agent. I'm not sure there would be much more to configure in the GPG module though.

@sorin-ionescu
Copy link
Owner

So rename the modules? Then add the pinentry ncurses?

@sorin-ionescu
Copy link
Owner

Actually, pinentry is a dependency of both gpg2 and gpg-agent.

@ColinHebert
Copy link
Contributor

Okay, so there is a few points I want to raise:

  • I think there is a mixup between gpg_agent_info (which contains something along the lines of /Users/username/.gnupg/S.gpg-agent:94832:1) and what is written in the env file which is something like:
    GPG_AGENT_INFO=/Users/username/.gnupg/S.gpg-agent:7284:1; export GPG_AGENT_INFO;
    SSH_AUTH_SOCK=/Users/username/.gnupg/S.gpg-agent.ssh; export SSH_AUTH_SOCK;
    SSH_AGENT_PID=7284; export SSH_AGENT_PID;
  • The env variables can either be obtained in a file (with the --write-env-file option) or from the stdout of gpg-agent if this one is started as a daemon.
  • The content of .gpg-agent-info should not be modified!
  • In our case, there is no need to write an env_file, change the chmod, source it and execute some exports, we could just execute the result of gpg-agent.
  • GPG-agent can be started only once, otherwise it will result in gpg-agent[7289]: a gpg-agent is already running - not starting a new one, it might be useful to try to try to run it anyway and handle the fact that it might fail (instead of doing things with egrep and ps

@nasenatmer
Copy link
Contributor Author

On 27/04/13 23:24, Sorin Ionescu wrote:

@ColinHebert Isn't pinentry more applicable to the osx module, then gpg-agent?

No, gnupg > 2.0 set the use of gpg-agent as obligatory. That said, it makes sense to have a module for gpg-agent, mainly for the reasons @ColinHebert t raised.

@sorin-ionescu
Copy link
Owner

@ColinHebert
Copy link
Contributor

Almost the entire module can (and should) be replaced with:

eval $(gpg-agent --daemon 2> /dev/null)

The only thing that could be useful here is adding --enable-ssh-support, there is no reason to do anything else (except for the pinentry obviously).

@sorin-ionescu
Copy link
Owner

What about the exports?

export GPG_TTY="$(tty)"
export SSH_AUTH_SOCK
export SSH_AGENT_PID

@sorin-ionescu
Copy link
Owner

Not on my system. I only see the first one: GPG_AGENT_INFO. What about GPG_TTY?

@nasenatmer
Copy link
Contributor Author

I don't understand why it would be renamed, cause clearly it's a module starting up gpg-agent, not gpg in itself.

@sorin-ionescu
Copy link
Owner

@ColinHebert, stupid me, I had ssh support turned off. Sorry. That leaves GPG_TTY.

@nasenatmer, now it does more. It controls pinentry. Also there is no reason not to add aliases for managing keys, encrypting and decrypting files.

@ColinHebert
Copy link
Contributor

I'm saying it would be better to use ps -U "$USER" -c -o command so you can remove the call to egrep and use grep 'gpg-agent' instead.

@sorin-ionescu
Copy link
Owner

Right, and -c on Linux ps says, show different scheduler information for the -l option.

@ColinHebert
Copy link
Contributor

Okay so for Linux using -c in conjunction with -o will indeed show:

Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
COMMAND
sshd-user
bash
ps

Fortunately Linux's ps supports the BSD syntax out of the box, so ps co command -U "$USER" will work on both BSD and Linux (it's also possible to do ps c -o command -U "$USER" but hey we should stick to one syntax).

cf. http://linux.die.net/man/1/ps

@sorin-ionescu
Copy link
Owner

ps co command U "$USER" doesn't work here. ps co command -U "$USER" does. While this takes care of Linux and BSD. There are many unixes out there. Occasionally, someone opens an issue about Solaris, for example.

@sorin-ionescu
Copy link
Owner

Since, $PINENTRY_USER_DATA is only set during an interactive shell session, either locally or via SSH, it should not affect GUI programs while keeping terminal interaction consistent.

@ColinHebert
Copy link
Contributor

Didn't you say you were using Mac OS Keychain to handle your SSH password? How is that different from wanting to use a graphical pinentry from the command line if you have a graphical environment nearby?

Personally I'm using the graphical pinentry when I have a graphical environment. The only time I can't use it is through SSH.

@ColinHebert
Copy link
Contributor

If you prefer to use the Linux syntax everywhere it's fine too, ps -U "$USER" -o comm should do the trick.

@ColinHebert
Copy link
Contributor

Or even better -o ucomm

@sorin-ionescu
Copy link
Owner

@ColinHebert The Mac OS X Keychain has never asked me for a SSH password. It just works. It seems to have special support, but whenever I mess with security find-generic-password, and I get a GUI dialogue, it iterates me, especially when I have the terminal in full screen. Terminal work should stay in the terminal and GUI work should stay in the GUI.

@ColinHebert
Copy link
Contributor

Hum that's because you unlock your Mac OS keychain only once (try to lock it manually and do anything SSH related).


Anyway, I'm not saying I'm right or that you aren't. I think both ways are valid.
As I said, if someone doesn't want the graphical pinentry at all, I would recommend to add export PINENTRY_USER_DATA='USE_CURSES=1' in zshenv so it applies all the time (at least every time pinentry is started from the CLI). BTW, there is no need to check for $GPG_TTY.

But imposing a personal preference when it isn't necessary is in my opinion not a good thing.

Setting it only when SSH is enabled doesn't aim to apply a personal preference, it aims to have a decent behaviour in a case were it is known that not using curses will simply not work.
Whatever you prefer for your environment, there is no chance anyone would want the GUI pinentry started when using SSH. Addressing that case and that case only leaves room for users to specify their own preferences later on.

@nasenatmer
Copy link
Contributor Author

Hm I can't contribute much to the discussion about the different ps options, asking myself what happens in that line after egrep:

ps -U "$USER" -o 'command' | egrep -q '^gpg-agent( |$)' \

But regarding the question of PINENTRY_USER_DATA, maybe we should rather add a line in the README? I mean it would be a bit funny as people can just RTFM, but I see the point of @ColinHebert and as I reported earlier, at least here, USE_CURSES=1 didn't have any effect anyways. So instead of taking on the responsibility of providing environments that are supposed to work we could thereby rather leave it to the users to care about that themselves…

@sorin-ionescu : I'll test a2abb74 tomorrow and give you feedback then.

@sorin-ionescu
Copy link
Owner

Sometimes the environment variable does not work. You'll have to add pinentry-program /usr/bin/pinentry-curses to gpg-agent.conf.

@nasenatmer
Copy link
Contributor Author

But that would mean setting it permanently when I only want pinentry-curses when I work in the CLI. Here's how I understodd it:
There's a default pinentry which in Arch is defined by a symlink from /usr/bin/pinentry → /usr/bin/pinentry-gtk-2. I can additionally set that in gpg-agent.conf if I want to be 100% sure and don't trust the package maintainers they don't change this symlink. If I set it to pinentry-curses in the conf, it'll obviously work with curses all the time.

However, I thought that the whole point of USE_CURSES=1 is that it would enable me to have pinentry set to gtk2 (for GUI programmes) by the symlink/or the conf and to curses by the USE_CURSES=1 switch.

@sorin-ionescu : how regularly is "sometimes"? If it is rather the norm then I think we shouldn't take on the responsibility for that and rather just mention it and that this sometimes is a bit wonky under Linux.

@ColinHebert
Copy link
Contributor

I found USE_CURSES=1 on gpgtools it might very well be something specific to that tool, I would expect pientry-gtk2 to be able to switch back to curses in some way though

@sorin-ionescu
Copy link
Owner

@nasenatmer The GUI pinentry is default. It is so because it's more secure. It captures the keyboard so that there is no fake entry. The cursers version cannot do that. There are many pinentry implementations, which may or may not respect that environment variable. So, it depends on the PGP implementation.

I want GUI pinentry for GUI programs and curses pinentry for CLI programs. @ColinHebert wants GUI pinentry for all programs except during SSH.

@ColinHebert
Copy link
Contributor

Something that may be interesting: GPGTools/pinentry-mac#2

@nasenatmer
Copy link
Contributor Author

@sorin-ionescu I think I'm with you there, however, if the pinentry behaviour is so different in various implementations shouldn't we try to stay independent from that and provide a solution that produces behaviour that we can predict to 99% and not every fancy possibility that is out there?

@sorin-ionescu
Copy link
Owner

What happens when you start a new tty in Linux, no X, and you do not have that environment variable set because it's only set during SSH connections? Does pinentry work?

@sorin-ionescu
Copy link
Owner

@nasenatmer I think we're there. The only debate remaining is to export or not to export that variable all the time during CLI.

@ColinHebert
Copy link
Contributor

From my reading it seems that on linux it doesn't rely on USE_CURSES=1 but on the $DISPLAY variable which is set by X.
So the default linux behaviour should be using the graphical one if a graphical environment is available (unfortunately I can't test that), if not the CLI version (probably using curses?) will be started (for shells not opened from X).

@ColinHebert
Copy link
Contributor

More here: http://superuser.com/questions/520980/how-to-force-gpg-to-use-console-mode-pinentry-to-prompt-for-passwords

PS: this echo RELOADAGENT | gpg-connect-agent could be useful too

@nasenatmer
Copy link
Contributor Author

@sorin-ionescu : As @ColinHebert said: If there's no $DISPLAY, pinentry will be launched in curses flavour.
Regarding the debate, then, I think I made my stance to that clear.

@sorin-ionescu
Copy link
Owner

@ColinHebert I think echo RELOADAGENT | gpg-connect-agent should be executed manually.

@sorin-ionescu
Copy link
Owner

@ColinHebert ssh-agent on Mac OS X 10.5 explains the custom behaviour on Mac. Attempting to replace ssh-agent with gpg-agent will probably cause problems.

@sorin-ionescu
Copy link
Owner

@ColinHebert It's possible to disable Apple's SSH extensions.

@sorin-ionescu
Copy link
Owner

Enough: ea5e6d7.

@nasenatmer
Copy link
Contributor Author

Great, looks good!

kodelint pushed a commit to kodelint/prezto that referenced this pull request Nov 15, 2016
add license header to lunchy compdef
Gee-Bee added a commit to Gee-Bee/prezto that referenced this pull request Jul 20, 2018
 Submodule changes to be committed:

 * modules/autosuggestions/external 15931f0...c7d4a85 (1):
   > Merge pull request sorin-ionescu#299 from zsh-users/develop

 * modules/base16/base16-shell 8643aca...9114596 (43):
   > Update LICENSE.md
   > Create LICENSE.md
   > Updates output
   > Merge pull request sorin-ionescu#143 from mattaw/master
   > Updates output
   > Updates output
   > Merge pull request sorin-ionescu#137 from julio-b/custom_hooks
   > Updates output
   > Fixes sorin-ionescu#131
   > Merge pull request sorin-ionescu#136 from diegs/seti-ui
   > Updates output
   > Merge pull request sorin-ionescu#128 from robbiewxyz/master
   > Merge pull request sorin-ionescu#125 from junzh0u/env_var
   > Merge pull request sorin-ionescu#124 from junzh0u/master
   > Merge pull request sorin-ionescu#123 from junzh0u/master
   > Merge pull request sorin-ionescu#119 from junzh0u/fish
   > Updates output
   > Merge pull request sorin-ionescu#117 from elnawe/master
   > Merge pull request sorin-ionescu#116 from elnawe/master
   > Scheme updates
   > Update README.md
   > Update README.md
   > Merge pull request sorin-ionescu#113 from blueyed/template-fixes
   > Merge pull request sorin-ionescu#108 from binaryplease/master
   > Merge pull request sorin-ionescu#107 from jeremejevs/master
   > Merge pull request sorin-ionescu#106 from danielrs/master
   > Merge pull request sorin-ionescu#104 from danielrs/master
   > Merge pull request sorin-ionescu#99 from nomoon/zsh_plugin
   > Merge pull request sorin-ionescu#92 from coderonline/master
   > Merge pull request sorin-ionescu#96 from danielrs/master
   > Updates output
   > Update default.mustache
   > Updates output
   > Adds fix from old builder
   > Updates output
   > Merge pull request sorin-ionescu#90 from ghprince/force_clobbering
   > Merge pull request sorin-ionescu#89 from tylerball/vimrc-background-newlines
   > Merge pull request sorin-ionescu#87 from tylerball/dont-overwrite-colorscheme
   > Updates themes
   > Merge branch 'master' of ssh://github.com/chriskempson/base16-shell
   > Merge branch 'master' of ssh://github.com/chriskempson/base16-shell
   > Updates builder output
   > Updates output

 * modules/completion/external c2dde89...70a7a5c (158):
   > Merge pull request sorin-ionescu#545 from dkarter/patch-1
   > Merge pull request sorin-ionescu#542 from svvac/patch-1
   > Merge pull request sorin-ionescu#538 from okapia/master
   > Merge pull request sorin-ionescu#537 from danteu/master
   > Merge pull request sorin-ionescu#536 from bezhermoso/tmuxp
   > follow normal zsh case conventions in some functions
   > review the howto guide
   > Revert "experiment for testing gcloud completion"
   > experiment for testing gcloud completion
   > Also add gitter badge
   > Fix link to #zsh-completions
   > Add link to Void Linux package
   > Remove license header from compdefs I wrote (switching to the Zsh license)
   > Change default license to the Zsh license (as discussed on zsh-workers mailing-list)
   > Merge pull request sorin-ionescu#532 from nicolasdespres/caffeinate
   > Merge pull request sorin-ionescu#531 from hlx98007/master
   > Merge pull request sorin-ionescu#530 from tomonacci/fix-ibus-positional-arguments
   > Merge pull request sorin-ionescu#526 from anderkonzen/mix_improvements
   > Merge pull request sorin-ionescu#525 from jeffwidman/patch-1
   > Merge pull request sorin-ionescu#524 from dark-panda/pgsql-enhancements
   > Merge pull request sorin-ionescu#523 from kapsh/yaml_ext
   > Merge pull request sorin-ionescu#522 from tomonacci/feature-xsel
   > Merge pull request sorin-ionescu#521 from tomonacci/feature-ibus
   > Merge pull request sorin-ionescu#517 from lenormf/_kak
   > Merge pull request sorin-ionescu#509 from Tuurlijk/master
   > Merge pull request sorin-ionescu#511 from yous/fix-bsd-sed
   > Merge pull request sorin-ionescu#512 from lenormf/_kak
   > Merge pull request sorin-ionescu#513 from jvwdev/master
   > Merge pull request sorin-ionescu#514 from kloetzl/fix-exclusion-list
   > Merge pull request sorin-ionescu#515 from kloetzl/add-sublime-text
   > Merge pull request sorin-ionescu#516 from kloetzl/add-resilio-sync
   > Merge pull request sorin-ionescu#507 from Dannyzen/master
   > Merge pull request sorin-ionescu#506 from knu/sed_-E
   > Merge pull request sorin-ionescu#501 from mtorromeo/rkt
   > Merge pull request sorin-ionescu#500 from mtorromeo/yarn
   > Merge pull request sorin-ionescu#499 from tejanium/master
   > Merge pull request sorin-ionescu#497 from ianks/master
   > Merge pull request sorin-ionescu#496 from patrick96/gist-read
   > Merge pull request sorin-ionescu#494 from i3wm/master
   > Merge pull request sorin-ionescu#489 from pelim/force-cli-completion
   > Merge pull request sorin-ionescu#491 from aschrab/openssl
   > Merge pull request sorin-ionescu#493 from arcan1s/master
   > Update repository infos
   > Merge pull request sorin-ionescu#490 from SmartFinn/ffind-completion
   > Merge pull request sorin-ionescu#488 from SmartFinn/patool-completion
   > Merge pull request sorin-ionescu#487 from ypid/ansible/debops_hosts_support
   > Merge pull request sorin-ionescu#470 from lenoch/yaourt-pkg-tar
   > Add RPM installation info
   > Merge pull request sorin-ionescu#483 from olejorgenb/udisksctl
   > Merge pull request sorin-ionescu#481 from olejorgenb/util-linux-column
   > Merge pull request sorin-ionescu#482 from olejorgenb/util-linux-paste
   > Merge pull request sorin-ionescu#479 from zsh-users/go-subdir-comp
   > Merge pull request sorin-ionescu#478 from kota65535/master
   > Merge pull request sorin-ionescu#476 from olejorgenb/patch-1
   > Merge pull request sorin-ionescu#474 from cjk/httpie-raw-json-file-paths
   > Merge pull request sorin-ionescu#472 from ViktorHaag/revert-471-ag-past-version-one
   > Merge pull request sorin-ionescu#471 from ViktorHaag/ag-past-version-one
   > README improvements/fixes
   > Add completion script for Software Collections (https://www.softwarecollections.org)
   > Merge pull request sorin-ionescu#469 from kastiglione/rg-types
   > Merge pull request sorin-ionescu#468 from kastiglione/rg-arrays
   > Merge pull request sorin-ionescu#466 from niko2342/git_journal_completion
   > Merge pull request sorin-ionescu#464 from pseyfert/cmake_module_path
   > Merge pull request sorin-ionescu#462 from arcizan/ripgrep
   > Merge pull request sorin-ionescu#461 from cmcaine/patch-1
   > Merge pull request sorin-ionescu#456 from JindrichPilar/trash-cli
   > Merge pull request sorin-ionescu#452 from pseyfert/cmake
   > Merge pull request sorin-ionescu#459 from blueyed/envdir
   > Merge pull request sorin-ionescu#453 from JindrichPilar/afew
   > Merge pull request sorin-ionescu#455 from JindrichPilar/archlinux-java
   > Merge pull request sorin-ionescu#458 from foudfou/master
   > adding cloudfoundry compdef
   > sorin-ionescu#207: remove compdefs without a license header
   > Merge pull request sorin-ionescu#449 from KrisShannon/dget
   > Merge pull request sorin-ionescu#448 from jkraemer/rails-test
   > Merge pull request sorin-ionescu#447 from olejorgenb/util-linux-lsblk
   > Merge pull request sorin-ionescu#442 from syohex/fix-go-tool-pprof
   > Merge pull request sorin-ionescu#440 from leoj3n/patch-2
   > Merge pull request sorin-ionescu#437 from syohex/trailing-space
   > Merge pull request sorin-ionescu#439 from leoj3n/patch-1
   > Merge pull request sorin-ionescu#443 from arcan1s/drop-docker-machine
   > sorin-ionescu#207: Add license header to _cmake, with explicit permission from Scott Kroll <skroll@gmail.com>
   > Merge pull request sorin-ionescu#435 from michaelmior/rsvm
   > Merge pull request sorin-ionescu#431 from lukechilds/patch-1
   > Merge pull request sorin-ionescu#429 from JonasGroeger/patch-1
   > sorin-ionescu#207: Add license header to @sorin-ionescu compdefs
   > Merge pull request sorin-ionescu#423 from markupboy/master
   > sorin-ionescu#207: add license headers to compdefs from zsh-users mailing list
   > sorin-ionescu#207: add license header to _google (with permission of @dadrc)
   > sorin-ionescu#207: delete heroku, no license header and author not reachable
   > Merge pull request sorin-ionescu#422 from vasilykraev/drush-license-update
   > Merge pull request sorin-ionescu#421 from g5pw/master
   > Merge pull request sorin-ionescu#420 from ilkka/patch-1
   > Merge pull request sorin-ionescu#419 from vhbit/patch-1
   > Merge pull request sorin-ionescu#418 from Soliah/master
   > Merge pull request sorin-ionescu#416 from peteryates/master
   > Merge pull request sorin-ionescu#415 from arcan1s/master
   > Merge pull request sorin-ionescu#410 from dserodio/docker-machine
   > Merge pull request sorin-ionescu#406 from superlukas/permissions
   > Merge pull request sorin-ionescu#405 from JindrichPilar/scrub
   > Merge pull request sorin-ionescu#403 from xen0l/ansible
   > Merge pull request sorin-ionescu#404 from netromdk/master
   > Merge pull request sorin-ionescu#401 from JindrichPilar/chattr
   > Merge pull request sorin-ionescu#400 from JindrichPilar/jrnl
   > Merge pull request sorin-ionescu#399 from fumikony/fumikony-patch-1
   > Merge pull request sorin-ionescu#398 from Cronos87/master
   > add completion function for rkt command
   > Merge pull request sorin-ionescu#393 from zsh-users/add-multirust
   > Merge pull request sorin-ionescu#392 from kastiglione/compilation-database
   > Merge pull request sorin-ionescu#396 from JindrichPilar/pixz
   > Merge pull request sorin-ionescu#395 from JindrichPilar/dad
   > Merge pull request sorin-ionescu#394 from JindrichPilar/ufw
   > Merge pull request sorin-ionescu#390 from mitukiii/license
   > Merge pull request sorin-ionescu#388 from JindrichPilar/cheat
   > Merge pull request sorin-ionescu#387 from JindrichPilar/diana_completion
   > Merge pull request sorin-ionescu#386 from Cronos87/master
   > Merge pull request sorin-ionescu#383 from pismute/master
   > Merge pull request sorin-ionescu#384 from black2754/openssl
   > Merge pull request sorin-ionescu#382 from zsh-users/remote-boot2docker
   > Merge pull request sorin-ionescu#381 from jozefizso/license_middleman
   > Merge pull request sorin-ionescu#380 from nono/license
   > Merge pull request sorin-ionescu#379 from arcan1s/master
   > Merge pull request sorin-ionescu#378 from black2754/openssl
   > Merge pull request sorin-ionescu#377 from lencioni/bower-license
   > Merge pull request sorin-ionescu#376 from mafrosis/supervisorctl
   > Merge pull request sorin-ionescu#375 from shtouff/feat-fleetctl
   > Merge pull request sorin-ionescu#374 from zv/patch-1
   > sorin-ionescu#305: Remove brew completion, already maintained in Homebrew project
   > sorin-ionescu#313: Remove docker completions, already maintained in docker project
   > Update contributing guidelines.
   > Remove some compdefs that are available directly in zsh
   > Merge pull request sorin-ionescu#373 from blueyed/xinput
   > Merge pull request sorin-ionescu#371 from tieubao/master
   > Merge pull request sorin-ionescu#370 from vitorgalvao/patch-1
   > Merge pull request sorin-ionescu#368 from WoLpH/master
   > Merge pull request sorin-ionescu#361 from zacchiro/master
   > Merge pull request sorin-ionescu#360 from vitorgalvao/patch-1
   > Merge pull request sorin-ionescu#357 from rxwen/android_option
   > Merge pull request sorin-ionescu#356 from zv/master
   > Merge pull request sorin-ionescu#351 from mikkeloscar/manage.py
   > Merge pull request sorin-ionescu#355 from mikkeloscar/go
   > Merge pull request sorin-ionescu#350 from mmckinst/missing_licenses
   > Merge pull request sorin-ionescu#347 from sarg/master
   > Merge pull request sorin-ionescu#346 from nesneros/master
   > Merge pull request sorin-ionescu#336 from danteu/master
   > Merge pull request sorin-ionescu#329 from NigoroJr/bundle-install-options
   > Merge pull request sorin-ionescu#328 from shtouff/feat-fleetctl
   > Merge pull request sorin-ionescu#288 from mafrosis/supervisorctl
   > Merge pull request sorin-ionescu#316 from itegebo/master
   > Merge pull request sorin-ionescu#304 from rjcoelho/master
   > Merge pull request sorin-ionescu#300 from supki/master
   > Merge pull request sorin-ionescu#298 from vincentbernat/fix/adb-completion
   > Merge pull request sorin-ionescu#297 from ncaq/master
   > Merge pull request sorin-ionescu#296 from patrikha/master
   > Merge pull request sorin-ionescu#287 from maxandersen/mvntychomodes
   > Merge pull request sorin-ionescu#284 from lineinthesand/patch-1
   > Merge pull request sorin-ionescu#282 from grosendorf/feature/knife-diff-completion
   > Merge pull request sorin-ionescu#281 from loranger/master

 * modules/history-substring-search/external 2c29543...47a7d41 (22):
   > Fix typo in README.md (sorin-ionescu#91)
   > support for installing as Oh-My-Zsh plugin (sorin-ionescu#87)
   > Merge pull request sorin-ionescu#86 from iroedius/master
   > Update README.md
   > Clean up global variable declarations
   > feat: add fuzzy search
   > README: add installation instructions for Homebrew
   > Merge pull request sorin-ionescu#67 from gezalore/master
   > README: upgrade to CommonMark; move <C-v> note up
   > Merge pull request sorin-ionescu#78 from RuRo/patch-1
   > Merge pull request sorin-ionescu#62 from alyssais/declare
   > Merge pull request sorin-ionescu#66 from disarmer/master
   > README: don't assume UP/DOWN arrows; configure it!
   > README: bind arrow keys after observing key codes
   > sorin-ionescuGH-44: fix "parameter not set" warning by `set -u`
   > README: fix markdown rendering on Github: - and _
   > README: format HISTORY as list; mention @gezalore
   > README: remove incorrect statement
   > Merge pull request sorin-ionescu#55 from gezalore/ensure_unique
   > sorin-ionescuGH-53: configure arrow keys for iTerm2 with cuu/d1
   > Merge pull request sorin-ionescu#51 from Eriner/master
   > drop oh-my-zsh config file: they supply their own

 * modules/prompt/external/agnoster 43cb371...3ad94b6 (3):
   > Fix additional prompt expansion in prompt_git
   > Merge pull request sorin-ionescu#29 from Cellophan/master
   > Merge pull request sorin-ionescu#11 from MichaelAquilina/python_virtualenv

 * modules/prompt/external/async b001fa5...001f40e (2):
   > Skip test_all_options on zsh 5.0.8
   > travis: Allow failures on zsh 5.0.2 and 5.0.8

 * modules/prompt/external/powerlevel9k d5ac173...afb7387 (229):
   > Documenting missing field  from sorin-ionescu#716.
   > Merge pull request sorin-ionescu#722 from lemarsu/master
   > Merge pull request sorin-ionescu#713 from magicalraccoon/patch-1
   > Merge pull request sorin-ionescu#686 from Corwynt/master
   > Merge pull request sorin-ionescu#685 from kenhys/disable-alias-grep
   > Updating build status to be `master` only.
   > Merge pull request sorin-ionescu#680 from dinhnv/pyenv-patched
   > Merge pull request sorin-ionescu#676 from iScrE4m/patch-2
   > Merge pull request sorin-ionescu#667 from akranga/master
   > Merge pull request sorin-ionescu#660 from brianmoran/ISS-650-pythonpath-in-prompt
   > Merge pull request sorin-ionescu#663 from MarcHauptmann/master
   > Merge pull request sorin-ionescu#656 from ylluminarious/remove-weird-glyphs
   > Merge pull request sorin-ionescu#651 from claycephas/more-documentation
   > Merge pull request sorin-ionescu#647 from sbutler2901/master
   > Merge pull request sorin-ionescu#643 from terencode/patch-1
   > Fixing `vcs.spec` tests after adding space.
   > Adding a space after VCS_BRANCH_ICON by default
   > Merge pull request sorin-ionescu#640 from simonvpe/master
   > Merge pull request sorin-ionescu#636 from ZeGentzy/master
   > Merge pull request sorin-ionescu#616 from trashbat/patch-2
   > Merge pull request sorin-ionescu#611 from Typositoire/fix/prompt_kubecontextlocal1
   > Merge pull request sorin-ionescu#608 from tippl/fix_load_segment
   > README: Quick typo fix.
   > README: Quick fix to MD formatting
   > Updating CHANGELOG for v0.6.4
   > Merge branch 'master' into next
   > Merge pull request sorin-ionescu#605 from tadeoos/next
   > Merge pull request sorin-ionescu#596 from eumiro/truncate_to_unique
   > Merge branch 'master' into next
   > Merge pull request sorin-ionescu#592 from tippl/dir_write-588
   > Merge pull request sorin-ionescu#581 from docwhat/pr/show-signals
   > Merge pull request sorin-ionescu#583 from docwhat/pr/rvm-575
   > Merge pull request sorin-ionescu#573 from AdrienHorgnies/feature/status-cross-ok-option-set
   > Merge pull request sorin-ionescu#541 from golgoth31/next
   > Merge pull request sorin-ionescu#569 from docwhat/pr/home-folder-abbr-test
   > Merge pull request sorin-ionescu#570 from docwhat/pr/docker-known-issues
   > Merge pull request sorin-ionescu#571 from docwhat/pr/merge-master
   > Merge pull request sorin-ionescu#567 from docwhat/pr/docker
   > Merge pull request sorin-ionescu#562 from docwhat/pr/cleanup-directory-detection
   > Merge pull request sorin-ionescu#554 from derekbassett/Prompt_Hang_Kubecontext_Minikube
   > Fixes for README and CHANGELOG re: `vpn` segment.
   > Updating CHANGELOG with new `vpn` segment
   > Merge pull request sorin-ionescu#539 from golgoth31/next
   > Updating README and CHANGELOG
   > add kubecontext test spec file to travis build
   > add tests
   > empty namespace value is 'default'
   > fix variable name typo
   > use p9k print_icon for kubecontext segment
   > added the current context prompt for your kubectl config
   > Merge branch 'master' into next
   > Moving some parts of README to the Wiki.
   > Merge branch 'host_user' of https://github.com/onaforeignshore/powerlevel9k into onaforeignshore-host_user
   > Merge branch 'host_user' of https://github.com/onaforeignshore/powerlevel9k into onaforeignshore-host_user
   > Merge branch 'next' of github.com:bhilburn/powerlevel9k into next
   > Merge branch 'master' into next
   > Updating the README to add a note about `teardown` feature.
   > Fixing typo in sorin-ionescu#525 to teardown `RPROMPT`
   > Merge branch 'pr/teardown' of https://github.com/docwhat/powerlevel9k into docwhat-pr/teardown
   > Incorporating @dritter's feedback from sorin-ionescu#524.
   > Merge branch 'pr/newline' of https://github.com/docwhat/powerlevel9k into docwhat-pr/newline
   > Merge pull request sorin-ionescu#515 from docwhat/pr/pipe-status
   > Merge branch 'master' into next
   > Merge pull request sorin-ionescu#521 from guixxx/devel
   > Merge branch 'master' into next
   > Updates to README and CHANGELOG for changes from sorin-ionescu#498.
   > Merge branch 'battery' of https://github.com/onaforeignshore/powerlevel9k into onaforeignshore-battery
   > Merge pull request sorin-ionescu#502 from shibumi/detect-virt-debugging
   > Updating CHANGELOG for v0.6.3.
   > Merge branch 'master' into next
   > Merge pull request sorin-ionescu#496 from belak/options-oddities
   > Merge branch 'master' into next
   > Fix double expansion of prompt variables
   > Merge pull request sorin-ionescu#484 from shibumi/svn-debugging
   > Merge branch 'master' into next
   > Converting timer start time to hex
   > Improve logic
   > Adds useful comment
   > Adds Android icon/battery plugin support
   > Merge pull request sorin-ionescu#461 from julienfalque/dir-home
   > Updating README to use @V1rgul's screenshot.
   > Merge pull request sorin-ionescu#463 from liblit/handle-echotc-Co-failure
   > Fixing Link to Step 2 of Installation Guide
   > Updating CHANGELOG for v0.6.2 release.
   > Merge branch 'master' into next
   > Merge pull request sorin-ionescu#452 from dritter/improve_travis_and_vms
   > Merge pull request sorin-ionescu#446 from dritter/fix_442
   > Merge pull request sorin-ionescu#449 from dritter/ordered_icons_list
   > nerdfont config: changing order, removing duplicates
   > Merge pull request sorin-ionescu#451 from lcorsini/next
   > iTerm2 debugger: changed error code, added Source Code Pro to fontcheck
   > Add warn message if XCode is not installed
   > Add iTerm2 debugging script
   > Add changelog entry for changed `ram` segment
   > Add missing changelog entry for font debugger (sorin-ionescu#433)
   > Merge branch 'Darkheir-next' into next
   > Merge branch 'master' into next
   > Merge pull request sorin-ionescu#433 from dritter/add_font_debugger
   > Merge pull request sorin-ionescu#426 from dritter/fix_changelog
   > Merge pull request sorin-ionescu#412 from dritter/truncate_composer_json
   > readme: adding note about `jq` installation
   > Add tests for `truncate_with_package_name` strategy of dir segment
   > Fix parsing package name from complex package.json files
   > Merge pull request sorin-ionescu#424 from dritter/add_freebsd_vm
   > unittest: fixing space after branch indicator
   > changelog: updating for v0.6.0 release
   > Fixing AWS icon for nerdfonts, fixing branch icon space.
   > Merge pull request sorin-ionescu#413 from davidmpaz/icon_by_repo
   > Update awesome-fontconfig SERVER_ICON to 
   > nerdfont: updating name for nerdfont selection
   > Merge branch 'nerdfont' of https://github.com/kaymmm/powerlevel9k into kaymmm-nerdfont
   > Added support for customizable context segment
   > Setting new `newline` flag to false as default.
   > Adding option POWERLEVEL9K_PROMPT_ADD_NEWLINE to create a blank line before each prompt
   > Adding a \n before prompt
   > README: cleaning up new `command_execution_time` segment docs
   > Add documentation for the `command_execution_time` segment
   > Merge branch 'next' into execution_time
   > Use GMT as timezone for `command_execution_time` segment
   > Refactor `command_execution_time` segment
   > Add tests for `command_execution_time` segment
   > Fix wrong variable name
   > Format command execution time human readable
   > Add documentation for `command_execution_time` segment
   > Reworked `command_execution_time` segment
   > Add `command_execution_time` segment
   > Merge pull request sorin-ionescu#395 from dritter/benoits_dir_writable_segment
   > Merge pull request sorin-ionescu#393 from dritter/fix_vanilla_prompt
   > Merge pull request sorin-ionescu#391 from dritter/simplify_public_ip
   > Merge pull request sorin-ionescu#387 from dritter/fix_truncate_with_package_name
   > Merge pull request sorin-ionescu#386 from dritter/fix_public_ip
   > Merge pull request sorin-ionescu#379 from dritter/fix_swift_segment
   > CHANGELOG: Updating to reflect work on `next`
   > README: fixing name of `detect-virt` to `detect_virt`
   > README: default segment list was no longer accurate
   > Merge pull request sorin-ionescu#378 from bhilburn/anion155-hdd-segment
   > Merge branch 'master' into next
   > Merge branch 'master' into next
   > Merge branch 'master' into next
   > Merge branch 'master' into next
   > Change powerlevel9k_init to prompt_powerlevel_setup
   > Merge pull request sorin-ionescu#376 from jshort/next
   > Merge pull request sorin-ionescu#368 from rjorgenson/public_ip_segment
   > Merge pull request sorin-ionescu#369 from rjorgenson/context_host_depth
   > Merge pull request sorin-ionescu#366 from rjorgenson/next
   > Merge pull request sorin-ionescu#360 from davidmpaz/icon_by_repo
   > Merge branch 'master' into next
   > Merge pull request sorin-ionescu#362 from shibumi/detect-virt-next
   > Merge pull request sorin-ionescu#347 from thomaspaulmann/swift
   > Merge pull request sorin-ionescu#346 from dritter/configurable_path_separators
   > Merge pull request sorin-ionescu#341 from rjorgenson/next
   > Merge branch 'master' into next
   > Merge pull request sorin-ionescu#332 from eviltak/show-ok-in-non-verbose-status
   > Merge branch 'master' into next
   > Merge branch 'master' into next
   > bugfix: typo in "POWERLEVEL9K" broke the VCS tag display
   > Improved speed of `prompt_vcs` by 50%-66%.
   > Removing `zle-*` overrides, appear fixed in new ZSH.
   > Merge pull request sorin-ionescu#309 from krischer/conda-prompt-changes
   > vcs: adding detection of unstaged / staged for svn repos
   > fixed svn-detect-changes().. the svn prompt has now the same behaviour as the git prompt..
   > swapped half and full dirty in svn-detect-changes
   > added svn hooks.. hope this works
   > added vi-svn-detect-changes() in functions/vcs.zsh
   > Enabling subversion support for the `vcs` segment.
   > Merge pull request sorin-ionescu#300 from andjscott/prompt_dir_shortening
   > Finally adding a license to powerlevel9k
   > Merge branch 'noverbose-battery' of https://github.com/dnmiller/powerlevel9k into nonverbose-battery
   > Merging ability to hide tags from VCS segment.
   > Merge branch 'next' of https://github.com/Xetius/powerlevel9k into xetius-vcs-hide-tags
   > Now printing a warning if $LANG is set incorrectly.
   > Merge branch 'master' into next
   > revise mac battery error when mac default date use linux's
   > Make prompt_custom not print the segment if empty
   > Merge pull request sorin-ionescu#282 from Mrngilles/new_python_icon
   > Merge pull request sorin-ionescu#275 from andjscott/prompt_dir_shortening
   > Merge pull request sorin-ionescu#276 from andjscott/package_name
   > Merge pull request sorin-ionescu#261 from wadkar/pyenv
   > Merge pull request sorin-ionescu#260 from thuandt/python-icon
   > Merge pull request sorin-ionescu#266 from dritter/264_fix_script_location
   > Merge pull request sorin-ionescu#256 from cbourgeois/next
   > Merge pull request sorin-ionescu#252 from rawkode/feature/better-battery-core-improvements
   > Changelog: Remove tag "next" for version 0.4.0
   > Changelog: Add a note about TravisCI
   > Changelog: Add a note about vcs untracked state
   > Changelog: Add a note about `rbenv` segment
   > Changelog: Add a note about `swap` segment
   > Changelog: Reformat; first changes then additions
   > Changelog: Reformat; first changes then additions
   > Changelog: Add entry about new `nodeenv` segment
   > Changelog: Fix name for docker_machine segment
   > Changelog: Add a note about the changed shorten delimiter
   > Changelog: Update headlines for better readability
   > Changelog: Add entry for new anaconda segment
   > Changelog: Add a note about obsolete variables
   > Making `anaconda` list item a link to full description.
   > Merge pull request sorin-ionescu#249 from jaermanx9/anaconda-segment
   > Merge pull request sorin-ionescu#247 from orhanbalci/next
   > Merge branch 'vcs-tag-display' into next
   > Catching up CHANGELOG with new segments.
   > Update CHANGELOG about new package.json shortening strategy
   > Merge pull request sorin-ionescu#229 from alexlafroscia/add-package-name-shortening-strategy
   > Merge pull request sorin-ionescu#242 from dritter/fix_actionformat_color
   > Merge pull request sorin-ionescu#230 from sabricot/docker_machine
   > Merge pull request sorin-ionescu#233 from wadkar/nvm_return_if_none
   > readme: more touchup to the segment list
   > readme: add horizontal bar
   > readme: code-as-links transition in segment list
   > readme: testing code-as-link in MD code
   > readme: re-organizing the segment list
   > Merge pull request sorin-ionescu#228 from wadkar/next_chruby_prompt
   > Fixing sorin-ionescu#217, also making the `actionformats` color configurable in VCS segment.
   > Merge branch 'master' into next. Fixes Symfony typo in README.
   > Merge pull request sorin-ionescu#221 from dritter/fix_vcs_test
   > Merge pull request sorin-ionescu#220 from dritter/rename_vcs_default_state
   > Merge pull request sorin-ionescu#219 from rmad17/nodeenv-support
   > Merge pull request sorin-ionescu#214 from dritter/fix_vcs_foreground_color
   > Merge pull request sorin-ionescu#216 from natemccurdy/issues/215
   > Reflect submodule status in VCS prompty by default.
   > README: Adding Travis-CI status to README
   > Merge pull request sorin-ionescu#212 from dritter/unit_testing
   > Merge pull request sorin-ionescu#211 from Falkor/feature/better_dirty_check
   > Merge pull request sorin-ionescu#208 from dritter/fix_joining
   > Pull PR sorin-ionescu#204 into `next`. Introduces new VCS state, `untracked`
   > Merge branch 'master' into next
   > Merge pull request sorin-ionescu#205 from dritter/dir_delimiter
   > Merge pull request sorin-ionescu#198 from dritter/vcs_customizable
   > Merge pull request sorin-ionescu#181 from dritter/split_up_ram_segment
   > Merge pull request sorin-ionescu#202 from dritter/join_conditional_segments

 * modules/prompt/external/powerline 8e81152...c48e4c6 (3):
   > Merge pull request sorin-ionescu#7 from Eriner/master
   > Merge pull request sorin-ionescu#6 from Eriner/master
   > Merge pull request sorin-ionescu#2 from TheZoc/patch-1

 * modules/prompt/external/pure 95e7fd7...a3b22b2 (73):
   > Prevent multiple prompt resets in one execution cycle (sorin-ionescu#368)
   > More thorough handling (hiding) of match results
   > Avoid implicit creation of global var prompt_pure_git_arrows
   > 1.6.0
   > Link to pure.zsh and async.zsh for better clarity (sorin-ionescu#358)
   > Readme tweaks
   > Link to a Pure-inspired prompt done in Rust
   > Avoid implicit global var creation and cleanup (sorin-ionescu#347)
   > Fix grammar in readme (sorin-ionescu#344)
   > Update oh-my-zsh instructions in readme
   > Remove extra $fpath from npm postinstall fail instructions
   > Simplify readme avatar URLs
   > Use glob instead of regex for dir matching (sorin-ionescu#328)
   > Simplify oh-my-zsh instructions, avoid confusion
   > Add support for python virtualenv (sorin-ionescu#325)
   > Change dirty check delay threshold from 2 to 5 secs (sorin-ionescu#326)
   > Remove deprecated clear-screen ZLE widget (sorin-ionescu#322)
   > Use pattern to matching newline, fix regex compile
   > Restore old virtualenv behavior by only modifying preprompt (sorin-ionescu#321)
   > Perform all git checks (vcs_info) asynchronously (sorin-ionescu#273)
   > Update prezto link and instructions in readme
   > Add `purer` fork to readme (sorin-ionescu#307)
   > 1.5.2
   > Ensure prompt_subst is unset when the expanded preprompt is stored (sorin-ionescu#305)
   > Parse git aliases for better pull/fetch detection (sorin-ionescu#289)
   > Link inside pure directory as npm install fallback (sorin-ionescu#285)
   > 1.5.1
   > Fix wrong assumption about promptinit in setup (sorin-ionescu#291)
   > 1.5.0
   > Check and set `prompt_opts` when not using `promptinit` (sorin-ionescu#277)
   > Check for git arrows asynchronously (sorin-ionescu#272)
   > Evaluate $PROMPT at render time (sorin-ionescu#274)
   > Update zsh-async to 1.5.0 (sorin-ionescu#271)
   > Disable interactive passwords in SSH for git fetch (sorin-ionescu#269)
   > Change prezto url to the active prezto repo (sorin-ionescu#268)
   > Simplify zplug instructions in readme (sorin-ionescu#267)
   > Change integration examples from commands to configuration lines (sorin-ionescu#265)
   > Add zplug install instructions (sorin-ionescu#261)
   > Readme improvements (sorin-ionescu#259)
   > Add install instructions for Zim (sorin-ionescu#262)
   > Add issue template (sorin-ionescu#260)
   > 1.4.1
   > Update zsh-async to fix issue with zsh 5.3
   > Mention intelfx/pure fork in readme (sorin-ionescu#247)
   > `HyperTerm` => `Hyper`
   > Restore prompt_subst setopt when rendering prompt (sorin-ionescu#231)
   > Update zsh-async to fix multi-space path bug
   > Use ; instead of && for promptinit (sorin-ionescu#227)
   > Prevent parameter expansion in preprompt
   > Revert "Fix double variable interpolation in branch name"
   > Fix double variable interpolation in branch name
   > Fix link to bash port (sorin-ionescu#219)
   > 1.4.0
   > Compare expanded preprompt when rendering (sorin-ionescu#214)
   > Update async.zsh (sorin-ionescu#218)
   > update screenshot
   > Correct link to Droid Sans Mono Font (sorin-ionescu#216)
   > Add async.zsh to the download step in the readme
   > Merge pull request sorin-ionescu#205 from fvargas/master
   > Merge pull request sorin-ionescu#204 from fvargas/master
   > Merge pull request sorin-ionescu#201 from fvargas/master
   > readme - mention that the git check is done asynchronously sorin-ionescu#187
   > Merge pull request sorin-ionescu#196 from sindresorhus/emacs-fixes
   > Clarify Prezto usage
   > Close sorin-ionescu#192 PR: Added `console` language where needed.
   > Merge pull request sorin-ionescu#186 from edouard-lopez/patch-1
   > Merge pull request sorin-ionescu#181 from caarlos0/patch-1
   > Merge pull request sorin-ionescu#178 from jedahan/master
   > Merge pull request sorin-ionescu#177 from veggiemonk/patch-1
   > Close sorin-ionescu#175 PR: Refresh pure screenshot.
   > 1.3.0
   > Update bundled zsh-async to 1.1.0
   > Close sorin-ionescu#171 PR: Attempt to detect user initiated git fetch. Fixes sorin-ionescu#162

 * modules/syntax-highlighting/external 44e5323...5e9b7c4 (367):
   > main: Add test for previous
   > main: Fix end of buffer check for path_prefix with non-null PREBUFFER
   > driver, main: Add -z to autoload calls
   > main: Mark ZSH_HIGHLIGHT_DIRS_BLACKLIST experimental
   > main: Add ZSH_HIGHLIGHT_DIRS_BLACKLIST
   > main: Move - to end of character class
   > main: Simplify for next commit; no functional change
   > regexp: Add test for subexpression match
   > tests: Directly diff expected_region_highlight against region_highlight
   > main: Test suffix aliases if zsh/parameter is available
   > main: Fix off by one errors in quote helper functions
   > main: Do not highlight for regions that end before the start of BUFFER
   > driver: Do not highlight newlines or past BUFFER for zle standout
   > driver: Replace eval with ${(P)
   > main: Update test for issue sorin-ionescu#501 XFAIL
   > tests: Escape newlines in TAP description
   > regexp: Add missing local for arrays match mbegin mend
   > 'main': Don't highlight bare '$foo' as a filename, as it's a parameter expansion.
   > main: Add XFAIL to redirections2 for process-substitution sorin-ionescu#494
   > 'main': Do not expand special parameters.  Fixes sorin-ionescu#489.
   > main: Highlight backticks in double quotes
   > main: Consolidate } handling
   > main: Add test for quotes in options
   > main: Highlight options as base_style
   > main: Correct typos
   > main: Only highlight characters special to globbing as globbing
   > main: Use =~ for globbing test
   > main: Only highlight one base_style in _highlight_arguments
   > main: Have helper functions return highlights in reply
   > main: Explicitly pass $style to _highlight_path_separators
   > 'main': Don't match redirection operators in command substitutions as <-> number range globs.  Fixes sorin-ionescu#483.
   > 'main': Add a regression test for issue sorin-ionescu#483, concerning «: $(<foo)».
   > 'main': Add an explicit test for escaped single quotes within single quotes, «'foo'\''bar'».
   > docs: main: Clarify back-quoted-argument, back-double-quoted-argument, back-dollar-quoted-argument, and assign.
   > docs: main: Add missing hyphens.
   > tests: Include the filename in error messages.
   > main: Highlight unclosed backtick subshells
   > 'main': Fix highlighting of «<->»-style numeric globs.
   > main: Highlight path after globbing checks
   > 'main': Add a regression test for issue sorin-ionescu#474.
   > Happy New Year 2017.
   > Bump copyright years.
   > main: Add *-quoted-argument-unclosed styles
   > 'main': Add a regression test for issue sorin-ionescu#468.
   > main: Add tests
   > main: Highlight partially quoted arguments correctly
   > main: Add ' helper function
   > main: Make " and $' helper functions responsible for highlighting quote
   > main: Remove trailing whitespace
   > main: A redirection token is an invalid redirection target
   > docs: Fix links; thanks @dukex for noticing
   > driver: Run under emulate -L zsh and add zsyh_user_options
   > tests: Avoid using new zmodload flags
   > tests: Skip when zsh/pcre is not available
   > 'main': Add tests for «ls \~» and for not performing parameter expansion on the command word.
   > main: Expand paths before removing quoting
   > main: Add fallback for useroptions if zsh/parameter is absent
   > Add regexp highlighter
   > noop: Add comments.
   > Followup to parents: Restore sudo-* tests on platforms that don't have sudo.
   > Followup to last: Don't require 'sudo' to test prefix redirections.
   > tests: Add skips for tests that require sudo
   > 'main': Highlight 'sudo' correctly when it's not installed.
   > docs: Point to repology for finding packages.
   > README: Fix typo.
   > brackets: Ignore quotes
   > main: Split declaration and assignment
   > main: Save user options in a single variable
   > 'main': Skip tests that break on msys2
   > tests: Add ability to skip tests
   > tests: Support SKIP directive in tap-colorizer
   > tests: Run tests with WARN_CREATE_GLOBAL
   > tests: Declare local variables
   > driver: Revert previous commit, unbreaking the build on zsh<5.0.8.
   > driver: Correctly escape assoc key pattern
   > tests: Run tests with NOUNSET
   > tests: Set ZLE variables to sane defaults
   > tests: Ensure region highlight is unset if NONE is expected
   > Default possibly unset variables to empty
   > tests: Use idiomatic set check
   > brackets: Use idiomatic set check
   > brackets: Disallow negative nesting level
   > brackets: Don't call _zsh_highlight_add_highlight with empty style
   > brackets: Add test for highlighting errors with no styles
   > driver: _zsh_highlight_bind_widgets: Be resilient to NO_UNSET being set in the calling scope.
   > docs: Add Void Linux link.
   > CI: customize IRC notifcation message
   > tests: Remove superfluous comment.
   > tests: run the most recent versions first
   > tests: add zsh 5.4.2
   > release.md: Make a little more copy-pasteable.
   > Post-release version number bump.
   > Tag version 0.6.0.
   > Tests: add zsh 5.4 and 5.4.1
   > sorin-ionescu#440: Identify the output.
   > sorin-ionescu#440: Make sure zsh's git hash is printed when testing against zsh master branch
   > sorin-ionescu#440: Fix minimum required Zsh version (4.3.11 instead of 4.3.17)
   > sorin-ionescu#440: Test on Zsh master and intermediate releases since 4.3.11
   > sorin-ionescu#440: docs: Remove the travis links from README during 'make install'.
   > sorin-ionescu#440: Make README more readable in source form.
   > sorin-ionescu#440: Setup IRC/gitter notifications
   > sorin-ionescu#440: Add build status badge
   > sorin-ionescu#440: Print zsh version before tests
   > sorin-ionescu#440: Fix Travis-CI configuration
   > sorin-ionescu#440: Add Travis-CI configuration
   > release.md: Correct 'git push' instructions.
   > Post-release version number bump.
   > Tag version 0.6.0-rc1.
   > release.md: Create annotated tags, fix markup.
   > changelog: Update through dea1fedc7358.
   > sorin-ionescu#419: Add links to OpenSUSE build service deb/rpm repositories
   > Merge remote-tracking branch 'upstream/pr/433'
   > changelog: Update through 5feed23962df.
   > docs: Unbreak Fedora link.
   > driver: Fix printing error message to file when cannot resolve highlighters directory location
   > driver: Workaround pattern isearch bug in zsh ≤ 5.3.1, already fixed upstream.
   > 'main': Highlight mismatched 'if'/'fi'.
   > driver: Improve «unhandled ZLE widget 'foo'» error message.
   > 'main': Don't consider «$*» a glob.
   > tests: zsh 5.4-to-be compatibility: Set a new "I am shooting myself in the foot" option.
   > driver: Fix duplicated slash in error message
   > docs: Update zplug install instruction
   > driver: Handle aliases that begin with a '+'
   > driver: Be immune to 'alias' having been redefined.
   > 'main': Highlight possible history expansions in double-quoted strings.
   > docs: Update Homebrew link.
   > driver: Be immune to weird aliases in the calling scope.
   > 'main': Fix highlighting of comments followed by non-comments (on a subsequent line).
   > 'main': Fix a bug concerning command word with embedded colon-space sequences.
   > Add FreeBSD port
   > Add Fedora package
   > changelog: Update for changes pulled out of 0.5.x.
   > Follow-up to 28d7056: Fix test expectations.
   > README: Set alt="" attributes.
   > README: Add a third image.
   > README: Add another image.
   > README: Use a more minimal example iamge.
   > README: Add before/after images
   > changelog: Update through 28d7056.
   > 'main': Escape '!' within double-quoted strings.
   > Post-branch version number bump.
   > changelog: Write `arg0` entry.
   > changelog: Markup tweak.
   > changelog: Add the last few entries.  One remains as a TODO.
   > release.md: Record the specific command I used.
   > changelog: Review.
   > changelog: Update through 0020f59.
   > changelog: Update through d37c55c.
   > changelog: Copyedit.
   > changelog: Update through cef4975.
   > changelog: Start 0.5.0 section.  Update through bc7f8ea.
   > 'main': Followup to fdaeec4: Update comment.
   > 'main': Introduce style fallback for the command word.
   > dev tools: Automagically handle newlines (\n) in $BUFFER.
   > tests: Also test arguments to an anonymous function.
   > Merge remote-tracking branch 'upstream/pr/374' into HEAD
   > 'main': Highlight several more special (non-alphabetic) parameters.
   > 'main': Highlight shell's PID ($$) inside double quotes.
   > 'main': Highlight command substitutions inside double quotes.
   > 'main': Permit subshells to end at command position.
   > 'main': Highlight mismatched foreach/end.
   > dev tools: Add a TODO to introduce code reuse.
   > 'main': Highlight mismatched do/done.
   > 'main': Yet another test for mismatched braces.
   > 'main' / *_check_path: Precompute $#BUFFER and use it for speed gain
   > dev tools: Remove a superfluous empty line.
   > 'main': Highlight 'always' blocks.
   > 'main': Don't find command positions within multiline array literals.
   > dev tools: Stage the copyright block to make diffs smaller.
   > dev tools: Tolerate invalid input.
   > 'main': Restore compatibility with zsh-4.3.14 and older (after e3182c18de8f).
   > dev tools: Automate a recurring step: Set year correctly for new tests.
   > 'main': Highlight first command word in named functions defined in the sh syntax when MULTI_FUNC_DEF is set.
   > 'main': More tests for mismstached parentheses and braces.
   > 'main': Highlight mismatched parentheses and braces.
   > driver: Warn just once when a highlighter is missing.
   > 'main': Support the IGNORE_BRACES option.
   > 'main': Add tests for the IGNORE_BRACES option.
   > 'main': Followup to 51614ca: Run cheaper conditions first.
   > 'brackets': Don't highlight corresponding bracket on accept-line
   > driver: Declare global variables
   > 'main': Avoid triggering a zsh bug related to hashed commands.
   > *: error messages: Fix quoting.
   > *: Change highlighters' namespace.
   > driver: Followup to 80148f6: don't squat on the highlighters' namespace.
   > driver: Followup to d711563: actually make the driver reentrant.
   > noop: Rewrap.
   > README: Add a reference to upstream's documentation.
   > README: Rephrase a question non-negatively^W neutrally.
   > noop: Add comments.
   > 'main': The word after 'sudo' is only a non-command word if it is an option.
   > 'main': Test for redirection earlier.
   > noop: Restructure code for clarity.
   > noop: Fix indentation.
   > driver: Followup to last: make the value more unique.
   > driver: Make it reentrant.
   > minor: Fix typo in development usage message.
   > driver: Enable highlighting during isearch under zsh≥5.3.
   > Merge remote-tracking branch 'danielsh/m0vie-i288-v2' (revised version of upstream/pr/288)
   > dev tools: Extend tests/generate.zsh.
   > dev tools: Add a script that generates a test-data file.
   > 'main': Enable test for issue sorin-ionescu#238.
   > 'main': Add test for issue sorin-ionescu#343, concerning the 'command' precommand.
   > 'main': Highlight a broken symlink as a file.
   > 'main': New test, related to issue sorin-ionescu#328.
   > *: s/echo/print/
   > docs: Minor tweak.
   > docs: State highlighters' designated namespace.
   > docs: s/myhighlighter/acme/g
   > driver: Change a variable name to avoid squatting the highlighters' namespace.
   > 'main': Support vi linewise region (REGION_ACTIVE == 2).
   > driver: Widget binding: Use ${(k)widgets} instead of $(zle -la)
   > 'main': Document _pathseparator styles
   > 'main': Path separators: Leave styles empty by default
   > driver: Stop requiring function_argzero.
   > 'main': simple parameter expansions at command word: Don't use an undefined value.
   > 'main': Add missing arguments.
   > 'main': Try the "non-command word" codepath when a word may be either a command word or a non-command word.
   > dev docs: Document a useful tab completion setting.
   > minor: Fix typo in comment.
   > 'main': Fix issue sorin-ionescu#290, «Mishighlights "longloops" 'repeat'».
   > minor: tests: Formatting tweak to XPASS output.
   > 'main': Add XFail test for issue sorin-ionescu#330, concerning command word after array assignment.
   > 'main': Highlight scalar assignments to argv
   > tests: Explicitly test 'default' style inside an array assignment.
   > minor: 'main': Only search for prefixes if :h is a directory
   > 'main': Internal cleanup: drop $style_override.
   > 'main': Highlight path separators
   > 'main': Implement simple command type cache
   > 'main': Use zsh/parameter instead of type -w
   > 'main': Support multiple styles in _zsh_highlight_main_add_region_highlight
   > minor: tests: Add comment for NONE in expected_region_highlight
   > docs: Give example of test that modifies its environment
   > docs: Mention `$BUFFER`
   > docs: Document use of NONE in expected_region_highlight
   > docs: Document writing tests
   > tests: Fail on stderr output
   > Merge part of PR sorin-ionescu#298
   > Bump copyright years.
   > Merge remote-tracking branch 'upstream/pr/308' into HEAD
   > docs: Namespace highlighters' styles.
   > 'main': Don't leak the PATH_DIRS options.
   > 'main': 2nd optimization that in my tests shows 2.2s -> 2.0s
   > Merge remote-tracking branch 'upstream/pr/315' into HEAD
   > docs: Honour $ZDOTDIR in code examples.
   > docs: Simplify/clarify installation instructions.
   > tests: New test to capture off-by-ones.
   > 'brackets': Fix for one-based indexing
   > docs: Added style key prefix convention
   > driver: Track rename of an unreleased upstream API.
   > docs: Document installation with other plugin managers
   > dev docs: Document testing quirks
   > tests: Add tests for 'brackets' and 'pattern'
   > tests: Followup to last: echo(1) is evil.
   > minor: tests: Quote $BUFFER differently on output.
   > tests: TAP support: Emit a 'description' for all test points
   > minor: tests: Introduce a local variable. No functional change.
   > minor: tests: Tighten up local variable scope.
   > tests: TAP compliance: Do not emit literal '#' in the 'description' part
   > tests: Followup to fd061b5: quote both expected and actual output.
   > 'brackets': Allow unset ZSH_HIGHLIGHT_STYLES
   > tests: Set ZSH_HIGHLIGHT_STYLES=() during tests
   > tests: Remove unused_highlight
   > tests: Test ZSH_HIGHLIGHT_STYLES keys directly
   > brackets: Fix bug introduced in 95d8256
   > 'brackets': Check if brackets match on first pass
   > 'brackets': Use one-based indexing
   > 'brackets': Move highlight call outside conditional
   > 'brackets': Lift local declarations from inside loops
   > dev docs: Create HACKING.md.
   > minor: Rewrap docs for uncompiled readability.
   > tests: Use 'NONE' to denote no highlighting
   > docs: highlighters should use _zsh_highlight_add_highlight
   > Bump copyright years.
   > highlighters: Use _zsh_highlight_add_highlight
   > highlighters: Pass around the style key instead of the style itself
   > tests: Specify the style key instead of the style itself
   > cleanup: Avoid colon after parameter expansion to avoid risking introducing a colon modifier.
   > root-highlighter: use EUID instead of id -u command
   > brackets: Optimize a tiny bit.
   > plugin.zsh: Convert from symlink to plain file
   > release.md: Add a release checklist line item.
   > tests: Expect the correct style
   > tests: Quote style in expected_region_highlight
   > tests: Fix grep syntax
   > apply suffix and isearch zle_highlights on top
   > 'main': Restore support for zsh-4.3.10 and older.
   > widget binding: Fix crucial typo in last commit.
   > widget binding: Further unbreak the build.
   > widget binding: Properly escape widget names at definition.
   > noop: Remove stray statement terminators and line joiners.
   > widget binding: Unbreak the build.
   > widget binding: Remove an unnecessary layer of indirection.
   > Refactor the application of zle_highlight settings
   > 'main': Highlight lone '!' correctly: it's not a history expansion.
   > docs: Clarify oh-my-zsh installation instructions.
   > widget binding: Remove some too-wide exclusions
   > docs: use https:// instead of git://
   > 'main': Don't highlight in vared
   > Merge pull request sorin-ionescu#272 from psprint/master
   > changelog: Update for upcoming 0.4.1 release.
   > Version number bump.
   > 'main': Don't highlight at the $PS3 prompt.
   > test harness: Properly quote error message interpolations.
   > Revert "wrapping: Don't add '--' when invoking widgets."
   > aliases: Highlight aliases with '=' in their LHS as error.  (Part of issue sorin-ionescu#263.)
   > aliases: Add a test for one variant of issue sorin-ionescu#263.
   > tests: Add a 'print failures only' mode to 'make test', called 'make quiet-test'.
   > tests: Add another comment.  No functional change.
   > tests: Add a comment.  No functional change.
   > docs: Note that Debian package has migrated to (been added to) Debian stretch.
   > docs: Note Debian package name.
   > Fix issue sorin-ionescu#248: Highlight 'pkexec' as a precommand.
   > Fix part of issue sorin-ionescu#238, "fd redirections at command word".
   > tests: Add two XFail tests for issue sorin-ionescu#238, "fd redirections at command word".
   > tests: Cover [default].
   > tests: Improve tests by using $unused_highlight.
   > command word: Do not attempt to interpret command separator tokens as anything else.
   > changelog: Start 0.4.1 section.
   > release.md: Clarify release procedure.
   > Post-release version number bump.
   > Tag version 0.4.0.
   > changelog: Update through HEAD (952a97d).
   > docs: Tweaks to highlighters.md after recent refactoring branch.
   > docs; INSTALL.md: Make 'system-wide' section easier to read.
   > docs: INSTALL.md: Streamling .zshrc installation instructions.
   > docs: Minor clarifications.
   > versionstamp: Better $ZSH_HIGHLIGHT_REVISION reporting when running from git.
   > driver: Fix error message wording
   > docs: Grammar fix.
   > docs: Port new text to individual highlighters' documentation.
   > docs: Follow-up to last: Fix markup.
   > docs: Clarify highlighters documentation.
   > docs: Split README.md into INSTALL.md.
   > docs: Fix broken symlinks
   > Merge remote-tracking branch 'phy1729/doc-all'
   > Merge remote-tracking branch 'danielsh/docs-copyedit-v1'
   > 'make perf': Unbreak by porting over 'make test' harness changes.
   > 'main': Fix state check.
   > changelog: Update through HEAD (1933de8).
   > 'make install': Remove +x permission from installed library and documntation files.
   > 'make install': Unbreak PREFIX=~/foo usage.
   > Support the '|&', '&!', '&|' command separators.
   > noop: Consolidate two identical conditionals.
   > internal: Document the ':regular' state.
   > docs: 'main': Improve styles documentation.
   > 'make perf': Designate this target as '.PHONY'.
   > minor: docs: Improve dollar-double-quoted-argument documentation.
   > docs: Clarify 'create a new highlighter' documentation.
   > Fix issue sorin-ionescu#219: install documentation fully and properly.
   > Drop unnecessary shebang lines.
   > Fix copyright year.
   > Highlight parameter expansions that are a command word.
   > noop: Break out a helper function.
   > tests: Tweak the isolation wrapper for style and robustness.
   > driver: Tolerate KSH_ARRAYS being set in the calling context.
   > dollar-double-quoted-argument: Support the syntax «"${foo}"».  (Issue sorin-ionescu#186.)
   > tests: Add an XFail test for highlighting «"${foo}"».  (Issue sorin-ionescu#186.)
   > cursor: Remove cursor highlighting when accepting a line.
   > Fix issue sorin-ionescu#228, "Support the PATH_DIRS option".
   > tests: Add an XFail test for issue sorin-ionescu#228, "Support the PATH_DIRS option".
   > minor: Rename a test file to a not-escape-needing name.
   > tests: Provide an independent, auto-cleaned working directory to each test.
   > tests: Document test isolation, implemented some time ago.
   > 'make install': Allow setting $(SHARE_DIR).
   > Add an XFail test for issue sorin-ionescu#231, "Assignment terminating subshell flags closing parenthesis as an error".
   > brackets: Highlight closing ')' of array assignments correctly.  (Issue sorin-ionescu#226.)
Gee-Bee added a commit to Gee-Bee/prezto that referenced this pull request Feb 17, 2020
 Submodule changes to be committed:

 * modules/autosuggestions/external 15931f0...c7d4a85 (1):
   > Merge pull request sorin-ionescu#299 from zsh-users/develop

 * modules/base16/base16-shell 8643aca...9114596 (43):
   > Update LICENSE.md
   > Create LICENSE.md
   > Updates output
   > Merge pull request sorin-ionescu#143 from mattaw/master
   > Updates output
   > Updates output
   > Merge pull request sorin-ionescu#137 from julio-b/custom_hooks
   > Updates output
   > Fixes sorin-ionescu#131
   > Merge pull request sorin-ionescu#136 from diegs/seti-ui
   > Updates output
   > Merge pull request sorin-ionescu#128 from robbiewxyz/master
   > Merge pull request sorin-ionescu#125 from junzh0u/env_var
   > Merge pull request sorin-ionescu#124 from junzh0u/master
   > Merge pull request sorin-ionescu#123 from junzh0u/master
   > Merge pull request sorin-ionescu#119 from junzh0u/fish
   > Updates output
   > Merge pull request sorin-ionescu#117 from elnawe/master
   > Merge pull request sorin-ionescu#116 from elnawe/master
   > Scheme updates
   > Update README.md
   > Update README.md
   > Merge pull request sorin-ionescu#113 from blueyed/template-fixes
   > Merge pull request sorin-ionescu#108 from binaryplease/master
   > Merge pull request sorin-ionescu#107 from jeremejevs/master
   > Merge pull request sorin-ionescu#106 from danielrs/master
   > Merge pull request sorin-ionescu#104 from danielrs/master
   > Merge pull request sorin-ionescu#99 from nomoon/zsh_plugin
   > Merge pull request sorin-ionescu#92 from coderonline/master
   > Merge pull request sorin-ionescu#96 from danielrs/master
   > Updates output
   > Update default.mustache
   > Updates output
   > Adds fix from old builder
   > Updates output
   > Merge pull request sorin-ionescu#90 from ghprince/force_clobbering
   > Merge pull request sorin-ionescu#89 from tylerball/vimrc-background-newlines
   > Merge pull request sorin-ionescu#87 from tylerball/dont-overwrite-colorscheme
   > Updates themes
   > Merge branch 'master' of ssh://github.com/chriskempson/base16-shell
   > Merge branch 'master' of ssh://github.com/chriskempson/base16-shell
   > Updates builder output
   > Updates output

 * modules/completion/external c2dde89...70a7a5c (158):
   > Merge pull request sorin-ionescu#545 from dkarter/patch-1
   > Merge pull request sorin-ionescu#542 from svvac/patch-1
   > Merge pull request sorin-ionescu#538 from okapia/master
   > Merge pull request sorin-ionescu#537 from danteu/master
   > Merge pull request sorin-ionescu#536 from bezhermoso/tmuxp
   > follow normal zsh case conventions in some functions
   > review the howto guide
   > Revert "experiment for testing gcloud completion"
   > experiment for testing gcloud completion
   > Also add gitter badge
   > Fix link to #zsh-completions
   > Add link to Void Linux package
   > Remove license header from compdefs I wrote (switching to the Zsh license)
   > Change default license to the Zsh license (as discussed on zsh-workers mailing-list)
   > Merge pull request sorin-ionescu#532 from nicolasdespres/caffeinate
   > Merge pull request sorin-ionescu#531 from hlx98007/master
   > Merge pull request sorin-ionescu#530 from tomonacci/fix-ibus-positional-arguments
   > Merge pull request sorin-ionescu#526 from anderkonzen/mix_improvements
   > Merge pull request sorin-ionescu#525 from jeffwidman/patch-1
   > Merge pull request sorin-ionescu#524 from dark-panda/pgsql-enhancements
   > Merge pull request sorin-ionescu#523 from kapsh/yaml_ext
   > Merge pull request sorin-ionescu#522 from tomonacci/feature-xsel
   > Merge pull request sorin-ionescu#521 from tomonacci/feature-ibus
   > Merge pull request sorin-ionescu#517 from lenormf/_kak
   > Merge pull request sorin-ionescu#509 from Tuurlijk/master
   > Merge pull request sorin-ionescu#511 from yous/fix-bsd-sed
   > Merge pull request sorin-ionescu#512 from lenormf/_kak
   > Merge pull request sorin-ionescu#513 from jvwdev/master
   > Merge pull request sorin-ionescu#514 from kloetzl/fix-exclusion-list
   > Merge pull request sorin-ionescu#515 from kloetzl/add-sublime-text
   > Merge pull request sorin-ionescu#516 from kloetzl/add-resilio-sync
   > Merge pull request sorin-ionescu#507 from Dannyzen/master
   > Merge pull request sorin-ionescu#506 from knu/sed_-E
   > Merge pull request sorin-ionescu#501 from mtorromeo/rkt
   > Merge pull request sorin-ionescu#500 from mtorromeo/yarn
   > Merge pull request sorin-ionescu#499 from tejanium/master
   > Merge pull request sorin-ionescu#497 from ianks/master
   > Merge pull request sorin-ionescu#496 from patrick96/gist-read
   > Merge pull request sorin-ionescu#494 from i3wm/master
   > Merge pull request sorin-ionescu#489 from pelim/force-cli-completion
   > Merge pull request sorin-ionescu#491 from aschrab/openssl
   > Merge pull request sorin-ionescu#493 from arcan1s/master
   > Update repository infos
   > Merge pull request sorin-ionescu#490 from SmartFinn/ffind-completion
   > Merge pull request sorin-ionescu#488 from SmartFinn/patool-completion
   > Merge pull request sorin-ionescu#487 from ypid/ansible/debops_hosts_support
   > Merge pull request sorin-ionescu#470 from lenoch/yaourt-pkg-tar
   > Add RPM installation info
   > Merge pull request sorin-ionescu#483 from olejorgenb/udisksctl
   > Merge pull request sorin-ionescu#481 from olejorgenb/util-linux-column
   > Merge pull request sorin-ionescu#482 from olejorgenb/util-linux-paste
   > Merge pull request sorin-ionescu#479 from zsh-users/go-subdir-comp
   > Merge pull request sorin-ionescu#478 from kota65535/master
   > Merge pull request sorin-ionescu#476 from olejorgenb/patch-1
   > Merge pull request sorin-ionescu#474 from cjk/httpie-raw-json-file-paths
   > Merge pull request sorin-ionescu#472 from ViktorHaag/revert-471-ag-past-version-one
   > Merge pull request sorin-ionescu#471 from ViktorHaag/ag-past-version-one
   > README improvements/fixes
   > Add completion script for Software Collections (https://www.softwarecollections.org)
   > Merge pull request sorin-ionescu#469 from kastiglione/rg-types
   > Merge pull request sorin-ionescu#468 from kastiglione/rg-arrays
   > Merge pull request sorin-ionescu#466 from niko2342/git_journal_completion
   > Merge pull request sorin-ionescu#464 from pseyfert/cmake_module_path
   > Merge pull request sorin-ionescu#462 from arcizan/ripgrep
   > Merge pull request sorin-ionescu#461 from cmcaine/patch-1
   > Merge pull request sorin-ionescu#456 from JindrichPilar/trash-cli
   > Merge pull request sorin-ionescu#452 from pseyfert/cmake
   > Merge pull request sorin-ionescu#459 from blueyed/envdir
   > Merge pull request sorin-ionescu#453 from JindrichPilar/afew
   > Merge pull request sorin-ionescu#455 from JindrichPilar/archlinux-java
   > Merge pull request sorin-ionescu#458 from foudfou/master
   > adding cloudfoundry compdef
   > sorin-ionescu#207: remove compdefs without a license header
   > Merge pull request sorin-ionescu#449 from KrisShannon/dget
   > Merge pull request sorin-ionescu#448 from jkraemer/rails-test
   > Merge pull request sorin-ionescu#447 from olejorgenb/util-linux-lsblk
   > Merge pull request sorin-ionescu#442 from syohex/fix-go-tool-pprof
   > Merge pull request sorin-ionescu#440 from leoj3n/patch-2
   > Merge pull request sorin-ionescu#437 from syohex/trailing-space
   > Merge pull request sorin-ionescu#439 from leoj3n/patch-1
   > Merge pull request sorin-ionescu#443 from arcan1s/drop-docker-machine
   > sorin-ionescu#207: Add license header to _cmake, with explicit permission from Scott Kroll <skroll@gmail.com>
   > Merge pull request sorin-ionescu#435 from michaelmior/rsvm
   > Merge pull request sorin-ionescu#431 from lukechilds/patch-1
   > Merge pull request sorin-ionescu#429 from JonasGroeger/patch-1
   > sorin-ionescu#207: Add license header to @sorin-ionescu compdefs
   > Merge pull request sorin-ionescu#423 from markupboy/master
   > sorin-ionescu#207: add license headers to compdefs from zsh-users mailing list
   > sorin-ionescu#207: add license header to _google (with permission of @dadrc)
   > sorin-ionescu#207: delete heroku, no license header and author not reachable
   > Merge pull request sorin-ionescu#422 from vasilykraev/drush-license-update
   > Merge pull request sorin-ionescu#421 from g5pw/master
   > Merge pull request sorin-ionescu#420 from ilkka/patch-1
   > Merge pull request sorin-ionescu#419 from vhbit/patch-1
   > Merge pull request sorin-ionescu#418 from Soliah/master
   > Merge pull request sorin-ionescu#416 from peteryates/master
   > Merge pull request sorin-ionescu#415 from arcan1s/master
   > Merge pull request sorin-ionescu#410 from dserodio/docker-machine
   > Merge pull request sorin-ionescu#406 from superlukas/permissions
   > Merge pull request sorin-ionescu#405 from JindrichPilar/scrub
   > Merge pull request sorin-ionescu#403 from xen0l/ansible
   > Merge pull request sorin-ionescu#404 from netromdk/master
   > Merge pull request sorin-ionescu#401 from JindrichPilar/chattr
   > Merge pull request sorin-ionescu#400 from JindrichPilar/jrnl
   > Merge pull request sorin-ionescu#399 from fumikony/fumikony-patch-1
   > Merge pull request sorin-ionescu#398 from Cronos87/master
   > add completion function for rkt command
   > Merge pull request sorin-ionescu#393 from zsh-users/add-multirust
   > Merge pull request sorin-ionescu#392 from kastiglione/compilation-database
   > Merge pull request sorin-ionescu#396 from JindrichPilar/pixz
   > Merge pull request sorin-ionescu#395 from JindrichPilar/dad
   > Merge pull request sorin-ionescu#394 from JindrichPilar/ufw
   > Merge pull request sorin-ionescu#390 from mitukiii/license
   > Merge pull request sorin-ionescu#388 from JindrichPilar/cheat
   > Merge pull request sorin-ionescu#387 from JindrichPilar/diana_completion
   > Merge pull request sorin-ionescu#386 from Cronos87/master
   > Merge pull request sorin-ionescu#383 from pismute/master
   > Merge pull request sorin-ionescu#384 from black2754/openssl
   > Merge pull request sorin-ionescu#382 from zsh-users/remote-boot2docker
   > Merge pull request sorin-ionescu#381 from jozefizso/license_middleman
   > Merge pull request sorin-ionescu#380 from nono/license
   > Merge pull request sorin-ionescu#379 from arcan1s/master
   > Merge pull request sorin-ionescu#378 from black2754/openssl
   > Merge pull request sorin-ionescu#377 from lencioni/bower-license
   > Merge pull request sorin-ionescu#376 from mafrosis/supervisorctl
   > Merge pull request sorin-ionescu#375 from shtouff/feat-fleetctl
   > Merge pull request sorin-ionescu#374 from zv/patch-1
   > sorin-ionescu#305: Remove brew completion, already maintained in Homebrew project
   > sorin-ionescu#313: Remove docker completions, already maintained in docker project
   > Update contributing guidelines.
   > Remove some compdefs that are available directly in zsh
   > Merge pull request sorin-ionescu#373 from blueyed/xinput
   > Merge pull request sorin-ionescu#371 from tieubao/master
   > Merge pull request sorin-ionescu#370 from vitorgalvao/patch-1
   > Merge pull request sorin-ionescu#368 from WoLpH/master
   > Merge pull request sorin-ionescu#361 from zacchiro/master
   > Merge pull request sorin-ionescu#360 from vitorgalvao/patch-1
   > Merge pull request sorin-ionescu#357 from rxwen/android_option
   > Merge pull request sorin-ionescu#356 from zv/master
   > Merge pull request sorin-ionescu#351 from mikkeloscar/manage.py
   > Merge pull request sorin-ionescu#355 from mikkeloscar/go
   > Merge pull request sorin-ionescu#350 from mmckinst/missing_licenses
   > Merge pull request sorin-ionescu#347 from sarg/master
   > Merge pull request sorin-ionescu#346 from nesneros/master
   > Merge pull request sorin-ionescu#336 from danteu/master
   > Merge pull request sorin-ionescu#329 from NigoroJr/bundle-install-options
   > Merge pull request sorin-ionescu#328 from shtouff/feat-fleetctl
   > Merge pull request sorin-ionescu#288 from mafrosis/supervisorctl
   > Merge pull request sorin-ionescu#316 from itegebo/master
   > Merge pull request sorin-ionescu#304 from rjcoelho/master
   > Merge pull request sorin-ionescu#300 from supki/master
   > Merge pull request sorin-ionescu#298 from vincentbernat/fix/adb-completion
   > Merge pull request sorin-ionescu#297 from ncaq/master
   > Merge pull request sorin-ionescu#296 from patrikha/master
   > Merge pull request sorin-ionescu#287 from maxandersen/mvntychomodes
   > Merge pull request sorin-ionescu#284 from lineinthesand/patch-1
   > Merge pull request sorin-ionescu#282 from grosendorf/feature/knife-diff-completion
   > Merge pull request sorin-ionescu#281 from loranger/master

 * modules/history-substring-search/external 2c29543...47a7d41 (22):
   > Fix typo in README.md (sorin-ionescu#91)
   > support for installing as Oh-My-Zsh plugin (sorin-ionescu#87)
   > Merge pull request sorin-ionescu#86 from iroedius/master
   > Update README.md
   > Clean up global variable declarations
   > feat: add fuzzy search
   > README: add installation instructions for Homebrew
   > Merge pull request sorin-ionescu#67 from gezalore/master
   > README: upgrade to CommonMark; move <C-v> note up
   > Merge pull request sorin-ionescu#78 from RuRo/patch-1
   > Merge pull request sorin-ionescu#62 from alyssais/declare
   > Merge pull request sorin-ionescu#66 from disarmer/master
   > README: don't assume UP/DOWN arrows; configure it!
   > README: bind arrow keys after observing key codes
   > sorin-ionescuGH-44: fix "parameter not set" warning by `set -u`
   > README: fix markdown rendering on Github: - and _
   > README: format HISTORY as list; mention @gezalore
   > README: remove incorrect statement
   > Merge pull request sorin-ionescu#55 from gezalore/ensure_unique
   > sorin-ionescuGH-53: configure arrow keys for iTerm2 with cuu/d1
   > Merge pull request sorin-ionescu#51 from Eriner/master
   > drop oh-my-zsh config file: they supply their own

 * modules/prompt/external/agnoster 43cb371...3ad94b6 (3):
   > Fix additional prompt expansion in prompt_git
   > Merge pull request sorin-ionescu#29 from Cellophan/master
   > Merge pull request sorin-ionescu#11 from MichaelAquilina/python_virtualenv

 * modules/prompt/external/async b001fa5...001f40e (2):
   > Skip test_all_options on zsh 5.0.8
   > travis: Allow failures on zsh 5.0.2 and 5.0.8

 * modules/prompt/external/powerlevel9k d5ac173...afb7387 (229):
   > Documenting missing field  from sorin-ionescu#716.
   > Merge pull request sorin-ionescu#722 from lemarsu/master
   > Merge pull request sorin-ionescu#713 from magicalraccoon/patch-1
   > Merge pull request sorin-ionescu#686 from Corwynt/master
   > Merge pull request sorin-ionescu#685 from kenhys/disable-alias-grep
   > Updating build status to be `master` only.
   > Merge pull request sorin-ionescu#680 from dinhnv/pyenv-patched
   > Merge pull request sorin-ionescu#676 from iScrE4m/patch-2
   > Merge pull request sorin-ionescu#667 from akranga/master
   > Merge pull request sorin-ionescu#660 from brianmoran/ISS-650-pythonpath-in-prompt
   > Merge pull request sorin-ionescu#663 from MarcHauptmann/master
   > Merge pull request sorin-ionescu#656 from ylluminarious/remove-weird-glyphs
   > Merge pull request sorin-ionescu#651 from claycephas/more-documentation
   > Merge pull request sorin-ionescu#647 from sbutler2901/master
   > Merge pull request sorin-ionescu#643 from terencode/patch-1
   > Fixing `vcs.spec` tests after adding space.
   > Adding a space after VCS_BRANCH_ICON by default
   > Merge pull request sorin-ionescu#640 from simonvpe/master
   > Merge pull request sorin-ionescu#636 from ZeGentzy/master
   > Merge pull request sorin-ionescu#616 from trashbat/patch-2
   > Merge pull request sorin-ionescu#611 from Typositoire/fix/prompt_kubecontextlocal1
   > Merge pull request sorin-ionescu#608 from tippl/fix_load_segment
   > README: Quick typo fix.
   > README: Quick fix to MD formatting
   > Updating CHANGELOG for v0.6.4
   > Merge branch 'master' into next
   > Merge pull request sorin-ionescu#605 from tadeoos/next
   > Merge pull request sorin-ionescu#596 from eumiro/truncate_to_unique
   > Merge branch 'master' into next
   > Merge pull request sorin-ionescu#592 from tippl/dir_write-588
   > Merge pull request sorin-ionescu#581 from docwhat/pr/show-signals
   > Merge pull request sorin-ionescu#583 from docwhat/pr/rvm-575
   > Merge pull request sorin-ionescu#573 from AdrienHorgnies/feature/status-cross-ok-option-set
   > Merge pull request sorin-ionescu#541 from golgoth31/next
   > Merge pull request sorin-ionescu#569 from docwhat/pr/home-folder-abbr-test
   > Merge pull request sorin-ionescu#570 from docwhat/pr/docker-known-issues
   > Merge pull request sorin-ionescu#571 from docwhat/pr/merge-master
   > Merge pull request sorin-ionescu#567 from docwhat/pr/docker
   > Merge pull request sorin-ionescu#562 from docwhat/pr/cleanup-directory-detection
   > Merge pull request sorin-ionescu#554 from derekbassett/Prompt_Hang_Kubecontext_Minikube
   > Fixes for README and CHANGELOG re: `vpn` segment.
   > Updating CHANGELOG with new `vpn` segment
   > Merge pull request sorin-ionescu#539 from golgoth31/next
   > Updating README and CHANGELOG
   > add kubecontext test spec file to travis build
   > add tests
   > empty namespace value is 'default'
   > fix variable name typo
   > use p9k print_icon for kubecontext segment
   > added the current context prompt for your kubectl config
   > Merge branch 'master' into next
   > Moving some parts of README to the Wiki.
   > Merge branch 'host_user' of https://github.com/onaforeignshore/powerlevel9k into onaforeignshore-host_user
   > Merge branch 'host_user' of https://github.com/onaforeignshore/powerlevel9k into onaforeignshore-host_user
   > Merge branch 'next' of github.com:bhilburn/powerlevel9k into next
   > Merge branch 'master' into next
   > Updating the README to add a note about `teardown` feature.
   > Fixing typo in sorin-ionescu#525 to teardown `RPROMPT`
   > Merge branch 'pr/teardown' of https://github.com/docwhat/powerlevel9k into docwhat-pr/teardown
   > Incorporating @dritter's feedback from sorin-ionescu#524.
   > Merge branch 'pr/newline' of https://github.com/docwhat/powerlevel9k into docwhat-pr/newline
   > Merge pull request sorin-ionescu#515 from docwhat/pr/pipe-status
   > Merge branch 'master' into next
   > Merge pull request sorin-ionescu#521 from guixxx/devel
   > Merge branch 'master' into next
   > Updates to README and CHANGELOG for changes from sorin-ionescu#498.
   > Merge branch 'battery' of https://github.com/onaforeignshore/powerlevel9k into onaforeignshore-battery
   > Merge pull request sorin-ionescu#502 from shibumi/detect-virt-debugging
   > Updating CHANGELOG for v0.6.3.
   > Merge branch 'master' into next
   > Merge pull request sorin-ionescu#496 from belak/options-oddities
   > Merge branch 'master' into next
   > Fix double expansion of prompt variables
   > Merge pull request sorin-ionescu#484 from shibumi/svn-debugging
   > Merge branch 'master' into next
   > Converting timer start time to hex
   > Improve logic
   > Adds useful comment
   > Adds Android icon/battery plugin support
   > Merge pull request sorin-ionescu#461 from julienfalque/dir-home
   > Updating README to use @V1rgul's screenshot.
   > Merge pull request sorin-ionescu#463 from liblit/handle-echotc-Co-failure
   > Fixing Link to Step 2 of Installation Guide
   > Updating CHANGELOG for v0.6.2 release.
   > Merge branch 'master' into next
   > Merge pull request sorin-ionescu#452 from dritter/improve_travis_and_vms
   > Merge pull request sorin-ionescu#446 from dritter/fix_442
   > Merge pull request sorin-ionescu#449 from dritter/ordered_icons_list
   > nerdfont config: changing order, removing duplicates
   > Merge pull request sorin-ionescu#451 from lcorsini/next
   > iTerm2 debugger: changed error code, added Source Code Pro to fontcheck
   > Add warn message if XCode is not installed
   > Add iTerm2 debugging script
   > Add changelog entry for changed `ram` segment
   > Add missing changelog entry for font debugger (sorin-ionescu#433)
   > Merge branch 'Darkheir-next' into next
   > Merge branch 'master' into next
   > Merge pull request sorin-ionescu#433 from dritter/add_font_debugger
   > Merge pull request sorin-ionescu#426 from dritter/fix_changelog
   > Merge pull request sorin-ionescu#412 from dritter/truncate_composer_json
   > readme: adding note about `jq` installation
   > Add tests for `truncate_with_package_name` strategy of dir segment
   > Fix parsing package name from complex package.json files
   > Merge pull request sorin-ionescu#424 from dritter/add_freebsd_vm
   > unittest: fixing space after branch indicator
   > changelog: updating for v0.6.0 release
   > Fixing AWS icon for nerdfonts, fixing branch icon space.
   > Merge pull request sorin-ionescu#413 from davidmpaz/icon_by_repo
   > Update awesome-fontconfig SERVER_ICON to 
   > nerdfont: updating name for nerdfont selection
   > Merge branch 'nerdfont' of https://github.com/kaymmm/powerlevel9k into kaymmm-nerdfont
   > Added support for customizable context segment
   > Setting new `newline` flag to false as default.
   > Adding option POWERLEVEL9K_PROMPT_ADD_NEWLINE to create a blank line before each prompt
   > Adding a \n before prompt
   > README: cleaning up new `command_execution_time` segment docs
   > Add documentation for the `command_execution_time` segment
   > Merge branch 'next' into execution_time
   > Use GMT as timezone for `command_execution_time` segment
   > Refactor `command_execution_time` segment
   > Add tests for `command_execution_time` segment
   > Fix wrong variable name
   > Format command execution time human readable
   > Add documentation for `command_execution_time` segment
   > Reworked `command_execution_time` segment
   > Add `command_execution_time` segment
   > Merge pull request sorin-ionescu#395 from dritter/benoits_dir_writable_segment
   > Merge pull request sorin-ionescu#393 from dritter/fix_vanilla_prompt
   > Merge pull request sorin-ionescu#391 from dritter/simplify_public_ip
   > Merge pull request sorin-ionescu#387 from dritter/fix_truncate_with_package_name
   > Merge pull request sorin-ionescu#386 from dritter/fix_public_ip
   > Merge pull request sorin-ionescu#379 from dritter/fix_swift_segment
   > CHANGELOG: Updating to reflect work on `next`
   > README: fixing name of `detect-virt` to `detect_virt`
   > README: default segment list was no longer accurate
   > Merge pull request sorin-ionescu#378 from bhilburn/anion155-hdd-segment
   > Merge branch 'master' into next
   > Merge branch 'master' into next
   > Merge branch 'master' into next
   > Merge branch 'master' into next
   > Change powerlevel9k_init to prompt_powerlevel_setup
   > Merge pull request sorin-ionescu#376 from jshort/next
   > Merge pull request sorin-ionescu#368 from rjorgenson/public_ip_segment
   > Merge pull request sorin-ionescu#369 from rjorgenson/context_host_depth
   > Merge pull request sorin-ionescu#366 from rjorgenson/next
   > Merge pull request sorin-ionescu#360 from davidmpaz/icon_by_repo
   > Merge branch 'master' into next
   > Merge pull request sorin-ionescu#362 from shibumi/detect-virt-next
   > Merge pull request sorin-ionescu#347 from thomaspaulmann/swift
   > Merge pull request sorin-ionescu#346 from dritter/configurable_path_separators
   > Merge pull request sorin-ionescu#341 from rjorgenson/next
   > Merge branch 'master' into next
   > Merge pull request sorin-ionescu#332 from eviltak/show-ok-in-non-verbose-status
   > Merge branch 'master' into next
   > Merge branch 'master' into next
   > bugfix: typo in "POWERLEVEL9K" broke the VCS tag display
   > Improved speed of `prompt_vcs` by 50%-66%.
   > Removing `zle-*` overrides, appear fixed in new ZSH.
   > Merge pull request sorin-ionescu#309 from krischer/conda-prompt-changes
   > vcs: adding detection of unstaged / staged for svn repos
   > fixed svn-detect-changes().. the svn prompt has now the same behaviour as the git prompt..
   > swapped half and full dirty in svn-detect-changes
   > added svn hooks.. hope this works
   > added vi-svn-detect-changes() in functions/vcs.zsh
   > Enabling subversion support for the `vcs` segment.
   > Merge pull request sorin-ionescu#300 from andjscott/prompt_dir_shortening
   > Finally adding a license to powerlevel9k
   > Merge branch 'noverbose-battery' of https://github.com/dnmiller/powerlevel9k into nonverbose-battery
   > Merging ability to hide tags from VCS segment.
   > Merge branch 'next' of https://github.com/Xetius/powerlevel9k into xetius-vcs-hide-tags
   > Now printing a warning if $LANG is set incorrectly.
   > Merge branch 'master' into next
   > revise mac battery error when mac default date use linux's
   > Make prompt_custom not print the segment if empty
   > Merge pull request sorin-ionescu#282 from Mrngilles/new_python_icon
   > Merge pull request sorin-ionescu#275 from andjscott/prompt_dir_shortening
   > Merge pull request sorin-ionescu#276 from andjscott/package_name
   > Merge pull request sorin-ionescu#261 from wadkar/pyenv
   > Merge pull request sorin-ionescu#260 from thuandt/python-icon
   > Merge pull request sorin-ionescu#266 from dritter/264_fix_script_location
   > Merge pull request sorin-ionescu#256 from cbourgeois/next
   > Merge pull request sorin-ionescu#252 from rawkode/feature/better-battery-core-improvements
   > Changelog: Remove tag "next" for version 0.4.0
   > Changelog: Add a note about TravisCI
   > Changelog: Add a note about vcs untracked state
   > Changelog: Add a note about `rbenv` segment
   > Changelog: Add a note about `swap` segment
   > Changelog: Reformat; first changes then additions
   > Changelog: Reformat; first changes then additions
   > Changelog: Add entry about new `nodeenv` segment
   > Changelog: Fix name for docker_machine segment
   > Changelog: Add a note about the changed shorten delimiter
   > Changelog: Update headlines for better readability
   > Changelog: Add entry for new anaconda segment
   > Changelog: Add a note about obsolete variables
   > Making `anaconda` list item a link to full description.
   > Merge pull request sorin-ionescu#249 from jaermanx9/anaconda-segment
   > Merge pull request sorin-ionescu#247 from orhanbalci/next
   > Merge branch 'vcs-tag-display' into next
   > Catching up CHANGELOG with new segments.
   > Update CHANGELOG about new package.json shortening strategy
   > Merge pull request sorin-ionescu#229 from alexlafroscia/add-package-name-shortening-strategy
   > Merge pull request sorin-ionescu#242 from dritter/fix_actionformat_color
   > Merge pull request sorin-ionescu#230 from sabricot/docker_machine
   > Merge pull request sorin-ionescu#233 from wadkar/nvm_return_if_none
   > readme: more touchup to the segment list
   > readme: add horizontal bar
   > readme: code-as-links transition in segment list
   > readme: testing code-as-link in MD code
   > readme: re-organizing the segment list
   > Merge pull request sorin-ionescu#228 from wadkar/next_chruby_prompt
   > Fixing sorin-ionescu#217, also making the `actionformats` color configurable in VCS segment.
   > Merge branch 'master' into next. Fixes Symfony typo in README.
   > Merge pull request sorin-ionescu#221 from dritter/fix_vcs_test
   > Merge pull request sorin-ionescu#220 from dritter/rename_vcs_default_state
   > Merge pull request sorin-ionescu#219 from rmad17/nodeenv-support
   > Merge pull request sorin-ionescu#214 from dritter/fix_vcs_foreground_color
   > Merge pull request sorin-ionescu#216 from natemccurdy/issues/215
   > Reflect submodule status in VCS prompty by default.
   > README: Adding Travis-CI status to README
   > Merge pull request sorin-ionescu#212 from dritter/unit_testing
   > Merge pull request sorin-ionescu#211 from Falkor/feature/better_dirty_check
   > Merge pull request sorin-ionescu#208 from dritter/fix_joining
   > Pull PR sorin-ionescu#204 into `next`. Introduces new VCS state, `untracked`
   > Merge branch 'master' into next
   > Merge pull request sorin-ionescu#205 from dritter/dir_delimiter
   > Merge pull request sorin-ionescu#198 from dritter/vcs_customizable
   > Merge pull request sorin-ionescu#181 from dritter/split_up_ram_segment
   > Merge pull request sorin-ionescu#202 from dritter/join_conditional_segments

 * modules/prompt/external/powerline 8e81152...c48e4c6 (3):
   > Merge pull request sorin-ionescu#7 from Eriner/master
   > Merge pull request sorin-ionescu#6 from Eriner/master
   > Merge pull request sorin-ionescu#2 from TheZoc/patch-1

 * modules/prompt/external/pure 95e7fd7...a3b22b2 (73):
   > Prevent multiple prompt resets in one execution cycle (sorin-ionescu#368)
   > More thorough handling (hiding) of match results
   > Avoid implicit creation of global var prompt_pure_git_arrows
   > 1.6.0
   > Link to pure.zsh and async.zsh for better clarity (sorin-ionescu#358)
   > Readme tweaks
   > Link to a Pure-inspired prompt done in Rust
   > Avoid implicit global var creation and cleanup (sorin-ionescu#347)
   > Fix grammar in readme (sorin-ionescu#344)
   > Update oh-my-zsh instructions in readme
   > Remove extra $fpath from npm postinstall fail instructions
   > Simplify readme avatar URLs
   > Use glob instead of regex for dir matching (sorin-ionescu#328)
   > Simplify oh-my-zsh instructions, avoid confusion
   > Add support for python virtualenv (sorin-ionescu#325)
   > Change dirty check delay threshold from 2 to 5 secs (sorin-ionescu#326)
   > Remove deprecated clear-screen ZLE widget (sorin-ionescu#322)
   > Use pattern to matching newline, fix regex compile
   > Restore old virtualenv behavior by only modifying preprompt (sorin-ionescu#321)
   > Perform all git checks (vcs_info) asynchronously (sorin-ionescu#273)
   > Update prezto link and instructions in readme
   > Add `purer` fork to readme (sorin-ionescu#307)
   > 1.5.2
   > Ensure prompt_subst is unset when the expanded preprompt is stored (sorin-ionescu#305)
   > Parse git aliases for better pull/fetch detection (sorin-ionescu#289)
   > Link inside pure directory as npm install fallback (sorin-ionescu#285)
   > 1.5.1
   > Fix wrong assumption about promptinit in setup (sorin-ionescu#291)
   > 1.5.0
   > Check and set `prompt_opts` when not using `promptinit` (sorin-ionescu#277)
   > Check for git arrows asynchronously (sorin-ionescu#272)
   > Evaluate $PROMPT at render time (sorin-ionescu#274)
   > Update zsh-async to 1.5.0 (sorin-ionescu#271)
   > Disable interactive passwords in SSH for git fetch (sorin-ionescu#269)
   > Change prezto url to the active prezto repo (sorin-ionescu#268)
   > Simplify zplug instructions in readme (sorin-ionescu#267)
   > Change integration examples from commands to configuration lines (sorin-ionescu#265)
   > Add zplug install instructions (sorin-ionescu#261)
   > Readme improvements (sorin-ionescu#259)
   > Add install instructions for Zim (sorin-ionescu#262)
   > Add issue template (sorin-ionescu#260)
   > 1.4.1
   > Update zsh-async to fix issue with zsh 5.3
   > Mention intelfx/pure fork in readme (sorin-ionescu#247)
   > `HyperTerm` => `Hyper`
   > Restore prompt_subst setopt when rendering prompt (sorin-ionescu#231)
   > Update zsh-async to fix multi-space path bug
   > Use ; instead of && for promptinit (sorin-ionescu#227)
   > Prevent parameter expansion in preprompt
   > Revert "Fix double variable interpolation in branch name"
   > Fix double variable interpolation in branch name
   > Fix link to bash port (sorin-ionescu#219)
   > 1.4.0
   > Compare expanded preprompt when rendering (sorin-ionescu#214)
   > Update async.zsh (sorin-ionescu#218)
   > update screenshot
   > Correct link to Droid Sans Mono Font (sorin-ionescu#216)
   > Add async.zsh to the download step in the readme
   > Merge pull request sorin-ionescu#205 from fvargas/master
   > Merge pull request sorin-ionescu#204 from fvargas/master
   > Merge pull request sorin-ionescu#201 from fvargas/master
   > readme - mention that the git check is done asynchronously sorin-ionescu#187
   > Merge pull request sorin-ionescu#196 from sindresorhus/emacs-fixes
   > Clarify Prezto usage
   > Close sorin-ionescu#192 PR: Added `console` language where needed.
   > Merge pull request sorin-ionescu#186 from edouard-lopez/patch-1
   > Merge pull request sorin-ionescu#181 from caarlos0/patch-1
   > Merge pull request sorin-ionescu#178 from jedahan/master
   > Merge pull request sorin-ionescu#177 from veggiemonk/patch-1
   > Close sorin-ionescu#175 PR: Refresh pure screenshot.
   > 1.3.0
   > Update bundled zsh-async to 1.1.0
   > Close sorin-ionescu#171 PR: Attempt to detect user initiated git fetch. Fixes sorin-ionescu#162

 * modules/syntax-highlighting/external 44e5323...5e9b7c4 (367):
   > main: Add test for previous
   > main: Fix end of buffer check for path_prefix with non-null PREBUFFER
   > driver, main: Add -z to autoload calls
   > main: Mark ZSH_HIGHLIGHT_DIRS_BLACKLIST experimental
   > main: Add ZSH_HIGHLIGHT_DIRS_BLACKLIST
   > main: Move - to end of character class
   > main: Simplify for next commit; no functional change
   > regexp: Add test for subexpression match
   > tests: Directly diff expected_region_highlight against region_highlight
   > main: Test suffix aliases if zsh/parameter is available
   > main: Fix off by one errors in quote helper functions
   > main: Do not highlight for regions that end before the start of BUFFER
   > driver: Do not highlight newlines or past BUFFER for zle standout
   > driver: Replace eval with ${(P)
   > main: Update test for issue sorin-ionescu#501 XFAIL
   > tests: Escape newlines in TAP description
   > regexp: Add missing local for arrays match mbegin mend
   > 'main': Don't highlight bare '$foo' as a filename, as it's a parameter expansion.
   > main: Add XFAIL to redirections2 for process-substitution sorin-ionescu#494
   > 'main': Do not expand special parameters.  Fixes sorin-ionescu#489.
   > main: Highlight backticks in double quotes
   > main: Consolidate } handling
   > main: Add test for quotes in options
   > main: Highlight options as base_style
   > main: Correct typos
   > main: Only highlight characters special to globbing as globbing
   > main: Use =~ for globbing test
   > main: Only highlight one base_style in _highlight_arguments
   > main: Have helper functions return highlights in reply
   > main: Explicitly pass $style to _highlight_path_separators
   > 'main': Don't match redirection operators in command substitutions as <-> number range globs.  Fixes sorin-ionescu#483.
   > 'main': Add a regression test for issue sorin-ionescu#483, concerning «: $(<foo)».
   > 'main': Add an explicit test for escaped single quotes within single quotes, «'foo'\''bar'».
   > docs: main: Clarify back-quoted-argument, back-double-quoted-argument, back-dollar-quoted-argument, and assign.
   > docs: main: Add missing hyphens.
   > tests: Include the filename in error messages.
   > main: Highlight unclosed backtick subshells
   > 'main': Fix highlighting of «<->»-style numeric globs.
   > main: Highlight path after globbing checks
   > 'main': Add a regression test for issue sorin-ionescu#474.
   > Happy New Year 2017.
   > Bump copyright years.
   > main: Add *-quoted-argument-unclosed styles
   > 'main': Add a regression test for issue sorin-ionescu#468.
   > main: Add tests
   > main: Highlight partially quoted arguments correctly
   > main: Add ' helper function
   > main: Make " and $' helper functions responsible for highlighting quote
   > main: Remove trailing whitespace
   > main: A redirection token is an invalid redirection target
   > docs: Fix links; thanks @dukex for noticing
   > driver: Run under emulate -L zsh and add zsyh_user_options
   > tests: Avoid using new zmodload flags
   > tests: Skip when zsh/pcre is not available
   > 'main': Add tests for «ls \~» and for not performing parameter expansion on the command word.
   > main: Expand paths before removing quoting
   > main: Add fallback for useroptions if zsh/parameter is absent
   > Add regexp highlighter
   > noop: Add comments.
   > Followup to parents: Restore sudo-* tests on platforms that don't have sudo.
   > Followup to last: Don't require 'sudo' to test prefix redirections.
   > tests: Add skips for tests that require sudo
   > 'main': Highlight 'sudo' correctly when it's not installed.
   > docs: Point to repology for finding packages.
   > README: Fix typo.
   > brackets: Ignore quotes
   > main: Split declaration and assignment
   > main: Save user options in a single variable
   > 'main': Skip tests that break on msys2
   > tests: Add ability to skip tests
   > tests: Support SKIP directive in tap-colorizer
   > tests: Run tests with WARN_CREATE_GLOBAL
   > tests: Declare local variables
   > driver: Revert previous commit, unbreaking the build on zsh<5.0.8.
   > driver: Correctly escape assoc key pattern
   > tests: Run tests with NOUNSET
   > tests: Set ZLE variables to sane defaults
   > tests: Ensure region highlight is unset if NONE is expected
   > Default possibly unset variables to empty
   > tests: Use idiomatic set check
   > brackets: Use idiomatic set check
   > brackets: Disallow negative nesting level
   > brackets: Don't call _zsh_highlight_add_highlight with empty style
   > brackets: Add test for highlighting errors with no styles
   > driver: _zsh_highlight_bind_widgets: Be resilient to NO_UNSET being set in the calling scope.
   > docs: Add Void Linux link.
   > CI: customize IRC notifcation message
   > tests: Remove superfluous comment.
   > tests: run the most recent versions first
   > tests: add zsh 5.4.2
   > release.md: Make a little more copy-pasteable.
   > Post-release version number bump.
   > Tag version 0.6.0.
   > Tests: add zsh 5.4 and 5.4.1
   > sorin-ionescu#440: Identify the output.
   > sorin-ionescu#440: Make sure zsh's git hash is printed when testing against zsh master branch
   > sorin-ionescu#440: Fix minimum required Zsh version (4.3.11 instead of 4.3.17)
   > sorin-ionescu#440: Test on Zsh master and intermediate releases since 4.3.11
   > sorin-ionescu#440: docs: Remove the travis links from README during 'make install'.
   > sorin-ionescu#440: Make README more readable in source form.
   > sorin-ionescu#440: Setup IRC/gitter notifications
   > sorin-ionescu#440: Add build status badge
   > sorin-ionescu#440: Print zsh version before tests
   > sorin-ionescu#440: Fix Travis-CI configuration
   > sorin-ionescu#440: Add Travis-CI configuration
   > release.md: Correct 'git push' instructions.
   > Post-release version number bump.
   > Tag version 0.6.0-rc1.
   > release.md: Create annotated tags, fix markup.
   > changelog: Update through dea1fedc7358.
   > sorin-ionescu#419: Add links to OpenSUSE build service deb/rpm repositories
   > Merge remote-tracking branch 'upstream/pr/433'
   > changelog: Update through 5feed23962df.
   > docs: Unbreak Fedora link.
   > driver: Fix printing error message to file when cannot resolve highlighters directory location
   > driver: Workaround pattern isearch bug in zsh ≤ 5.3.1, already fixed upstream.
   > 'main': Highlight mismatched 'if'/'fi'.
   > driver: Improve «unhandled ZLE widget 'foo'» error message.
   > 'main': Don't consider «$*» a glob.
   > tests: zsh 5.4-to-be compatibility: Set a new "I am shooting myself in the foot" option.
   > driver: Fix duplicated slash in error message
   > docs: Update zplug install instruction
   > driver: Handle aliases that begin with a '+'
   > driver: Be immune to 'alias' having been redefined.
   > 'main': Highlight possible history expansions in double-quoted strings.
   > docs: Update Homebrew link.
   > driver: Be immune to weird aliases in the calling scope.
   > 'main': Fix highlighting of comments followed by non-comments (on a subsequent line).
   > 'main': Fix a bug concerning command word with embedded colon-space sequences.
   > Add FreeBSD port
   > Add Fedora package
   > changelog: Update for changes pulled out of 0.5.x.
   > Follow-up to 28d7056: Fix test expectations.
   > README: Set alt="" attributes.
   > README: Add a third image.
   > README: Add another image.
   > README: Use a more minimal example iamge.
   > README: Add before/after images
   > changelog: Update through 28d7056.
   > 'main': Escape '!' within double-quoted strings.
   > Post-branch version number bump.
   > changelog: Write `arg0` entry.
   > changelog: Markup tweak.
   > changelog: Add the last few entries.  One remains as a TODO.
   > release.md: Record the specific command I used.
   > changelog: Review.
   > changelog: Update through 0020f59.
   > changelog: Update through d37c55c.
   > changelog: Copyedit.
   > changelog: Update through cef4975.
   > changelog: Start 0.5.0 section.  Update through bc7f8ea.
   > 'main': Followup to fdaeec4: Update comment.
   > 'main': Introduce style fallback for the command word.
   > dev tools: Automagically handle newlines (\n) in $BUFFER.
   > tests: Also test arguments to an anonymous function.
   > Merge remote-tracking branch 'upstream/pr/374' into HEAD
   > 'main': Highlight several more special (non-alphabetic) parameters.
   > 'main': Highlight shell's PID ($$) inside double quotes.
   > 'main': Highlight command substitutions inside double quotes.
   > 'main': Permit subshells to end at command position.
   > 'main': Highlight mismatched foreach/end.
   > dev tools: Add a TODO to introduce code reuse.
   > 'main': Highlight mismatched do/done.
   > 'main': Yet another test for mismatched braces.
   > 'main' / *_check_path: Precompute $#BUFFER and use it for speed gain
   > dev tools: Remove a superfluous empty line.
   > 'main': Highlight 'always' blocks.
   > 'main': Don't find command positions within multiline array literals.
   > dev tools: Stage the copyright block to make diffs smaller.
   > dev tools: Tolerate invalid input.
   > 'main': Restore compatibility with zsh-4.3.14 and older (after e3182c18de8f).
   > dev tools: Automate a recurring step: Set year correctly for new tests.
   > 'main': Highlight first command word in named functions defined in the sh syntax when MULTI_FUNC_DEF is set.
   > 'main': More tests for mismstached parentheses and braces.
   > 'main': Highlight mismatched parentheses and braces.
   > driver: Warn just once when a highlighter is missing.
   > 'main': Support the IGNORE_BRACES option.
   > 'main': Add tests for the IGNORE_BRACES option.
   > 'main': Followup to 51614ca: Run cheaper conditions first.
   > 'brackets': Don't highlight corresponding bracket on accept-line
   > driver: Declare global variables
   > 'main': Avoid triggering a zsh bug related to hashed commands.
   > *: error messages: Fix quoting.
   > *: Change highlighters' namespace.
   > driver: Followup to 80148f6: don't squat on the highlighters' namespace.
   > driver: Followup to d711563: actually make the driver reentrant.
   > noop: Rewrap.
   > README: Add a reference to upstream's documentation.
   > README: Rephrase a question non-negatively^W neutrally.
   > noop: Add comments.
   > 'main': The word after 'sudo' is only a non-command word if it is an option.
   > 'main': Test for redirection earlier.
   > noop: Restructure code for clarity.
   > noop: Fix indentation.
   > driver: Followup to last: make the value more unique.
   > driver: Make it reentrant.
   > minor: Fix typo in development usage message.
   > driver: Enable highlighting during isearch under zsh≥5.3.
   > Merge remote-tracking branch 'danielsh/m0vie-i288-v2' (revised version of upstream/pr/288)
   > dev tools: Extend tests/generate.zsh.
   > dev tools: Add a script that generates a test-data file.
   > 'main': Enable test for issue sorin-ionescu#238.
   > 'main': Add test for issue sorin-ionescu#343, concerning the 'command' precommand.
   > 'main': Highlight a broken symlink as a file.
   > 'main': New test, related to issue sorin-ionescu#328.
   > *: s/echo/print/
   > docs: Minor tweak.
   > docs: State highlighters' designated namespace.
   > docs: s/myhighlighter/acme/g
   > driver: Change a variable name to avoid squatting the highlighters' namespace.
   > 'main': Support vi linewise region (REGION_ACTIVE == 2).
   > driver: Widget binding: Use ${(k)widgets} instead of $(zle -la)
   > 'main': Document _pathseparator styles
   > 'main': Path separators: Leave styles empty by default
   > driver: Stop requiring function_argzero.
   > 'main': simple parameter expansions at command word: Don't use an undefined value.
   > 'main': Add missing arguments.
   > 'main': Try the "non-command word" codepath when a word may be either a command word or a non-command word.
   > dev docs: Document a useful tab completion setting.
   > minor: Fix typo in comment.
   > 'main': Fix issue sorin-ionescu#290, «Mishighlights "longloops" 'repeat'».
   > minor: tests: Formatting tweak to XPASS output.
   > 'main': Add XFail test for issue sorin-ionescu#330, concerning command word after array assignment.
   > 'main': Highlight scalar assignments to argv
   > tests: Explicitly test 'default' style inside an array assignment.
   > minor: 'main': Only search for prefixes if :h is a directory
   > 'main': Internal cleanup: drop $style_override.
   > 'main': Highlight path separators
   > 'main': Implement simple command type cache
   > 'main': Use zsh/parameter instead of type -w
   > 'main': Support multiple styles in _zsh_highlight_main_add_region_highlight
   > minor: tests: Add comment for NONE in expected_region_highlight
   > docs: Give example of test that modifies its environment
   > docs: Mention `$BUFFER`
   > docs: Document use of NONE in expected_region_highlight
   > docs: Document writing tests
   > tests: Fail on stderr output
   > Merge part of PR sorin-ionescu#298
   > Bump copyright years.
   > Merge remote-tracking branch 'upstream/pr/308' into HEAD
   > docs: Namespace highlighters' styles.
   > 'main': Don't leak the PATH_DIRS options.
   > 'main': 2nd optimization that in my tests shows 2.2s -> 2.0s
   > Merge remote-tracking branch 'upstream/pr/315' into HEAD
   > docs: Honour $ZDOTDIR in code examples.
   > docs: Simplify/clarify installation instructions.
   > tests: New test to capture off-by-ones.
   > 'brackets': Fix for one-based indexing
   > docs: Added style key prefix convention
   > driver: Track rename of an unreleased upstream API.
   > docs: Document installation with other plugin managers
   > dev docs: Document testing quirks
   > tests: Add tests for 'brackets' and 'pattern'
   > tests: Followup to last: echo(1) is evil.
   > minor: tests: Quote $BUFFER differently on output.
   > tests: TAP support: Emit a 'description' for all test points
   > minor: tests: Introduce a local variable. No functional change.
   > minor: tests: Tighten up local variable scope.
   > tests: TAP compliance: Do not emit literal '#' in the 'description' part
   > tests: Followup to fd061b5: quote both expected and actual output.
   > 'brackets': Allow unset ZSH_HIGHLIGHT_STYLES
   > tests: Set ZSH_HIGHLIGHT_STYLES=() during tests
   > tests: Remove unused_highlight
   > tests: Test ZSH_HIGHLIGHT_STYLES keys directly
   > brackets: Fix bug introduced in 95d8256
   > 'brackets': Check if brackets match on first pass
   > 'brackets': Use one-based indexing
   > 'brackets': Move highlight call outside conditional
   > 'brackets': Lift local declarations from inside loops
   > dev docs: Create HACKING.md.
   > minor: Rewrap docs for uncompiled readability.
   > tests: Use 'NONE' to denote no highlighting
   > docs: highlighters should use _zsh_highlight_add_highlight
   > Bump copyright years.
   > highlighters: Use _zsh_highlight_add_highlight
   > highlighters: Pass around the style key instead of the style itself
   > tests: Specify the style key instead of the style itself
   > cleanup: Avoid colon after parameter expansion to avoid risking introducing a colon modifier.
   > root-highlighter: use EUID instead of id -u command
   > brackets: Optimize a tiny bit.
   > plugin.zsh: Convert from symlink to plain file
   > release.md: Add a release checklist line item.
   > tests: Expect the correct style
   > tests: Quote style in expected_region_highlight
   > tests: Fix grep syntax
   > apply suffix and isearch zle_highlights on top
   > 'main': Restore support for zsh-4.3.10 and older.
   > widget binding: Fix crucial typo in last commit.
   > widget binding: Further unbreak the build.
   > widget binding: Properly escape widget names at definition.
   > noop: Remove stray statement terminators and line joiners.
   > widget binding: Unbreak the build.
   > widget binding: Remove an unnecessary layer of indirection.
   > Refactor the application of zle_highlight settings
   > 'main': Highlight lone '!' correctly: it's not a history expansion.
   > docs: Clarify oh-my-zsh installation instructions.
   > widget binding: Remove some too-wide exclusions
   > docs: use https:// instead of git://
   > 'main': Don't highlight in vared
   > Merge pull request sorin-ionescu#272 from psprint/master
   > changelog: Update for upcoming 0.4.1 release.
   > Version number bump.
   > 'main': Don't highlight at the $PS3 prompt.
   > test harness: Properly quote error message interpolations.
   > Revert "wrapping: Don't add '--' when invoking widgets."
   > aliases: Highlight aliases with '=' in their LHS as error.  (Part of issue sorin-ionescu#263.)
   > aliases: Add a test for one variant of issue sorin-ionescu#263.
   > tests: Add a 'print failures only' mode to 'make test', called 'make quiet-test'.
   > tests: Add another comment.  No functional change.
   > tests: Add a comment.  No functional change.
   > docs: Note that Debian package has migrated to (been added to) Debian stretch.
   > docs: Note Debian package name.
   > Fix issue sorin-ionescu#248: Highlight 'pkexec' as a precommand.
   > Fix part of issue sorin-ionescu#238, "fd redirections at command word".
   > tests: Add two XFail tests for issue sorin-ionescu#238, "fd redirections at command word".
   > tests: Cover [default].
   > tests: Improve tests by using $unused_highlight.
   > command word: Do not attempt to interpret command separator tokens as anything else.
   > changelog: Start 0.4.1 section.
   > release.md: Clarify release procedure.
   > Post-release version number bump.
   > Tag version 0.4.0.
   > changelog: Update through HEAD (952a97d).
   > docs: Tweaks to highlighters.md after recent refactoring branch.
   > docs; INSTALL.md: Make 'system-wide' section easier to read.
   > docs: INSTALL.md: Streamling .zshrc installation instructions.
   > docs: Minor clarifications.
   > versionstamp: Better $ZSH_HIGHLIGHT_REVISION reporting when running from git.
   > driver: Fix error message wording
   > docs: Grammar fix.
   > docs: Port new text to individual highlighters' documentation.
   > docs: Follow-up to last: Fix markup.
   > docs: Clarify highlighters documentation.
   > docs: Split README.md into INSTALL.md.
   > docs: Fix broken symlinks
   > Merge remote-tracking branch 'phy1729/doc-all'
   > Merge remote-tracking branch 'danielsh/docs-copyedit-v1'
   > 'make perf': Unbreak by porting over 'make test' harness changes.
   > 'main': Fix state check.
   > changelog: Update through HEAD (1933de8).
   > 'make install': Remove +x permission from installed library and documntation files.
   > 'make install': Unbreak PREFIX=~/foo usage.
   > Support the '|&', '&!', '&|' command separators.
   > noop: Consolidate two identical conditionals.
   > internal: Document the ':regular' state.
   > docs: 'main': Improve styles documentation.
   > 'make perf': Designate this target as '.PHONY'.
   > minor: docs: Improve dollar-double-quoted-argument documentation.
   > docs: Clarify 'create a new highlighter' documentation.
   > Fix issue sorin-ionescu#219: install documentation fully and properly.
   > Drop unnecessary shebang lines.
   > Fix copyright year.
   > Highlight parameter expansions that are a command word.
   > noop: Break out a helper function.
   > tests: Tweak the isolation wrapper for style and robustness.
   > driver: Tolerate KSH_ARRAYS being set in the calling context.
   > dollar-double-quoted-argument: Support the syntax «"${foo}"».  (Issue sorin-ionescu#186.)
   > tests: Add an XFail test for highlighting «"${foo}"».  (Issue sorin-ionescu#186.)
   > cursor: Remove cursor highlighting when accepting a line.
   > Fix issue sorin-ionescu#228, "Support the PATH_DIRS option".
   > tests: Add an XFail test for issue sorin-ionescu#228, "Support the PATH_DIRS option".
   > minor: Rename a test file to a not-escape-needing name.
   > tests: Provide an independent, auto-cleaned working directory to each test.
   > tests: Document test isolation, implemented some time ago.
   > 'make install': Allow setting $(SHARE_DIR).
   > Add an XFail test for issue sorin-ionescu#231, "Assignment terminating subshell flags closing parenthesis as an error".
   > brackets: Highlight closing ')' of array assignments correctly.  (Issue sorin-ionescu#226.)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants